Я пытаюсь написать скрипт Powershell, который позволяет мне сделать следующее:Powershell Active Directory Get-ADComputer Input
- Используйте Get-ADGroupMember, чтобы пользователи, которые помимо определенной группы
- Используйте информацию с первого шага в Get-ADUser, чтобы получить информацию о пользователе в формате lastname, firstname
- Используйте строку из шага 2 в Get-ADComputer для поиска в поле описания всех компьютеров, чтобы найти компьютеры, которые имеют эту строку в своем поле описания.
Вот что я пытался (думал, что это будет работать в моей голове):
Get-ADGroupMember 'Имя группы' | Get-ADUser -Properties givenName, sn | выберите givenName, sn | Get-ADComputer -filter 'описание-like "$ sn, $ givenName"' -образное описание | выберите Имя *
Жирные работает, я знаю Наклонный текст не будет работать, но тот формат, как я думаю, что это будет работать
Позвольте мне знать, если я сделал какое-нибудь так, определенно Powershell новичок
TLDR: пытаясь получить имена пользователей и их имя компьютера, основанный на поиске конкретных AD группы
Спасибо за это. Тем не менее, я заметил, что я мог только заставить выше работать, вручную добавив известное значение в «$ sn, $ givenName». Например, я знаю одного пользователя в группе, поэтому я ставлю свою фамилию «LastName *». Это позволило команде работать, показывая только имя компьютера пользователя. Любые мысли о том, почему это не исключение $ sn и $ givenName? – Chris
@ Крис не уверен, поскольку я фактически не запускал код против AD, но проверяю, чтобы ваши имена свойств были правильными. – briantist
Хмм, мне придется в этом разобраться. Я добавил эхо-строку внутри ForEach (echo "$ sn, $ givenName"), и они печатаются правильно. К сожалению, когда они передаются в «$ sn, $ givenName *» (добавлен шаблон, чтобы увидеть, не изменилось ли это), ничего не найдено. Я дам вам знать, что, если я это выясню. Цените помощь – Chris