PowerShell: получение информации о членстве для учетной записи компьютера (не учетной записи пользователя)

Получение неоднозначной ошибки личности. Я могу успешно выполнить поиск, чтобы вернуть группу, членом которой является учетная запись пользователя, но когда я пытаюсь найти группы, в которые входит учетная запись компьютера, возникает неоднозначная ошибка идентификации. Я пытался использовать ключ -type или -identity, но либо у меня не был правильный синтаксис, либо он просто не был применим.

Где моя целевая учетная запись компьютера называется SNA00760856, я работаю над использованием...

Get-QADGroup -Containsindirectmember SNA00760856

Любой массаж, который я могу сделать с командой, чтобы получить группы, в которые входит компьютер SNA00760856? Удаление учетной записи пользователя вместо учетной записи компьютера работает как шарм.

Я также попытался уточнить имя компьютера с информацией о домене.
Т.е. SNA00760856.mydivision.mydomain.com или mydivision\SNA00760856

Также попытался собрать членство в компьютере, используя который, как я знаю, неправильно после более внимательного прочтения информации о коммутаторе....

Get-QADobject -IndirectMemberOf SNA00760856

Также приводит к неоднозначной идентичности.

5 ответов

Если вы хотите очистить вывод, используйте это

Get-ADPrincipalGroupMembership (Get-ADComputer ComputerName) | select-object name

Вы можете получить групповое членство компьютера в AD через модуль ActiveDirectory с помощью Get-ADPrincipalGroupMembership, Вам нужно будет искать через компьютеры DistinguishedName, чего можно добиться, используя Get-ADComputer:

Get-ADPrincipalGroupMembership (Get-ADComputer SNA00760856).DistinguishedName

Это вернет все объекты группы SNA00760856 является членом.

Если вы экспортируете в список, используйте

Get-AdPrincipalGroupMembership ( Get-ADComputer XXXXXXX) | Исходный файл C:\XXX\XXX

Я использовал что-то, чтобы вывести информацию о компьютере AD и членстве компьютера в один текстовый файл. Это использует$Env:computerNameчтобы получить имя компьютера, на котором запускается скрипт. Если вы хотите выбрать другой компьютер, измените переменную$HostName = на имя компьютера по вашему выбору. Пример$HostName = "Janes-Laptop01". Компьютер, на котором вы запускаете этот скрипт, должен иметьActive Directoryмодуль, установленный для этого, чтобы работать.

      Import-module -Name ActiveDirectory
$HostName = $Env:computerName
$path = "c:\temp\Computer_AD_Membership_Info_$($HostName)_$(get-date -f yyyyMMdd-hhmm).txt"
Echo "`r`n ******* Computer OU Information. *******  `r`n" | Out-File -FilePath $path -Encoding utf8 -Force ;
Get-AdComputer -Identity $($HostName) -Properties * | Out-File -FilePath $path -Encoding utf8 -Append -Force ;
Echo "`r`n ******* AD Groups Computer Member of. ******* `r`n" | Out-File -FilePath $path -Encoding utf8 -Append -Force ;
Get-ADPrincipalGroupMembership (Get-ADComputer $($HostName)).DistinguishedName | Out-File -FilePath $path -Encoding utf8 -Append -Force ;

Это однострочный вариант; просто замените$compс именем компьютера или определите его как часть вашего скрипта:

      ((Get-ADComputer $comp -properties memberof).MemberOf | get-adgroup).name
Другие вопросы по тегам