270 likes | 297 Views
MS WINDOWS POWER SHELL. CSE 535 Operating Systems. What is Power Shell. PowerShell is Microsoft Windows ’ object-oriented programming language interactive command line shell PowerShell designed to automate system tasks : such as batch processing create systems management tools
E N D
MS WINDOWS POWER SHELL CSE 535 Operating Systems
What is Power Shell • PowerShell isMicrosoft Windows’ • object-oriented programming language • interactive command line shell • PowerShell designed to • automate system tasks: • such as batch processing • create systems management tools • for commonly implemented processes
What is it for? • The PowerShell language is similar to Perl. • PowerShell includes • more than 130 standard command line tools • for functions that formerly required users • to create scripts in VB, VBScript or C#.
Where to Download? • http://www.microsoft.com/downloads/details.aspx?FamilyID=50633a1f-a665-425d-923c-1a269f8ac084&displayLang=en
Windows PowerShellCmdlet • Cmdlet (or Command-let) • which .NET objects can be accessed • from the command line. • A Cmdlet name consists of two elements: • a verb and a noun • Example: • one of the most useful Cmdlets: • Get-help
Automating Tasks • PowerShell offers ways • to automate tasks: • Cmdlets: • very small .NET classes • appear as system commands • Scripts: • combinations of cmdlets and associated logic. • Executables: • standalone tools • Instantiation of standard .NET classes.
Integrating with .NET • PowerShell • integrates with the .NET environment • Can be embedded within other applications. • Over a hundred cmdlets are included • to be used separately • or combined with others • to automate more complex tasks • Users can • also create and share cmdlets.
Abbreviations for Cmdlets • there are abbreviations • for some of the Cmdlets, for example: Get-Process • Can also be typed as: ps
Linux-similar Cmdlets • “ps” • is command familiar to Linux users • as the command • to view details about currentlyrunning processes. • there are a number of • other Linux-PowerShell parallels: • “man” is the same as “Get-Help –detailed” • “ls” is the same as “Get-ChildItem” • “pwd” is the same as “Get-Location”
Understanding Aliases • PowerShell commands are usually long. • example: Get-ChildItem. • However, PowerShell has aliases. • Example: • “dir” is the same as “Get-ChildItem” get-alias get-alias dir
Obtaining PowerShell • PowerShell is installed • in Windows Server 2008 • is also part of Windows 7, • it does not come ready loaded with XP or Vista!
Running PowerShell • Once PowerShell has been installed • then it can be run in two ways: • Click on “Start”, “Run” • and then type in “powershell” • Start a new command prompt • and then type in “powershell” • the user can start using • the PowerShell commands.
Cmdl: ps • One very useful Cmdlet is ps • or get-process • lists the currently running processes • the number of memory page (frame)s • the percentage of processor usage
Pipe and Sort • The list is sorted alphabetically • according to the process name. • You can sort WS field • According to the memory usage • To do this the user • “pipes” the output of ps • to a second Cmdlet “sort-object” ps | sort-object WS –descending
Filtering & Splitting the Commands • User can filter that • the “powershell” not to be seen in output • Add a filter • piped Cmdlets can be • split over multiple lines: ps |where-object –FilterScript {$_.processname -ne "powershell"} |sort-object WS –descending
To concatenation symbol • Theconcatenation symbol (>) • will send the result output file • after the information has been converted to HTML • so that it can then be viewed in a web browser: ps | where-object -FilterScript {$_.processname -ne "powershell"} | sort-object WS –descending | convertto-html -property Name, WS > ps.html
Find all the processes on a computer that started today Get-Process | Where {$_.starttime -ge [datetime]::today}
Find the processes that use more than 1000 MB of memory and kill them get-process | where-object { $_.WS -gt 1000MB } | stop-process -whatif
Calculate the number of bytes in the files in a directory get-childitem | measure-object -property length -sum
Defining Variables PS C:\> $a = 5 PS C:\> $a 5 PS C:\>
Determine Variable PS C:\> $a.GetType()
Piped Commands dir | sort LastWriteTime | more
PS C:\WINDOWS> $a = dir | sort LastWriteTime PS C:\WINDOWS> $a[0] PS C:\WINDOWS> $a[1]