Powershell Basics für den Anwender im Heimbereich

image_pdfimage_print

Powershell Grundbefehle

In dieser kleinen Auflistung befinden sich so die Klassiker die man kennen sollte. Gerade im Heimbereich.

Computer Herunterfahren
Stop-Computer
(Get-WmiObject -Class Win32_OperatingSystem -ComputerName .).Win32Shutdown(1)

Computer Neustart
Restart-Computer –Force
(Get-WmiObject -Class Win32_OperatingSystem -ComputerName .).Win32Shutdown(2)

Abmelden
(Get-WmiObject -Class Win32_OperatingSystem -ComputerName .).Win32Shutdown(0)

Laufwerke anzeigen
Get-PSDrive

Laufwerk für Ordner erstellen
New-PSDrive -name TMP -PSProvider FileSystem -root C:\Temp

Laufwerk entfernen
Remove-PSDRive TMP

Den Registry Pfad öffnen
cd HKLM:\Software
Set-Location HKCU:\Software\Microsoft\Windows

Registry Einträge anzeigen
Get-ChildItem HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\
Get-ItemProperty “HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\Excel.exe”

Wann wurde der Computer gestartet und wie lange läuft er
$Computer = “VMWIN732”
$Info = Get-WmiObject -Class Win32_OperatingSystem -Computername $Computer
$Start = $Info.ConvertToDateTime($Info.LastBootUpTime)
Write-Host “Einschaltzeit: “$Start.ToString()

$Time = (Get-Date) – $Start
Write-Host “Laufzeit:” $Time.Days “Tage,” $Time.Hours “Stunden,” $Time.Minutes “Minuten,”  `
$Time.Seconds “Sekunden”

Wie ist der Computername
$(Get-WmiObject Win32_Computersystem).name
$SystemName = (New-Object -ComObject WScript.Network).computername

Computer Details ermitteln
gwmi win32_ComputerSystem

OS ermitteln
(Get-WmiObject Win32_OperatingSystem).Caption

BIOS ermitteln
Get-wmiobject win32_bios

Festplatten ermitteln
Get-WmiObject -Class Win32_DiskDrive

Festplatten Details
gwmi win32_logicaldisk
Get-WmiObject Win32_LogicalDisk | Format-List *

Festplatten Belegung
gwmi win32_logicaldisk -filter “drivetype = 3”

Treiber Informationen
Get-WmiObject Win32_SystemDriver

Freigaben auflisten
Get-WmiObject Win32_Share

Prozesse anzeigen
Get-Process
Get-Process | sort-object -property WS -Descending | select-object -First 15

Ping
Test-Connection -Computername $Computer
Test-Connection -count 1 -Computername $Computer

Anzeige aller Dateien
Get-ChildItem -Recurse –Force

Dateien verschieben
Move-Item -Path C:\Temp\Test.txt -destination E:\Temp\Test.txt

Registry Schlüssel verschieben
Move-Item HKLM:\Software\MeineSoftware\* HKLM:\Software\DeineSoftware

Datei umbenennen
Rename-Item -Path C:\Temp\MeineDatei.txt -Newname DeineDatei.txt

Punktzeichen aus Dateinamen entfernen
Get-ChildItem *.* | foreach {Rename-Item $_ -NewName $($_.name -replace ‘\.’, $null)}

Ermitteln der 10 größten PDF Dateien
Get-Childitem -recurse -include *.pdf | Sort-Object length -descending | Select-Object -first 10

NTFS Rechte auf einen anderen Ordner übertragen
$ACL = Get-Acl “C:\Temp”
Set-Acl “D:\Temp” $acl

Suche nach dem Wort Rolle in allen .txt Dokumenten
Select-String “D:\DATA\DESKTOP\__Loses_Zeug\*.txt” -pattern “Rolle”
Get-ChildItem *.* -exclude *.pdf -recurse | Select-String -Pattern “Rolle”

Kopiere die ersten 30 Zeilen in eine neue Datei
Get-Content MeineDatei.txt -totalcount 30 | Set-Content DeineDatei.txt

Alle .txt Dateien im aktuellen Ordner komprimieren
Compress-Archive -Path *.txt -DestinationPath Texdateien.zip

RemoteDesktop Dienst installieren
Add-WindowsFeature Remote-Desktop-Services

Ein Dienst auf den Starttyp „Automatisch“ setzen
Set-Service Netlogon -startuptype automatic

Einen Dienst starten
Start-Service Netlogon

Remoteverwaltung aktivieren
Enable-PSRemoting –force

Computer zur Domäne hinzufügen
Add-Computer -DomainName “ndsedv.de” –Restart

Details eines Benutzers ermitteln
Get-ADUser -Identity Joern.Walter -Properties *