Мне нужно проанализировать информацию о пользователях, чтобы выяснить, к каким компьютерам имеет доступ конкретный пользователь, а затем отфильтровать ее, чтобы сгенерировать txt-документацию для каждого компьютера, в которой перечислены разрешенные пользователи для этого компьютера.Однако мой сценарий не возвращает ожидаемых результатов и создает неполные списки.
Get-Content c:\temp\computers.txt | ForEach-Object {
$computername = $_
Get-ADUser -Filter "LogonWorkstations -like '*$computername'" -Properties LogonWorkstations |
Format-Table SamAccountName, Enabled |
Out-File -FilePath c:\temp\Accounts\"$computername-$fileDate".txt
}
Я вполне уверен, что проблема заключается в моей фильтрации, поскольку некоторые файлы возвращают информацию, однако только в тех, гдеимя пользователя совпадает с именем компьютера в некотором отношении.Вместо того, чтобы перечислять пользователей, чья «LogonWorkstation» включает в себя указанный компьютер, именно это я и собираюсь сделать.(Если я извлекаю «LogonWorkstation» пользователя отдельно, эта информация верна.)