5.1 KiB
Learn Powershell in Less Than 2 hours
Everything in Powershell is an Object
Widows Powershell ISE
To be able to write Powershell script you have a free IDE
CMDLET
Predifine functions are names CommandLet Verb-Noun -Parameters
If you want to see all the Cmdlet available
Get-Command -CommandTyper Cmdlet
PSVersionTable
you can see the version of powershell with the command
$PSVersionTable
ExecutionPolicy
To be able to see if you can run your Powershell scripts
Get-ExecutionPolicy
# Work only has administrator
Set-ExecutionPolicy remoteSigned
Write-Host
For writing in the console
Write-Host "Hello world"
Write-Host "Hello world" -NoNewline
Write-Host "Hello world" -BackgroundColor "Blue"
GetHelp
Print all the help articles from microsoft
Get-Help
Get-Help Write-Host -full
New-Item
For creating a new file or folder
# Create a file
New-Item -path C:\Scripts\ewok.txt -tye "File" -value "praise C3PO"
# Create a folder
New-Itemn -path C:\Scripts -name "deathstar" -type directory
Copy-Item
Copy a file
Copy-Item C:\Scripts\ewok.txt -destination C:\Scripts\deathstar
Move-Item
Change the place of a file
Move-Item -path ".\forewithwho.txt" -destination ".\deathstar\"
Remove-Item
Delete a file
Delete-Item -path ewok.txt
Test-Path
Verify if a file exist and return a boolean can be helpful for a if statement
Test-Path C:\Scipts\deathstar\forewithwho.txt
Rename-Item
Rename a file
Rename-Item -path .\forewithwho.txt -newnae forewithme.txt
Piping
You can chain commands with "|"
Command-1 | Command-2
"May the force be with you!" | Out-File forewithwho.txt
Variables
They start with a "$" you can use strings,floating points, integer and boolean
$FavCharacter = "Spongebob"
$FavCharacter | Out-File favcharacter.txt
$FavCharacter.GetType()
$x = 5
$y = 3
$x + $y
# output: 8
$FavCharacter | Select-Object -Property *
# output all the Property of the variable
Get-Member -InputObject $FaveCharacter
# output all the mehtods you can use
Arrays
A collection of variables
$Jedi = @('Obi-Wan Kenobi', 'Luke Skywalker', 'Master Yoda', 'Mace Windu')
$Jedi.GetType()
# output Object[]
$Jedi[0]
# output : Obi-Wan Kenobi
$Jedi[0].Length
# output 14
$Jedi += 'Qui-Gon Jin'
# add a variable to the array
hash table
Specify keys
$FellowshipBeta = @{key1 = "item1"; key2 = "item2"}
$Fellowship = @{"Wizard" = "Gandalf"; "Elf" = "Legolas"; "Hobbit" = "Frodo"}
$Fellowship.Add("Dwarf", "Gimli")
# for adding an element
$Fellowship.Set_Item("Dwarf", "Bilbo")
# changing an element
$Fellowship."Dwarf"
$Fellowship.["Dwarf"]
# retrieve an element
$Fellowship.Remove("Dwarf")
# Remove an element
Read-Host
for having user iput
Evaluatig
$PokemonCaught = "908"
If($PokemonCaught -eg 908) { Write-Host "You're a Pokemon Master! "}
Active directory
for importing active directory Commands
Import-Module ActiveDirectory
##User
New-ADUser
Create a user in active Directory
New-ADUser -Name "Luke Skywalker" -GivenName "Luke" -Surname "Skywalker" -SamAccountName "Luke Skywalker" -UserPrincipalName "lskywalker@maeds.org" -Path "OU=Administration, OU=Staff, OU=MAEDS,DC=maeds , DC=org" -AccountPassword(ConverTo-SecureString "UncleOwen!" -AsPlainText -force) -Enabled $true
-Name "Luke Skywalker" The display name of the user in Active Directory.
-GivenName "Luke" The user’s first name.
-Surname "Skywalker" The user’s last name.
-SamAccountName "Luke Skywalker" The logon name used with older Windows systems (DOMAIN\username).
-UserPrincipalName "lskywalker@maeds.org" The modern logon name (email-style login).
-Path "OU=Administration, OU=Staff, OU=MAEDS, DC=maeds, DC=org" Specifies the Organizational Unit (OU) where the user will be created. DC specifies the domain name
-AccountPassword (ConvertTo-SecureString "UncleOwen!" -AsPlainText -Force) Sets the user’s password (converted into a secure format).
-Enabled $true Enables the account immediately after creation.
Get-ADUser
For having aformation about a user return basic information
Get-ADUser mrsh
# we can turn it to a variable
$user = Get-ADUser
# we can return information
$user.DistguishedName
$user.GivenName
# extract information
$user.GivenName | Out-File users.txt
Set-ADUser
add or replace informations about a user
Set-ADUser -Identity fbaggins -Surname Tyler
Set-ADAccountPassword
Change the password of a user
Set-ADAccountPassword -Identity lskywalker -Reset -NewPassword (ConverTo-SecureString -AsPlainText "OldBen123" -Force)
Add-ADGroupMember
Add a member to a group
Add-ADGroupMember - Identity Fellowship - Members fbaggins
Remove-ADGroupMember
Remove a member to the group
Remove-ADGroupMember - Identity Fellowship - Members fbaggins