Я не совсем понимаю, что вы ищете, но я думаю, что вы хотите получить текущие значения некоторых свойств вместе с «флагом», который сообщает вам, есть сертификат или нет. Если это так, один из способов сделать это - добавить новое свойство к возвращаемым объектам:
Get-ADUser -Identity $user -Properties userSmimeCertificate |
ForEach-Object {
Add-Member -InputObject $_ `
-MemberType NoteProperty `
-Name USCertPresent `
-Value ($_.userSmimeCertificate -is [System.Array]) `
-PassThru
}
Таким образом, вы получаете все, что у вас было раньше, вместе с новым свойством USCertPresent
, которое имеет значение true или false, в зависимости от наличия данных сертификата.
Если вы хотите что-то более простое, имея только нужные вам свойства, то вы можете создать совершенно новый объект, используя только эти:
Get-ADUser -Identity $user -Properties userSmimeCertificate |
ForEach-Object {
Add-Member -InputObject $_ `
-MemberType NoteProperty `
-Name USCertPresent `
-Value ($_.userSmimeCertificate -is [System.Array]) `
-PassThru
} | Select-Object Property1, Property2, Property3, USCertPresent
Просто замените Property1
и т. Д. Именами фактических свойств, которые вы хотите.