Если вы ищете запрос для ADUser
объектов, для которых регистрация на рабочей станции явно ограничена, вы можете запросить значения в атрибуте userWorkstations
. Так как этот атрибут представляет собой строку со значениями, разделенными запятыми, вам необходимо будет правильно манипулировать этими данными перед выполнением сравнения.
$computer = 'computername'
Get-ADUser -Filter "userWorkstations -like '*$computer*'" -Properties userWorkstations |
Where-Object { ($_.userWorkstations -split ',') -contains $computer }
Вы не привязаны к этому решению, поскольку существует несколько способов полученияданные, которые вы хотите. Я решил использовать -split ','
, потому что это создаст массив, в котором оператор -contains
может найти точное совпадение.
Использование оператора -like
в -Filter
позволяет использовать подстановочный знак (*
)соответствия. -eq
будет работать только в том случае, если конкретная рабочая станция - единственная, указанная в атрибуте userWorkstations
. Вы потенциально можете отказаться от -like
все вместе и получить тот же результат. Это то, что стоит протестировать, поскольку производительность может отличаться [1] .
Where-Object
здесь обеспечивает точное соответствие. Поскольку параметр AD -Filter
не поддерживает операторы включения, вы должны полагаться на -like
с символами подстановки для строк с разделителями. Поскольку -like 'system1*'
также будет соответствовать system12334
, мы должны убедиться, что мы возвращаем только желаемое точное совпадение.
Примечание: Если ваша локальная политика безопасности на вашем компьютере позволяет пользователям домена входить в систему локально или в интерактивном режиме, то отсутствие значения атрибута userWorkstations
для пользователя означает, что пользователь можетвойти на эту машину. Таким образом, чтобы получить полную картину, вам нужно изучить локальную политику безопасности компьютера и определить, к каким пользователям домена это действительно относится.
[1] Мое личное ограниченное тестирование показало использование-Filter
с оператором -like
сократило время моего запроса на 59%.