2017-09-06 13 views
0

セキュリティグループwk_testからすべてのコンピュータを削除し、ADのデフォルトのコンピュータコンテナにすべてのコンピュータを追加しようとしています(今すぐ空の)wk_testセキュリティグループ。デフォルトのアクティブディレクトリ「コンテナ」からpowershellを使用してセキュリティグループにコンピュータをコピーする必要があります

ただし、コンピュータをリストにエクスポートしてから、セキュリティグループにインポートする必要はありません。

スクリプトの最初の部分が正常に動作していて、エラーのないwk_testグループからコンピュータが削除されます。私の問題は、コンピュータを「コンピュータ」コンテナからwk_testグループに追加することです。

Remove-ADGroupMember "wk_test" -Members (Get-ADGroupMember "wk_test") -Confirm:$false 
Add-ADGroupMember -Identity "wk_test" -Members (Get-ADComputer -SearchBase "CN=computers,DC=ad,dc=org") -filter* 

私は主な問題は、私がコンピュータコンテナからコピーしようとしていることだと思います。インターネット上のアドバイスのほとんどは、コンテナではなくOUからのコピーを指します。

+0

あなたがコンテナをやっているし、OUは同様に動作します何のために、あなただけの違ったそれらを参照: 'CN = computers'対' OU = my_ou' –

答えて

0

Add-ADGroupMemberdocumentation言う:

あなたは、このコマンドレットにパイプラインを介して、ユーザー、コンピュータ、またはグループオブジェクトを渡すことはできません。

私はあなたが何をしようとしていると思います。

は私がグループにOUからコンピュータを追加する前にこのメソッドを使用しました:

Get-ADComputer -SearchBase "CN=computers,DC=ad,dc=org" -Filter * | foreach {Add-ADGroupMember "wk_test" -Members $_.DistinguishedName } 

しかし、私はあなたにも、このようにコードを修正することができると思うが、私は「として私はこれをテストしていませんでした現時点ではドメインにはありません。

$Computers = Get-ADComputer -SearchBase "CN=computers,DC=ad,dc=org" -filter* | select -ExpandProperty DistinguishedName 
Add-ADGroupMember -Identity "wk_test" -Members $Computers 
+0

スクリプトにはJames C.に感謝します。項目は固定されていますが、-filterと*の間のスペースではありません。また、DC = local、-fixedの代わりに最後のDC = orgを入れました。最終的なスクリプト:Remove-ADGroupMember "wk_test" -Members(Get-ADGroupMember "wk_test") - 確認:$ falseを入力して、Enterキーを押して続行します。 Get-ADComputer -SearchBase "CN = computers、DC = ad、dc = local" -Fi lter * | foreach {Add-ADGroupMember "wk_test" -Members $ _。DistinguishedName} – ace

+0

James C.私は最後の2〜3時間を費やしてスクリプトを作成して、2番目のコマンドラインで一時停止して実行します。 (いいえ、私はPSのウィンドウでマウスをクリックしていません)任意のアイデアですか?両方のラインが正常に動作します。私はenterを押すまで、削除と追加の間で一時停止します。Get-ADComputer -SearchBase "CN = computers、DC = ad、dc = local" -Filter * |フィードバック詳細この資料は以下の製品について記述したものです。 foreach {Add-ADGroupMember "wk_cpsi_test" -Members $ _。DistinguishedName} – ace

0

あなたは括弧の中にフィルタを入れて-filter*の間にスペースを追加する必要があります。

Add-ADGroupMember -Identity "wk_test" -Members (Get-ADComputer -SearchBase "CN=computers,DC=ad,dc=org" -filter *) 
+0

申し訳ありませんが、私はそれを試したことに言及している必要があります。フィルタをかっこ内に置くと、これが表示されます。 Get-ADComputer:パラメータ名 'filter *'に一致するパラメータが見つかりません。行:1文字:121 + ... s、DC = ad、dc = org "-filter *) – ace

+0

これは私のために働きます - あなたのコードでは' -filter'と '*' – Itchydon

0

あなたがそれらを移動する場合は、その理由Move-ADObjectを使用していません。 だから、それは次のようになります。

Get-ADGroupMember "wk_test" | Move-ADObject -TargetPath <ou path> 
+0

私はそれらをコピーする必要があります複雑な説明ですが、部署間の問題のために移動できません(政治) – ace

関連する問題