2016-09-09 2 views
1

Im пытается экспортировать пользователей AD в файл csv с помощью powershell. Теперь одно поле должно иметь первую букву значения. Например: имя - Кевин, инициалы - К.Powershell экспортирует пользователей AD в csv

Я попытался с подстрокой, но им явно делать что-то неправильно:

PS C:\Users\Administrator> Get-ADUser -Filter * -Properties * | Select -Property substring.surname(1,1),surname,givenName,samaccountname,givenN 
ame,Mail,Department | Export-CSV "C:\Export\Users.csv" -NoTypeInformation 

Очевидно им все еще довольно новым для PowerShell.

ответ

2

У вас есть несколько вопросов здесь:

1) Вы выбираете "GivenName" дважды - PowerShell не допустит, что: enter image description here

2) Вы хотите подстроки (0,1) - начинать как позицию 0 и считать 1 букву.

3) это должно делать то, что вы хотите сделать:

Get-ADUser -Filter * -Properties * | ` 
Select @{n='initial';e={$_.surname.substring(0,1)}},surname,givenName,samaccountname,Mail,Department | ` 
Export-CSV "C:\installs\Users.csv" -NoTypeInformation 

по существу, вы создаете и утилизации небольшой массив имущества каждый раз - что позволяет установить значение (подстроки), который затем возвращается в цепочку до выбора, а затем в файл CSV :)

(также стоит отметить, что вы выбираете первую букву фамилии, но в своем вопросе вы спрашиваете получить K от Kevin - вы можете захотеть выбрать из поля forename).


Другие ноты:

-filter * -properties * является очень вычислительно дорого - вы получаете все поля для всех пользователей и только выбрать несколько. попробуйте указать свойства так же, как и в своем выборе.

select -property - -property переключатель является излишним и необязательным - только с помощью Select stuff,otherstuff будет делать то же самое, и будет легче читать

+0

Я бы сказал, что обнадеживающая стенография - не лучший совет. 'Select-Object -Property' будет завершен. Это также позволяет лучше понять то, что * вы просите PowerShell; выберите набор свойств объекта, подаваемого по конвейеру. Без него может быть немного неясно, когда начинающие/люди просматривают сценарии, если/когда OP покинул компанию, поскольку она требует знания сокращений PowerShell и необязательных и стандартных позиционных параметров. Кодекс, который «легче» читать, субъективен, но быть технически полным - нет. Просто мой 2c, и все равно :) – Robin

0

Если вы чувствуете процесс leanthy, вы также можете попробовать CJWdev инструмент или активный каталог Lepide инструмент запроса. Они оба свободны и помогают быстро получать такие отчеты AD.

+1

Это скорее комментарий, затем ответ на поставленный вопрос – Mingebag