you did what with powershell?! - sqlmusings.com did what with powershell?! read my blog...

23
You did what with PowerShell?! read my blog sqlmusings.com follow me on twitter @sqlbelle contact me [email protected] 1

Upload: dotram

Post on 28-Apr-2018

220 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: You did what with PowerShell?! - sqlmusings.com did what with PowerShell?! read my blog sqlmusings.com follow me on twitter @sqlbelle contact me donabel.santos@queryworks.ca 1

You did what with PowerShell?!

read my blog sqlmusings.com follow me on twitter @sqlbelle contact me [email protected]

Page 2: You did what with PowerShell?! - sqlmusings.com did what with PowerShell?! read my blog sqlmusings.com follow me on twitter @sqlbelle contact me donabel.santos@queryworks.ca 1

whoami? aka shameless plugs

� Donabel Santos

� SQL Geek (I love SQL Server!), PowerShell enthusiast

� Principal, QueryWorks Solutions� Training, Consulting

� Instructor, BC Institute of Technology

� Blogger – sqlmusings.com

� Tweep – @sqlbelle

� Author – some articles + upcoming PowerShell/SQL Server book

read my blog sqlmusings.com follow me on twitter @sqlbelle contact me [email protected]

Page 3: You did what with PowerShell?! - sqlmusings.com did what with PowerShell?! read my blog sqlmusings.com follow me on twitter @sqlbelle contact me donabel.santos@queryworks.ca 1

Materials

� Presentation materials will be at my blog

� http://www.sqlmusings.com

� Demo files

� Slides

� Questions? Comments? Email me

[email protected]

read my blog sqlmusings.com follow me on twitter @sqlbelle contact me [email protected]

Page 4: You did what with PowerShell?! - sqlmusings.com did what with PowerShell?! read my blog sqlmusings.com follow me on twitter @sqlbelle contact me donabel.santos@queryworks.ca 1

Agenda

� Basics/Refresher

� PowerShell V3

� PowerShell and SQL Server

� Administration

� Development

� BI-related

read my blog sqlmusings.com follow me on twitter @sqlbelle contact me [email protected]

Page 5: You did what with PowerShell?! - sqlmusings.com did what with PowerShell?! read my blog sqlmusings.com follow me on twitter @sqlbelle contact me donabel.santos@queryworks.ca 1

POSH REFRESHER

Page 6: You did what with PowerShell?! - sqlmusings.com did what with PowerShell?! read my blog sqlmusings.com follow me on twitter @sqlbelle contact me donabel.santos@queryworks.ca 1

What is PowerShell?

� Extensible command line shell + scripting language� Can create functions, cmdlets, modules

� Object-Oriented� .NET Based

� Allows you to utilize .NET libraries

� Why?� Automation

� What to remember� “Just” another tool� May be the best for some tasks, may not be the best for

others� “Use the hammer with nails. Don’t use it as a shovel”

read my blog sqlmusings.com follow me on twitter @sqlbelle contact me [email protected]

Page 7: You did what with PowerShell?! - sqlmusings.com did what with PowerShell?! read my blog sqlmusings.com follow me on twitter @sqlbelle contact me donabel.santos@queryworks.ca 1

Refresher: PoSH Basics

