我有一個腳本,我需要找到計算機的運行它的完整專有名稱(CN=MyComputer, OU=Computers, DC=vw, DC=local
),但我不能保證ActiveDirectory
模塊會在該腳本將運行的所有計算機上均可用。有沒有辦法在不使用Get-ADComputer $Env:COMPUTERNAME
的情況下獲取當前計算機的完整專有名稱?獲取在PowerShell中當前計算機的專有名稱,而不使用的ActiveDirectory模塊
以防萬一,這是一個XY問題,我所要做的是將計算機移動到特定的OU,但我需要一個方式來獲得我上運行的計算機的ASDI項目。
[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);
}
謝謝,那個作品完美。實際上,我甚至不需要Properties.distingushedname,我只是將第二行更改爲'$ computer = [ADSI](([adsisearcher] $ filter).FindOne().Path)',我可以將它與我的'MoveTo'命令。 –
謝謝。你也可以通過以下方式獲得計算機對象:([adsisearcher] $ filter).FindOne()。GetDirectoryEntry() –
這對我而言返回null。 –