Objekt via Powershell aus AD-Papierkorb wiederherstellen
Unter Windows 2008R2 ist das Wiederherstellen von gelöschten Objekten aus den AD-Papierkorb noch nicht über die GUI möglich.
Hier eine Kurzanleitung wie dies über die Powershell gelöst werden kann.
1. Objekt im Papierkorb suchen:
Get-ADObject -Filter {SamAccountname -like "User.*"} -IncludeDeletedObjects
2. Objekt wiederherstellen:
Get-ADObject -Filter {SamAccountname -like "User.xyz"} | Restore-ADObject
Force Delete VM in SCVMM 2012
Nach dem Restore einer VM hatte ich im SystemCenterVirtualMachineManager 2012 (SCVMM) auf einmal die VM doppelt angezeigt.
Einmal war der Status „Running“ und einmal „Failed“.
Leider lies sich die Vm nicht übers GUI löschen.
Dies lässt sich jedoch mittels Powershell lösen.
$VM = Get-VM -Name "zulöschendeVM" Remove-VM -VM $VM -Force
Falls wie in meinem Falle 2 VMs den selben Namen hatten muss zuerst die zu löschende VM gefunden werden.
Get-VM -Name printserver |fl Name,VirtualMachineState,ID
Name : printserver
VirtualMachineState : Running
ID : 52c391ae-f7e5-47de-a291-4247ede69afb
Name : printserver
VirtualMachineState : Failed
ID : DC04a63c-d5e5-12ee-843a-8f45ace34bcd
Der Get-VM Befehl musste nun so angepasst werden das nach der ID und nicht nach den Namen der VM gesucht wird.
In meinem Fall war das:
$VM = Get-VM -ID "DC04a63c-d5e5-12ee-843a-8f45ace34bcd" Remove-VM -VM $VM -Force
Execution Policy Change
Script ausführung ist unter Powershell über die Execution Policy geregelt.
Damit nicht jedesmal die Ausführung eines Scripts bestätigt werden muss, kann die Execution Policy auf Unrestricted gestellt werden.
Abfrage des momentanen Status.
Get-ExecutionPolicy
Ändern auf „Unrestricted“
Set-ExecutionPolicy unrestricted
Suchen in der Pipe
Erste Schritte mit Powershell.
Mit dem Befehl get-service werden alle Windowsdienste aufgelistet.
get-service
Es werden hier jedoch nur die Felder: Status, Name und Displayname angezeigt
Um alle Felder anzuzeigen kann mit |FL * alle verfügbaren Felder anzeigen lassen.
get-service |FL *
Jetzt sind noch weitere Informationen wie z.B. Status und ServiecType ersichtlich.
Möchte man nur alle Ausgeführten Service auslisten, kann man das wie folgt.
Get-Service | ?{$_.Status -eq "Running"}
Alles Dienst mit Status „Running“ werden aufgelistet.
Auf die selbe Art kann auch nach allen Diensten mit „Windows“ im Displayname gesucht werden.
get-service | ? {$_.Displayname -like "*Windows*"}