Я не могу сказать, что такое cvx-LegalSubjectToHold
, но в целом должны применяться следующие принципы:
Я бы изменил код на что-то вроде следующего:
Function Get-LegalHolds {
$users = Get-Content C:\temp\users.txt
foreach ($user in $users){
Try
{
Get-ADUser $user -Properties CN,cvx-LegalSubjectToHold |
Select-Object SamAccountName,CN,cvx-LegalSubjectToHold
}
Catch
{
$user | Select-Object @{n='SamAccountName';e={$_}},CN,cvx-LegalSubjectToHold
}
}
}
Get-LegalHolds
Чтобы заняться экспортом неиспользуемых, вам необходимо вывести объект с именованными свойствами, которые соответствуют свойствам, найденным найденными пользователями. Объекты с несовпадающими свойствами вызывают проблемы с экспортом CSV. Вам может потребоваться настроить свойства команд Select
по своему вкусу.
Я изменил -Properties
, чтобы явно перечислить свойства за пределами набора по умолчанию, который вы хотите вернуть. Использование *
выведет все, что не является наилучшей практикой и потребляет ненужные системные ресурсы.