� Case Insensitive� Variables start with a dollar sign ($)� Comments start with a hash sign (#)� Escape characters are backticks (`)� Many tasks are accomplished by cmdlets

� Action-Noun building blocks of PowerShell

� Results can be piped (|) � Filter left, format right

� Can natively export to text file, CSV, XML, HTML� Before running your script, Set-ExecutionPolicy

RemoteSigned

read my blog sqlmusings.com follow me on twitter @sqlbelle contact me [email protected]

Page 8: You did what with PowerShell?! - sqlmusings.com did what with PowerShell?! read my blog sqlmusings.com follow me on twitter @sqlbelle contact me donabel.santos@queryworks.ca 1

Teaser Script

#import SQL Server module

Import-Module SQLPS -DisableNameChecking;

$instanceName = "KERRIGAN";

$server = New-Object `

-TypeNameMicrosoft.SqlServer.Management.Smo.Server `

-ArgumentList $instanceName;

#display days ago since last backup

$server.Databases | `

Select Name, RecoveryModel, LastBackupDate, `

LastDifferentialBackupDate, LastLogBackupDate | `

Format-Table -AutoSize

read my blog sqlmusings.com follow me on twitter @sqlbelle contact me [email protected]

Page 9: You did what with PowerShell?! - sqlmusings.com did what with PowerShell?! read my blog sqlmusings.com follow me on twitter @sqlbelle contact me donabel.santos@queryworks.ca 1

Learning PoSH for the young Jedi

Get-Help Get-Command -Detailed

Get-Command "*Event*" -CommandType "Cmdlet" | `

Select Name

$failed = Get-EventLog -LogName "Security" | `

Where {$_.Message -like "*failed*"}

$failed | Get-Member

read my blog sqlmusings.com follow me on twitter @sqlbelle contact me [email protected]

Page 10: You did what with PowerShell?! - sqlmusings.com did what with PowerShell?! read my blog sqlmusings.com follow me on twitter @sqlbelle contact me donabel.santos@queryworks.ca 1

POSH V3 GOODNESS

Page 11: You did what with PowerShell?! - sqlmusings.com did what with PowerShell?! read my blog sqlmusings.com follow me on twitter @sqlbelle contact me donabel.santos@queryworks.ca 1

PowerShell V3 (CTP) ISE tour

read my blog sqlmusings.com follow me on twitter @sqlbelle contact me [email protected]

Page 12: You did what with PowerShell?! - sqlmusings.com did what with PowerShell?! read my blog sqlmusings.com follow me on twitter @sqlbelle contact me donabel.santos@queryworks.ca 1

POSH AND SQL SERVER

Page 13: You did what with PowerShell?! - sqlmusings.com did what with PowerShell?! read my blog sqlmusings.com follow me on twitter @sqlbelle contact me donabel.santos@queryworks.ca 1

SQL Server 2008 and PowerShell V2

� Mini Shell� Limited, pre-packaged PowerShell for SQL

Server

� Accessible from SSMS

� SMO� SQL Server Management Objects

� No getting away from SMO … yet

� Not a lot of SQL Server cmdlets, but can still get things done

� Snapins/Modules

read my blog sqlmusings.com follow me on twitter @sqlbelle contact me [email protected]

Page 14: You did what with PowerShell?! - sqlmusings.com did what with PowerShell?! read my blog sqlmusings.com follow me on twitter @sqlbelle contact me donabel.santos@queryworks.ca 1

To get full SQLPS functionality in Shell

PoSH V2 + SQL Server 2008/R2

Get-PSSnapin -registered

Add-PSSnapin SqlServerCmdletSnapin

Add-PSSnapin SqlServerProviderSnapin

PoSH V3 + SQL Server 2012

Import-Module SQLPS -DisableNameChecking

read my blog sqlmusings.com follow me on twitter @sqlbelle contact me [email protected]

Page 15: You did what with PowerShell?! - sqlmusings.com did what with PowerShell?! read my blog sqlmusings.com follow me on twitter @sqlbelle contact me donabel.santos@queryworks.ca 1

SMO Object Model (MSDN)

read my blog sqlmusings.com follow me on twitter @sqlbelle contact me [email protected]

http://msdn.microsoft.com/en-us/library/ms162209.aspx

Page 16: You did what with PowerShell?! - sqlmusings.com did what with PowerShell?! read my blog sqlmusings.com follow me on twitter @sqlbelle contact me donabel.santos@queryworks.ca 1

ARE WE THERE YET?

Demo Time!!!

Page 17: You did what with PowerShell?! - sqlmusings.com did what with PowerShell?! read my blog sqlmusings.com follow me on twitter @sqlbelle contact me donabel.santos@queryworks.ca 1

Administration

� Get Server Inventory

� Script Database Objects

� Add Logins and Users

� Display Error Logs

� Perform Backup/Restore

� “Old” way (V1, V2)

� “New” way (V3)

read my blog sqlmusings.com follow me on twitter @sqlbelle contact me [email protected]

Page 18: You did what with PowerShell?! - sqlmusings.com did what with PowerShell?! read my blog sqlmusings.com follow me on twitter @sqlbelle contact me donabel.santos@queryworks.ca 1

Development

� Insert BLOB

� Retrieve BLOB

� Insert XML

� Retrieve XML

read my blog sqlmusings.com follow me on twitter @sqlbelle contact me [email protected]

Page 19: You did what with PowerShell?! - sqlmusings.com did what with PowerShell?! read my blog sqlmusings.com follow me on twitter @sqlbelle contact me donabel.santos@queryworks.ca 1

BI-related

� Deploy Data Source

� Create SSRS Folder

� Deploy RDL files

� Download all RDL files

� Download Reports as PDF

� Deploy SSIS package file (dtsx)

read my blog sqlmusings.com follow me on twitter @sqlbelle contact me [email protected]

Page 20: You did what with PowerShell?! - sqlmusings.com did what with PowerShell?! read my blog sqlmusings.com follow me on twitter @sqlbelle contact me donabel.santos@queryworks.ca 1

For the Nosy

� Demo on a little bit of sleuthing …

Page 21: You did what with PowerShell?! - sqlmusings.com did what with PowerShell?! read my blog sqlmusings.com follow me on twitter @sqlbelle contact me donabel.santos@queryworks.ca 1

PowerShell Resources

� PowerShell.com

� http://powershell.com

� PowerShell Tip of the Day

� http://powershell.com/cs/blogs/tips/

� Free PowerShell Ebook – really good!

� http://powershell.com/Mastering-PowerShell.pdf

read my blog sqlmusings.com follow me on twitter @sqlbelle contact me [email protected]

Page 22: You did what with PowerShell?! - sqlmusings.com did what with PowerShell?! read my blog sqlmusings.com follow me on twitter @sqlbelle contact me donabel.santos@queryworks.ca 1

PowerShell Books

� PowerShell and SQL Server Books� SQL Server 2012 and PowerShell V3 Cookbook by Donabel

Santos (summer 2012)� Yes, shameless plug I know

� Microsoft SQL Server 2008 Administration with Windows PowerShell by MAK and Yan Pan

� PowerShell Books� PowerShell in Action by Bruce Payette� PowerShell in a Month of Lunches by Don Jones� PowerShell TFM by Don Jones� PowerShell in Practice by Richard Siddaway� PowerShell In Depth (MEAP) by Don Jones, Bruce Payette and

Richard Siddaway

read my blog sqlmusings.com follow me on twitter @sqlbelle contact me [email protected]

Page 23: You did what with PowerShell?! - sqlmusings.com did what with PowerShell?! read my blog sqlmusings.com follow me on twitter @sqlbelle contact me donabel.santos@queryworks.ca 1

THANK YOU!

Presentation materials will be at my blog

http://www.sqlmusings.com

Demo files

Slides

Cheatsheets

Questions? Comments? Email me

[email protected]