Get-help - The first PowerShell cmdlet every administrator should learn is Get-Help. You can use this command to get help with any other command. Forexample, if you want to know how the Get-Process command works, you cantype: Get-Help -Name Get-Process and Windows will display the full commandsyntax. Set-ExecutionPolicy Restricted — Restricted is the default execution policy and locks PowerShelldown so that commands can be entered only interactively. PowerShell scriptsare not allowed to run. All Signed — If the execution policy is set to All Signed then scripts will beallowed to run, but only if they are signed by a trusted publisher. Remote Signed — If the execution policy is set to Remote Signed, anyPowerShell scripts that have been locally created will be allowed to run. Scriptscreated remotely are allowed to run only if they are signed by a trustedpublisher. Unrestricted — As the name implies, Unrestricted removes all restrictionsfrom the execution policy.
Get-ExcutionPolicy If you’re working on an unfamiliar server, you’ll need toknow what execution policy is in use before you attemptto run a script. You can find out by using the Get-ExecutionPolicy command. Get-service The Get-Service command provides a list of all of theservices that are installed on the system. If you areinterested in a specific service you can append the -Name switch and the name of the service (wildcards arepermitted) When you do, Windows will show you theservice’s state.
ConvertTo-HTML PowerShell can provide a wealth of information about the system, butsometimes you need to do more than just view the information onscreen.Sometimes, it’s helpful to create a report you can send to someone. One way ofaccomplishing this is by using the ConvertTo-HTML command. To use this command, simply pipe the output from another command into theConvertTo-HTML command. You will have to use the -Property switch tocontrol which output properties are included in the HTML file and you willhave to provide a filename. Get-Service | ConvertTo-HTML -Property Name, Status > C:services.htm Export-CSV Just as you can create an HTML report based on PowerShell data, you can alsoexport data from PowerShell into a CSV file that you can open using MicrosoftExcel. The syntax is similar to that of converting a command’s output to HTML.At a minimum, you must provide an output filename. For example, to exportthe list of system services to a CSV file, you could use the following command: Get-Service | Export-CSV c:service.csv
Select-Object If you tried using the command above, you know that there werenumerous properties included in the CSV file. It’s often helpful tonarrow things down by including only the properties you are reallyinterested in. This is where the Select-Object command comes intoplay. The Select-Object command allows you to specify specificproperties for inclusion. For example, to create a CSV file containingthe name of each system service and its status, you could use thefollowing command: Get-Service | Select-Object Name, Status | Export-CSV c:service.csv Get-EventLog You can actually use PowerShell to parse your computer’s event logs.There are several parameters available, but you can try out thecommand by simply providing the -Log switch followed by the name ofthe log file. For example, to see the Application log, you could use thefollowing command: Get-EventLog -Log "Application"
Get-Process Just as you can use the Get-Service command to display a listof all of the system services, you can use the Get-Processcommand to display a list of all of the processes that arecurrently running on the system. Stop-Process Sometimes, a process will freeze up. When this happens, youcan use the Get-Process command to get the name or theprocess ID for the process that has stopped responding. Youcan then terminate the process by using the Stop-Processcommand. You can terminate a process based on its name oron its process ID. For example, you could terminate Notepadby using one of the following commands: Stop-Process -Name notepad Stop-Process -ID 2668
Search-ADAccount -PasswordNeverExpires | FTName, ObjectClass, UserPrincipalName Show user accounts with a non-expiring password Get-AdUser -Filter * -Properties OfficePhone | FTOfficePhone,UserPrincipalName Display the phone number values for all user accounts Psdrive Shows all connected drives, local and network
Remember that to run scripts you need to beauthorized to do so: Get-ExcutionPolicy Set-ExecutionPolicy unrestricted Allows you to run anything once you know the currentexecution policy, and how to set it to run your script Running your script is all about syntax & "C:My ScriptsTest.ps1“ If there is a space in the directory name, must be in quotes & tells the script to run PS1 is for Power Shell 1 – a good naming convention to knowwhat version of powershell you were running when it wasmade
PipesPipes are used tostring commandstogetherGet-Service | Sort-Object Status |Format-TableWill give you a handytable of all theservices running, bystatus, and in a nicelyformatted table
Nice list of services, but now I want them as a CSV, sowhat do I type? Get-Service | Sort-Object Status | Format-Table |export-CSV c:service.csv Try it Did you get this?
Did I have permission to write to the C:? Did I make an error in syntax? What happens if I try to write it to my own homedirectory? get-service | sort-object Status | format-table | export-CSV "c:usersdmorrillMy documentsservices.csv"
Permissions on where you can write files Permissions on what can run when writing aPowerShell Script Permissions on Directories Your permissions when accessing remote services likeActive Directory (who you are running the script as) All of these can keep a script from executing at all, orerring out when we try to execute the file
Using powershell Get a list of running services (screen cap) Get a list of running services formatted as a table (screencap) Get a list of running services formatted as a table andoutput as a CSV file Get a list of running services formatted as a table andoutput as a HTML file Zip all the files (2 images, 1 CSV, and 1 HTML file) andupload to Angel