2016-09-09 20 views
1

powershellでADユーザーをCSVファイルにエクスポートしようとしています。今では、1つのフィールドには値の最初の文字が必要です。例:名前 - ケビン、イニシャル - K.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ファイルに戻します:)

(姓の最初の文字を選択していますが、あなたの質問では、 KevinからKを得る - あなたはforenameフィールドから選択したいかもしれません)。


その他の注意事項:

-filter * -properties *非常に計算高価です - あなたはすべてのユーザーのすべてのフィールドを取得し、ほんの数を選択しています。あなたが選択したのと同じ方法でプロパティをリストアップしてみてください。

select -property - -propertyスイッチは冗長とオプションである - ちょうどあなたがプロセスleanthyを感じた場合、あなたはまた、CJWdevツールまたはLepideアクティブディレクトリを試すことができます

+0

私は、短期間の励ましは最善のアドバイスではないと主張したいと思います。 'Select-Object -Property'が完了します。これはまた、PowerShellに何を求めているかを正確に理解するのに役立ちます。パイプラインにフィードされているオブジェクトから一連のプロパティを選択します。それがなければ、PowerShellの略語と省略可能なデフォルトの位置パラメータについての知識が必要なため、OPが退社した場合、初心者/スクリプトのレビュー担当者が少し不明になることがあります。コードは読みやすくても主観的ですが、技術的には完全ではありません。ちょうど私の2cと、とにかくupvoted :) – Robin

0

を読むために同じことを行いますSelect stuff,otherstuffを使用して容易になりますクエリツール。どちらも無料で、このようなADレポートを素早く取得するのに役立ちます。

+1

これは、上記の質問への答えより多くのコメントです – Mingebag

関連する問題