190 likes | 230 Views
Introduction to PowerShell. Brian Button VP Engineering Asynchrony Solutions, Inc brian.button@asolutions.com http://oneagilecoder.asolutions.com. Just the other day…. Failure!!!. SQL Server failed to install and uninstall What to do??? MSDN says:
E N D
Introduction to PowerShell Brian Button VP Engineering Asynchrony Solutions, Inc brian.button@asolutions.com http://oneagilecoder.asolutions.com
Failure!!! SQL Server failed to install and uninstall What to do??? MSDN says: Regedit HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall For each GUID found, Examine DisplayName searching for match of ‘SQL Server’ Manually uninstall it Maybe there was a better way!
What is PowerShell New Scripting language Same, but different! In Vista, then unbundled Separate download General purpose programming language
Basic Tour Shell prompt Cmdlets Pipes .Net objects PSDrives Help system
5 key commands Get-Help Get-Command Get-Member Get-Psdrive Format-List
Let’s build something Removing all bin and obj folders from project Find all IDisposable classes in assembly
Powershell as a programming language General purpose programming language File extension PS1 Example: Reformat.PS1
Extending Powershell Custom Cmdlets and PSSnapins Written in C# or VB.Net Functions, Filters, Aliases Written in powershell Adding methods, properties to existing types Written in XML, powershell Add-member
Extending Powershell in C#/VB.Net Create Custom cmdlet Create PSSnapin to install Great tutorial at http://blogs.msdn.com/daiken/archive/2007/02/07/creating-a-windows-powershell-cmdlet-using-the-visual-studio-windows-powershell-templates.aspx [Cmdlet(VerbsCommon.Get, "Proc")] public class GetProcCommand : Cmdlet { }
Extending Powershell natively Functions function to_uppercase { param([string]$first) $first.ToUpper() } At command line or in user profile
Extending Powershell natively Aliases – make commands easier to use set-alias, new-alias, get-alias Alias gal Get-Alias Alias gc Get-Content Alias gci Get-ChildItem Alias gcm Get-Command Alias gdr Get-PSDrive
Customizing Powershell User profile $profile Get-Executionpolicy Like .profile or .login in Linux Invoked for every new shell Sets up functions, aliases, etc
Why learn Powershell Automate repetitive tasks Share knowledge with others It’s the Microsoft Way…
Controlling Windows through Scripts Complaints for years about GUI-only config In Unix/Linux forever MS making admin tasks powershell-scriptable Exchange SQL Server IIS 7 More
Resources Download powershell through Microsoft.com Videos http://channel9.msdn.com/Media/?TagID=163 Blogs http://blogs.msdn.com/powershell http://thepowershellguy.com http://keithhill.spaces.live.com http://www.leeholmes.com/blog
More resources Books Powershell in Action, Bruce Payette Professional Windows Powershell, Andrew Watt Windows Powershell Cookbook, Lee Holmes Community projects 21 projects on http://www.codeplex.com
Q & A Slides posted at http://oneagilecoder.asolutions.com Email questions to brian.button@asolutions.com