2017-01-16 11 views
-2

私は失われていますユーザーがCSV形式で所有しているすべてのグループを私に与えるためにクエリを書く必要があります。代わりに、ユーザー名と電子メールを持つすべてのグループのリストがあります。Powershell LDAPクエリすべてのグループとその所有者のリストを取得

CSV形式である必要があり、次のいずれか

"GroupName", ,"givenname","surname","office","mail", 

か(優先)

"givenname","surname","office","mail","group1","group2","group3",etc... 

私は次のことを試してみましたが、それはうまくいきませんでした。

$test = 'OU=Practice Office,DC=us,DC=LMCorp,DC=com' 
$test | ForEach { 
    Get-ADGroup -Filter * -Properties ManagedBy -SearchBase $_ 
} | Select Name, ManagedBy,objectGUID,memberOf,givenname,surname,office,mail,‌​title,telephoneNumbe‌​r,department | Sort -Property Name | Out-File C:\temp\1.csv 
+0

私は運が無かったのでこれを試しました。$ test = 'OU = Practice Office、DC = us、DC = LMCorp、DC = com' $ test | ForEach {Get-ADGroup -Filter * - プロパティManagedBy -SearchBase $ _} | 名前、ManagedBy、objectGUID、memberOf、givenname、surname、office、mail、title、telephoneNumber、departmentを選択します。 ソート - プロパティ名| アウトファイルC:\ temp \ 1.csv –

+0

あなたの質問を編集してください。コメントのコードは読めません。 –

+0

OUのLDAP文字列は実際に正しいのですか?とにかく '$ test'だけを使っているので、' ForEach'をスキップすることができます。 'Out-File'を' Export-Csv'で置き換えれば、実際には最初のフォーマットのようにCSVを得るはずです。 – Seth

答えて

1

あなたはforeachのを使用して、なぜ私は表示されません。これはうまくいかないでしょうか?

$test = ou location 
$groups = get-adgroup -searchbase $test -properties ManagedBy 

あなたが探しているものが$グループに含まれます。ちょうどPowerShellのプロンプトでそれを入力することによって、その内容を確認してください:

$groups 

それとも

$groups[0] 

はあなたのセット内の最初の要素を与えます。次に、ソートしてファイルにパイプすることができます。あなたはそれを得ることができます、あなたは正しいADオブジェクトが返ってきていますか?

+0

かなり理解していない、私はあなたが見るためのコードサンプルを投稿することができますスーパー新しいですか? –

+1

しかし、彼はあなたに完全な例を与えました。 '$ test'で始まる行(明らかにLDAP文字列を自分で追加する必要があり、' $ groups'はそのまま使用できます).RSATツール(AD PowerShellモジュール用)がインストールされていると仮定します。 'Import-Module ActiveDirectory'をあらかじめ用意しておきます。 – Seth

関連する問題