2017-11-03 11 views
0

ユーザーのリスト(ファーストネームと最後)、電子メールアドレス、およびそれらが入っているコンテナを取得しようとしていますが、残念ながら必要なデータが表示されません。コンテナ名ではなく、ほとんどの情報を取得できます。プルユーザー情報AD

Get-ADUser -SearchBase 'DC=DOMAINNAME,DC=COM' -Filter {(mail -ne "null") -and (Enabled -eq "true")} -Properties emailAddress | 
    Select givenName,surName,OU,emailAddress | 
    Format-Table -AutoSize | 
    Out-File 'C:\Users\username\Desktop\Lists\Users_List.txt' 

答えて

2

あなたは属性DistinguishedNameを探しているが、ちょうどOUを取得するには、いくつかの書式設定を行う必要があります。 Get-ADUser | Get-Memberを実行した場合は、OUというプロパティがないことがわかります。 Understanding PowerShell Custom Properties with the Select-Object cmdlet

+0

「DistinguishedName」の使用に関するアドバイスをありがとうございます。私は必要な情報を見つけることができますが、私が必要とする情報よりも多くの情報を見つけることができるので、私は必要な情報にフィルタリングする必要があります。 しかし、今では新しい問題が発生しました。私は情報をテキストファイルにエクスポートしているので、1行に文字数制限があります。これを回避する方法を知っていますか?私はそれをCSVファイルにエクスポートする方が好きですが、正しく動作させることができませんでした。 – David

+0

上記のスクリプトを書式設定してみましたが、結果は次のとおりです。 "givenName"、 "surName"、 "OU"、 "emailAddress" "Alan"、 "Adams" ,, " [email protected] " しかし、" DistinguishedName "を含むようにコードを変更すると、情報が取得されます。 "CN = Info"や "DC = info"など不要な情報をフィルタリングする方法はありますか? – David

+0

私はあなたのためにあなたのスクリプトを書くことにドリルダウンし始めている。関数 'Export-Csv'は毎回私のために働くので、' Format-Table'と 'Out-File'の代わりに使うことができます。それはあなたの情報を.csv形式に変換します。 OUの名前が必要だった場合は、正規表現で最初のOU名を選択するか、式で使用した文字列を使用してGet-ADOrganizationalUnitに渡し、Nameプロパティを選択します。 –

0

Get-ADUser ` 
    -SearchBase 'DC=DOMAINNAME,DC=COM' ` 
    -Filter {(mail -ne "null") -and (Enabled -eq "true")} ` 
    -Properties emailAddress ` 
| Select givenName,surName,@{Name='OU';Expression={$_.DistingishedName.Replace("CN=$($_.Name),","")}},emailAddress ` 
| Format-Table -AutoSize ` 
| Out-File 'C:\Users\username\Desktop\Lists\Users_List.txt' 

記事は、私が$ falseにし、$ trueにメールフィルタを変更します。私は、私の答えをテストするためにそれにインストールされたADモジュールを備えたコンピュータを持っていません。そうでなければ、私はもっと多くを提供しました。

関連する問題