2017-04-06 20 views
0

OUの名前を動的に見つける方法を取得しようとしています。PowerShellであまり情報を持たないOUの名前を取得

問題は、会社名は常に存在するが、内容が変わる可能性があるということです。

たとえば、次のようにこの場合

enter image description here

、私は(私のスクリプトで)取得する必要が、会社名は、「マイクロソフト」です。

しかし、これを動的に実行できる方法はありませんでした。

subOUは(クライアントごとに異なるが、すべてのクライアントが同じOUを持っているわけではないため)、会社名を取得するのに適した方法を見つけるのは難しいです。

は、私は約retrieve the OU that is made by an Admin and has more than 10 objects思ったけどGet-ADOrganizationalUnitコマンドレットはcreated by:

enter image description here

のように聞こえるのパラメータを持っていない私はあきらめる必要があるかの方法のいくつかの並べ替えがありますか?私はこの問題を回避するためのものの「algorithmicish」種類試してみました

EDIT

:OUは、おそらくユーザーが含まれていますので

を、私は

を返信するすべてのユーザーの識別名を確認します
Get-ADUser -Filter {Description -like "Member"} | Select DistinguishedName 

CN=User1,OU=User,OU=Microsoft,DC=domain,DC=local 

各OUの計算(カウント)はどうすればできますか?

+1

私は質問を理解し、完全にわからないんだけど、私はあなたがこのような「所有者」を選択することによりOUを作成した人見つけることができることを伝えることができます。Get-ADOrganizationalUnitを -properties *を| @ {N = "所有者"; E = {$ _。nTSecurityDescriptor.owner}}を選択します。その後、 "where"ステートメントを追加して、特に必要な管理者を除外できます。注:これは、すべてではないにしても、ほとんどのADオブジェクトに当てはまります。 – Joseph

+1

また、Get-ADOrganizationalUnitコマンドレットの "SearchBase"パラメーターと "SearchScope"パラメーターを使用することもできます。 – Joseph

+0

ご意見ありがとうございますが、これは動作しません: 'Get-ADOrganizationalUnit -Filter * | –

答えて

1

すべてのOUを作成した場合は、ドメイン管理者になります。私は

Get-ADOrganizationalUnit -Filter * -Properties * | Select @{N="Owner";E={$_.nTSecurityDescriptor}} 

を実行すると、私は(切り捨て)添付画像を取得しますenter image description here

OUはすべてデフォルトのOU後に作成されたかどうかを判断することができる場合、あなたはこのように、どこ文でWhenCreatedにフィルタリングでき:

$DefaultOUCreationDate = Get-ADOrganizationUnit CN=Users,DC=domain,DC=local -Properties * | Select -ExpandProperty WhenCreated 
Get-ADOrganizationalUnit -Filter * -Properties * | Where { $_.WhenCreated -ge $DefaultOUCreationDate } 
+0

私はOUのすべてを作成していないので、これは私の質問を解決しません(大多数はデフォルト生成されています)。 「Microsoft」-UUは質問の上の写真の私だけによって作成されています –

+0

あなたの質問が何であるかはまだ分かりません。 – Joseph

+0

質問の画像にMicrosoftの名前が表示されていますか?それは私が変数にキャッチする必要がある名前です。しかし、名前はすべての会社(Microsoftは1 dc、他のDCのAppleは...)に変わる可能性があるので、私は動的な方法を適応させる必要があります。 –

関連する問題