Ich habe ein Skript, das ich den vollständigen Distinguished Name (CN=MyComputer, OU=Computers, DC=vw, DC=local
) des Computers finden muss, auf dem es ausgeführt wird, jedoch kann ich nicht garantieren, dass das ActiveDirectory
-Modul sein wird Verfügbar auf allen Computern, auf denen dieses Skript ausgeführt wird. Gibt es eine Möglichkeit, den vollständigen Distinguished Name des aktuellen Computers zu erhalten, ohne Get-ADComputer $Env:COMPUTERNAME
zu verwenden?Abrufen des aktuellen Computername in Powershell ohne Verwendung des ActiveDirectory-Moduls
Für den Fall, das ein XY Problem ist, was ich versuche, den Computer auf eine bestimmte OU zu tun ist, zu bewegen, aber ich brauche einen Weg, den ASDI Eintrag für den Computer zu bekommen ich leite.
[ADSI]$computer = ("LDAP://" + $localDN)
if($Production)
{
[ADSI]$destination = 'LDAP://ou=Production,ou=Computers,ou=VetWeb,dc=vw,dc=local'
$computer.MoveTo($destination);
}
else
{
[ADSI]$destination = 'LDAP://ou=Test,ou=Computers,ou=VetWeb,dc=vw,dc=local'
$computer.MoveTo($destination);
}
Danke, dass man perfekt funktioniert. Tatsächlich brauche ich nicht einmal den Properties.distedushedname, ich habe gerade die zweite Zeile in '$ computer = [ADSI] (([adsisarcher] $ filter) .FindOne(). Path)' geändert und ich könnte es mit meinem verwenden 'MoveTo' Befehl. –
Danke. Sie könnten das Computerobjekt auch mit erhalten: ([adsisarcher] $ filter) .FindOne(). GetDirectoryEntry() –
Dies gab null für mich zurück. –