Tôi có một tập lệnh cần tìm Tên đầy đủ (CN=MyComputer, OU=Computers, DC=vw, DC=local
) của máy tính đang chạy, tuy nhiên tôi không thể đảm bảo rằng mô-đun ActiveDirectory
sẽ là có sẵn trên tất cả các máy tính mà tập lệnh này sẽ được chạy. Có cách nào để nhận tên đầy đủ của máy tính hiện tại mà không sử dụng Get-ADComputer $Env:COMPUTERNAME
không?Nhận tên phân biệt của máy tính hiện tại trong PowerShell mà không cần sử dụng mô-đun ActiveDirectory
Chỉ trong trường hợp này là một vấn đề XY, những gì tôi đang cố gắng làm là di chuyển máy tính đến một OU cụ thể, nhưng tôi cần một cách để có được sự xâm nhập ASDI cho máy tính Tôi đang chạy trên.
[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);
}
Cảm ơn bạn, điều đó hoạt động hoàn hảo. Trong thực tế, tôi thậm chí không cần Properties.distingushedname, tôi vừa thay đổi dòng thứ hai thành '$ computer = [ADSI] (([adsisearcher] $ filter) .indOne(). Path)' và tôi có thể sử dụng nó với Lệnh 'MoveTo'. –
Cảm ơn. Bạn cũng có thể nhận được đối tượng máy tính với: ([adsisearcher] $ filter) .indOne(). GetDirectoryEntry() –
Điều này trả về null cho tôi. –