get-psdrive: lijst van alle bestanden van de gebruiker
get-childitem -Path “c:\Program Files” -Recurse -Filter ado*.dll -Name -ErrorAction silentlycontinue: zoekt bestanden met patroon "ado*.dll" in de map " c:\Program Files " en zijn submappen
get-childitem -Path $env:ProgramFiles -recurse -Include *.exe |
Where-Object -FilterScript {($_.LastWriteTime -gt "2015-10-01") -and ($_.Length -ge 1mb) -and ($_.Length -le 10mb)}: Toon alle uitvoerbare bestanden uit de map Program Files en onderliggende mappen die gewijzigd werden na 1 oktober 2015 met bestandsgrootte gelegen tussen 1 megabyte en 10 megabyte:
Clear-item: maakt een item leeg, verwijdert het niet
Copy-item: gebruikt voor het kopiëren van mappen en bestanden
Powershell:
Kleine oefening waarbij we 2 getallen optellen
"clear host
[int] $x=read-host "Geef getal 1 in."
[int] $y=read-host "Geef getal 2 in."
write-host "De optelling van de 2 getallen is" ($x+$y)"
Kleine oefening waarbij we de som doen van 2 getallen:
"clear host
[int] $x=read-host "Geef getal 1 in."
[int] $y=read-host "Geef getal 2 in."
write-host "De som van de 2 getallen is" ($x*$y)"
Kleine oefening waarbij we de macht nemen van 2 getallen.
"clear host
[int] $x=read-host "Geef getal 1 in."
[int] $y=read-host "Geef getal 2 in."
write-host $x " tot de " $y" de macht is gelijk aan" ([math]::pow($x, $y))"
Kleine oefening waarbij we de vierkantswortel nemen van een getal.
"clear host
[int] $VWortel=read-host "Geef het getal in waarvan je de vierkantswortel wilt in"
write-host "De vierkantswortel van " $VWortel " is gelijk aan" ([math]::sqrt($VWortel))"
Kleine oefening waarbij we de derdemachtswortel nemen van een getal.
"clear host
[int] $3Wortel=read-host "Geef het getal in waarvan je de derdermachtswortel wilt in"
write-host "De derdemachtswortel van " $3Wortel " is gelijk aan" ([math]::pow($3Wortel, 1/3))"
Kleine oefening waarbij we de binaire waarde van een getal bereken.
"clear host
[int] $Binair=read-host "Geef het getal in waarvan je de binaire waarde wilt berekenen."
write-host $Binair "telt in het binair " ([math]::log($Binair) / [math]::log(2)) " bits""
------------------------------------------------------------------------------------------------------------------
Menu:
clear host
write-host "Menu:"
$array = @{1 = “Dagsoep met brood”; 2 = "Stoofvlees met friet"; 3 = "Croque monsieur"; 4 = "Vol au vent met frietjes"; 5 = "Spaghetti Bolognese"}
$prijs= @{1 =”€6”; 2 = "7"; 3 = "8"; 4 = "9"; 5 = "10"; 6 = "11"}
foreach ($Gerect in $Array) {
write-host $Gerecht
}
[int] $Keuze = read-host “Maak uw keuze:”
if ($keuze -ge 6 ) {
write-host "U hebt een onbestaande keuze gemaakt"}
else {
Write-Host " Het gerecht" $array[$Keuze] "kost u" $prijs[$Keuze] "euro"
}
get-psdrive: lijst van alle bestanden van de gebruiker
get-childitem -Path “c:\Program Files” -Recurse -Filter ado*.dll -Name -ErrorAction silentlycontinue: zoekt bestanden met patroon "ado*.dll" in de map " c:\Program Files " en zijn submappen
get-childitem -Path $env:ProgramFiles -recurse -Include *.exe |
Where-Object -FilterScript {($_.LastWriteTime -gt "2015-10-01") -and ($_.Length -ge 1mb) -and ($_.Length -le 10mb)}: Toon alle uitvoerbare bestanden uit de map Program Files en onderliggende mappen die gewijzigd werden na 1 oktober 2015 met bestandsgrootte gelegen tussen 1 megabyte en 10 megabyte:
Clear-item: maakt een item leeg, verwijdert het niet
Copy-item: gebruikt voor het kopiëren van mappen en bestanden
copy-item –path c:\temp –destination c:\temper – recurse –force
-recurse: vermeld je om te zeggen dat inhoud van mappen ook gekopieerd moet worden
get-item: gebruik je om toegang te krijgen tot eigenschappen van een object
Invoke-item: doet het zelfde als dubbelclick
Move-item: gebruikt om mappen te verplaatsen
new-item: gebruikt om nieuwe items aan te maken
new-item –path d:\ps\tester\file1.txt –itemtype file
Remove-item: gebruikt om mappen en bestanden te verwijderen
-recurse: zonder dit moet je toestemming geven
remove-item d:\temper
Rename-item: andere naam aan item geven
rename-item –path d:\ps\tester\file1.txt fileOne.txt
Set-item: gebruikt om een item waarde te geven / niet beschikbaar voor bestandssysteem wel voor: Alias, Environment, Function, Registry, en Variable
...-Itemproperty: gebruikt om te navigeren in het register
$acl=get-acl –path c:\users\bep.broeders\tijdelijk: gebruikersmachtigingen zien van een bestand
$acl=set-acl –path c:\users\bep.broeders\tijdelijk : gebruikersmachtigingen aanpassen van een bestand
addaccessrule: gebruikt om regels toe te voegen aan de ACL
removeaccessrule: gebruikt om regels te verwijderen uit de ACL
Rechten bekijken:
back-up origineel
$acl0=get-acl c:\users\ll-xxxxx\tijdelijk
de huidige acl als variabele
$acl = Get-Acl c:\users\ll-xxxxx\tijdelijk
een array met de gegevens voor de machtiging
$permission = "domein\gebruiker","FullControl","Allow"
de machtiging opslaan in een toegangsregel
$accessRule = New-Object System.Security.AccessControl.FileSystemAccessRule $permission
de toegangsregel toepassen (grijpt met het object in het geheugen plaats)
$acl.SetAccessRule($accessRule)
De toegangsregel schrijven
set-acl -aclobject $acl -path c:\users\ll-xxxxx\tijdelijk
Rechten verwijderen:
back-up origineel
$acl0=get-acl c:\users\ll-xxxxx\tijdelijk
# de huidige acl als variabele
$acl=get-acl c:\users\ll-xxxxx\tijdelijk
# een array met de gegevens voor de machtiging
$permission = "domein\gebruiker","FullControl","Allow"
# de machtiging opslaan in een toegangsregel
$accessrule = New-Object system.security.AccessControl.FileSystemAccessRule $permission
# de toegangsregel toepassen (grijpt met het object in de geheugenplaats)
$acl.RemoveAccessRuleAll($accessrule)
# De toegangsregel schrijven
set-acl -aclobject $acl c:\users\ll-xxxxx\tijdelijk
-------------------------------------------------------------------------------------------------------------------
Naar bestand schrijven:
Get-WmiObject -class Win32_OperatingSystem >c:\temp\resultaat.txt
Add/set-WmiObject kan ook
Tekstbestand lezen:
get-content C:\temp\resultaat.txt
Tekst zoeken in een bestand:
get-childitem|select-string “version”
Omzetten naar XML:
Get-WmiObject -class Win32_OperatingSystem|export-clixml -encoding UTF8 -path c:\temp\resultaat.xml
-------------------------------------------------------------------------------------------------------------------
WMI-objecten: gebruikt om bronnen in Windows te benaderen
Get-WMIObject: gebruik je om deze te benaderen
complete lijst van klassen opvragen:
get-wmiobject –list
Filter toepassen met pipeline:
get-wmiobject –list|where{$_.name –match “Printer”}
Voor computer op afstand:
get-wmiObject -list –computername Computernaam
Lijst van details besturingssysteem:
Get-WmiObject -class Win32_OperatingSystem
extra eigenschappen:
Get-WmiObject -class Win32_OperatingSystem|format-list -property name, serialnumber
Netwerkadapters opvragen:
Get-WmiObject -Class Win32_NetworkAdapterConfiguration
Via IP-adres:
Get-WmiObject -Class Win32_NetworkAdapterConfiguration -Filter IPEnabled=TRUE
Via MAC-adres:
get-wmiobject Win32_NetworkAdapterConfiguration|format-table MacAddress, Description -autosize
Printers opvragen:
$klasse = “win32_printer” get-wmiobject –class $klasse | Format –table -autosize
Shares:
Win32_Share-klasse
get-wmiobject -class win32_share
Map aanmaken:
$a=(Get-WmiObject -List -ComputerName . | Where-Object {$_.Name -eq "Win32_Share"})
$a.Create("C:\tijdelijk","tijdelijk",0,25, "Tijdelijk")
Map verwijderen:
(get-wmiobject -class win32_share –filter ` "name='tijdelijk'").delete()
.Net klassen:
Kan in Powershell, soms moet je referentie leggen
Users:
get-wmiobject -class win32_userAccount
Groepen:
get-wmiobject -class win32_Group
Leden van groep:
Get-WmiObject Win32_Groupuser
Inhoud website weergeven:
$obj=new-object system.net.webclient
$obj.DownloadString("Website")
> voor pagina opslaan