Я использую Get-ADUser, но запрошенный результат сложный. Я пытаюсь обрезать фамилию, которая имеет *, M. D. или *, Jr., но Select не работает. Кроме того, я увидел случай, когда фамилия была Smith Jr, и запрос должен удалить «space Jr», поэтому остается только Smith. Не знаете, как легко разместить все это. Спасибо.PowerShell подстроить фамилию после запятой или пробелом
ForEach ($User in $Users) {
$LN = $User.Surname
$LN1 = $LN -replace '\s',''
Select mail,telephonenumber,givenname,@{Name='surname';Expression={$LN1}} | ConvertTo-Csv -Delimiter "|" | Select-Object -Skip 2 | Out-File "C:\Scripts\Maintenace Connection\output-test1_$((Get-Date).ToString('MM-dd-yyyy')).txt" -Append}
Отлично, но как получить его для вывода с использованием инструкции Select и формата вывода? @ {} Не работает. Thx – MarcGel
С вашим предложением выбора, я думаю, вы просто ничего не пишете; поэтому он не знал бы, какой объект забрать почту, телефонный номер и т. д .; это исправлено в моем ответе выше. Для выражения ('@ {Name = 'surname'; Expression = {$ LN1}}'); работает так, как ожидалось. – JohnLBevan
пс. вы используете 'ConvertTo-Csv' и' Out-File'; вы можете использовать 'Export-Csv' вместо этого для того же эффекта с меньшим количеством кода. – JohnLBevan