#powershell #output
#powershell #вывод
Вопрос:
Я пытаюсь выводить файлы в формате .txt, но я хочу видеть только заполненные атрибуты. Некоторая помощь была бы весьма признательна.
$T | ft Name,Logonworkstations | OUT-FILE c:tempname.txt
Комментарии:
1. Под «заполненными» атрибутами вы подразумеваете атрибуты, которые не являются пустыми или нулевыми?
2. Ну, то, что я пытаюсь сделать, это извлечь атрибут из большого количества учетных записей, но я хочу видеть только учетные записи, в которых этот атрибут заполнен.
Ответ №1:
$T | ?{[string]::IsNullOrWhiteSpace($_.Name) -ne $ture -and `
[string]::IsNullOrWhiteSpace($_.Logonworkstations) -ne $true} `
| ft Name,Logonworkstations | OUT-FILE c:tempname.txt
Это проверит, имеют ли Logonworkstations
Name
атрибуты ether $null
или or и empty string ( ""
) в качестве значения. Если эфир из них равен нулю / пуст, строка пропускается. Но если оба атрибута имеют значение, объект будет записан в файл.
Комментарии:
1. Спасибо за ответ, но когда я запускаю его, я все равно получаю Name — (Null) в .txt . То, что я пытаюсь сделать, это вывести имя Logonworkstations в текстовый файл.txt, но если Logonworkstations пуст, я не хочу, чтобы они были в текстовом файле. Это то, что находится внутри $ T, если это может помочь: Get-ADUser -SearchBase «OU = Учетные записи служб, OU = …., OU = …., dc = …., dc = ….., dc = …..» -Фильтр * -Свойства *
2. @ChevelloLo Я обновил свой ответ, чтобы включить только пользователей с обоими атрибутами.