14
CIS 216 Highline Community College Dan Morrill Windows Power Shell Basics

Windows power shell basics

Embed Size (px)

DESCRIPTION

Overview of Windows Powershell for my class

Citation preview

Page 1: Windows power shell basics

CIS 216

Highline Community College

Dan Morrill

Windows Power Shell Basics

Page 2: Windows power shell basics

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. For example, if you want to know how the Get-Process command works, you can type: Get-Help -Name Get-Process and Windows will display the full command

syntax. Set-ExecutionPolicy

Restricted — Restricted is the default execution policy and locks PowerShell down so that commands can be entered only interactively. PowerShell scripts are not allowed to run.

All Signed — If the execution policy is set to All Signed then scripts will be allowed to run, but only if they are signed by a trusted publisher.

Remote Signed — If the execution policy is set to Remote Signed, any PowerShell scripts that have been locally created will be allowed to run. Scripts created remotely are allowed to run only if they are signed by a trusted publisher.

Unrestricted — As the name implies, Unrestricted removes all restrictions from the execution policy.

10 Basic Commands

Page 3: Windows power shell basics

Get-ExcutionPolicy If you’re working on an unfamiliar server, you’ll

need to know what execution policy is in use before you attempt to run a script. You can find out by using the Get-ExecutionPolicy command.

Get-serviceThe Get-Service command provides a list of all

of the services that are installed on the system. If you are interested in a specific service you can append the -Name switch and the name of the service (wildcards are permitted) When you do, Windows will show you the service’s state.

10 Basic Commands

Page 4: Windows power shell basics

ConvertTo-HTML PowerShell can provide a wealth of information about the system, but

sometimes 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 of accomplishing this is by using the ConvertTo-HTML command.

To use this command, simply pipe the output from another command into the ConvertTo-HTML command. You will have to use the -Property switch to control which output properties are included in the HTML file and you will have 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 also export data from PowerShell into a CSV file that you can open using Microsoft Excel. 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 export the list of system services to a CSV file, you could use the following command:

Get-Service | Export-CSV c:\service.csv

10 Basic Commands

Page 5: Windows power shell basics

Select-Object If you tried using the command above, you know that there were

numerous properties included in the CSV file. It’s often helpful to narrow things down by including only the properties you are really interested in. This is where the Select-Object command comes into play. The Select-Object command allows you to specify specific properties for inclusion. For example, to create a CSV file containing the name of each system service and its status, you could use the following 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 the command by simply providing the -Log switch followed by the name of the log file. For example, to see the Application log, you could use the following command:

Get-EventLog -Log "Application"

10 Basic Commands

Page 6: Windows power shell basics

Get-Process Just as you can use the Get-Service command to display a list

of all of the system services, you can use the Get-Process command to display a list of all of the processes that are currently running on the system.

Stop-ProcessSometimes, a process will freeze up. When this happens, you

can use the Get-Process command to get the name or the process ID for the process that has stopped responding. You can then terminate the process by using the Stop-Process command. You can terminate a process based on its name or on its process ID. For example, you could terminate Notepad by using one of the following commands:Stop-Process -Name notepad Stop-Process -ID 2668

10 Basic Commands

Page 7: Windows power shell basics

Search-ADAccount -PasswordNeverExpires | FT Name,  ObjectClass, UserPrincipalNameShow user accounts with a non-expiring

passwordGet-AdUser -Filter * -Properties OfficePhone |

FT OfficePhone,UserPrincipalNameDisplay the phone number values for all user

accountsPsdrive

Shows all connected drives, local and network

Cool things you can do

Page 8: Windows power shell basics

Remember that to run scripts you need to be authorized to do so:Get-ExcutionPolicySet-ExecutionPolicy unrestricted

Allows you to run anything once you know the current execution policy, and how to set it to run your script

Running your script is all about syntax& "C:\My Scripts\Test.ps1“

If there is a space in the directory name, must be in quotes& tells the script to runPS1 is for Power Shell 1 – a good naming convention to

know what version of powershell you were running when it was made

To run scripts – you need to be authorized

Page 9: Windows power shell basics

Pipes

Pipes are used to

string commands

together

Get-Service |

Sort-Object

Status | Format-

Table

Will give you a

handy table of all

the services

running, by

status, and in a

nicely formatted

table

Page 10: Windows power shell basics

Nice list of services, but now I want them as a CSV, so what do I type? Get-Service | Sort-Object Status | Format-Table

| export-CSV c:\service.csvTry it

Did you get this?

Ok, so how do I?

Page 11: Windows power shell basics

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

home directory? get-service | sort-object Status | format-table |

export-CSV "c:\users\dmorrill\My documents\services.csv"

So what happened?

Page 12: Windows power shell basics

And Success!

Page 13: Windows power shell basics

Permissions on where you can write filesPermissions on what can run when writing a

PowerShell ScriptPermissions on DirectoriesYour permissions when accessing remote

services like Active Directory (who you are running the script as)

All of these can keep a script from executing at all, or erring out when we try to execute the file

Permissions will kill you every time

Page 14: Windows power shell basics

Using powershellGet a list of running services (screen cap)Get a list of running services formatted as a

table (screen cap)Get a list of running services formatted as a

table and output as a CSV fileGet a list of running services formatted as a

table and output as a HTML fileZip all the files (2 images, 1 CSV, and 1 HTML

file) and upload to Angel

Assignments