Перечисление информации для всех компьютеров в подразделении, использующем PowerShell - PullRequest
0 голосов
/ 10 января 2019

Для лаборатории, работающей над PowerShell, я должен указать целевой OU и перечислить следующую информацию в текстовом файле.

DistinguishedName
DNSHostName
Enabled
Name
ObjectClass
ObjectGUID
SamAccountName
SID
UserPrincipleName

Я нашел в Интернете массу ресурсов о том, как это сделать, и постоянно получаю сообщение об ошибке, независимо от того, как я его форматирую.

Вот мой код:

$ou = 'OU=Testing,OU=Labs,OU=UWEC Computers DC=uwec, DC=edu'
$Computers = Get-ADComputer -Filter '*' -SearchBase $ou
$Computers | foreach {
    $_.DNSHostName
} | Out-File -Filepath "C:\Windows\Temp\Lab7.txt"

Я постоянно получаю эту ошибку, независимо от того, какой синтаксис я использую:

Get-ADComputer : The object name has bad syntax
At line:1 char:1
+ Get-ADComputer -Filter '*' -SearchBase 'OU=Testing,OU=Labs,OU=UWEC Co ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [Get-ADComputer], ADException
    + FullyQualifiedErrorId : ActiveDirectoryServer:8335,Microsoft.ActiveDirectory.Management.Commands.GetADComputer

1 Ответ

0 голосов
/ 10 января 2019

Код, который вы опубликовали, не соответствует сообщенной вами ошибке. Однако наиболее вероятной причиной ошибки является отсутствие запятой в вашем подразделении:

$ou = 'OU=Testing,OU=Labs,OU=UWEC Computers DC=uwec, DC=edu'
#                                          ^right here

Измените это на

$ou = 'OU=Testing,OU=Labs,OU=UWEC Computers,DC=uwec, DC=edu'

и проблема должна исчезнуть.

...