Computer deaktivieren und verschieben klappt nicht
Moin,
leider benötige ich mal wieder eure Hilfe.
Ich muss knapp 300 Computer deaktivieren und erst einmal verschieben.
Ich habe ein script vom Windows papst gefunden aber das klappt nicht.
nach dem Ausführen kommt:
Deaktiviere PC:
Verschiebe nach OU: OU=Deaktivierte-Rechner,DC=Firma,DC=local
Deaktiviere PC:
Verschiebe nach OU: OU=Deaktivierte-Rechner,DC=Firma,DC=local
Deaktiviere PC:
Verschiebe nach OU: OU=Deaktivierte-Rechner,DC=Firma,DC=local
Aber es wird nichts gesperrt bzw. verschoben.
leider benötige ich mal wieder eure Hilfe.
Ich muss knapp 300 Computer deaktivieren und erst einmal verschieben.
Ich habe ein script vom Windows papst gefunden aber das klappt nicht.
# Der Windows Papst 2017 www.der-windows-papst.de #
$DisbableList = Import-Csv C:\csv\Computer.csv
$MoveTo = "OU=Deaktivierte-Rechner,DC=firma,DC=local"
Clear-Host
Function DisablePC
{
Param(
[string] $_SamAccountName,
[string] $_MoveTO
)
write-host ("Deaktiviere PC: $_SamAccountName")
Write-Host ("Verschiebe nach OU: $MoveTo")
Get-ADComputer $_SamAccountName | Set-ADComputer -Enabled $false
Start-Sleep -s 2
Get-ADComputer $_SamAccountName | Move-ADObject -TargetPath $MoveTo
Start-Sleep -s 2
}
FOREACH ($PC in $DisbableList) {
DisablePC $PC.SamAccountName $PC.MoveTO
}
nach dem Ausführen kommt:
Deaktiviere PC:
Verschiebe nach OU: OU=Deaktivierte-Rechner,DC=Firma,DC=local
Deaktiviere PC:
Verschiebe nach OU: OU=Deaktivierte-Rechner,DC=Firma,DC=local
Deaktiviere PC:
Verschiebe nach OU: OU=Deaktivierte-Rechner,DC=Firma,DC=local
Aber es wird nichts gesperrt bzw. verschoben.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 1852906040
Url: https://administrator.de/contentid/1852906040
Ausgedruckt am: 21.11.2024 um 22:11 Uhr
7 Kommentare
Neuester Kommentar
Moin,
das Script hat auch noch Fehler.
Die in Zeile 11 eingelesen Variable $_MoveTe wir ind Zeile 14 und 18 nicht verwendet, soner $MoveTo. Somit wird nicht das in der csv angebene Ziel verwendet.
lg,
Slainte
das Script hat auch noch Fehler.
Die in Zeile 11 eingelesen Variable $_MoveTe wir ind Zeile 14 und 18 nicht verwendet, soner $MoveTo. Somit wird nicht das in der csv angebene Ziel verwendet.
Aber es wird nichts gesperrt bzw. verschoben.
Dir ist sicher aufgefallen das der PC name in der Ausgabe leer ist... wie @Doskias schon schrieb: check mal dein CSVlg,
Slainte
Moin,
Was sagt den der Windows-Papst dazu?
Die Funktion DisablePC finde ich schon fragwürdig.
In der Funktion wird bereits vor dem deaktivieren und verschieben der Erfolg mitgeteilt.
Gruß
C.C.
Was sagt den der Windows-Papst dazu?
Die Funktion DisablePC finde ich schon fragwürdig.
In der Funktion wird bereits vor dem deaktivieren und verschieben der Erfolg mitgeteilt.
Gruß
C.C.
Zeile 5 ist die Überschrift der ersten Zelle.
Und das Kinder, ist der Grund warum man nur Scripts einsetzen sollte die man auch versteht....Das "Clear-Host" hat NICHTS NULL NADA ZIP mit der CSV zu tun. Also garnichts!
Die Überschriften in der CSV müssen lauten "SamAccountName" und "MoveTo" (siehe Zeile 23)
Zitat von @SlainteMhath:
Eigentlich was der Satz auch verstanden oder nur gefunden als Scherz gemeint Zeile 5 ist die Überschrift der ersten Zelle.
Und das Kinder, ist der Grund warum man nur Scripts einsetzen sollte die man auch versteht....Das "Clear-Host" hat NICHTS NULL NADA ZIP mit der CSV zu tun. Also garnichts!
Die Überschriften in der CSV müssen lauten "SamAccountName" und "MoveTo" (siehe Zeile 23)
Wobei ich persönlich das MoveTo als festen Wert angeben würde, damit alle deaktivierten Rechner in der gleichen OU landen und ich in der CSV wirklich nur die Rechnernamen habe, aber dazu müsste man das Skript etwas umbauen und davon würde ich hier abraten.Die Überschriften in der CSV müssen lauten "SamAccountName" und "MoveTo" (siehe Zeile 23)
Aber wie ich ja schon sagte:
Wenn die Überschriften nicht stimmen, funktioniert es nicht.
Gruß
Doskias