2016-05-16 29 views
0

次のコード行は、@記号で始まるすべてのActive Directoryグループを取得し、それらのグループからユーザーを削除することになっています。PowerShell - Remove-ADGroupがGet-ADGroup-filterのパイプインを許可しない

Get-ADGroup -Filter 'name -like "@*"' | Remove-ADGroup -identity [USERID] 

のGet-広告グループが素晴らしい作品、それが正常に@で始まるすべてのグループをつかみ、しかし私は、広告グループを削除してパイプ一人ひとり@グループのために、次のエラーを取得します。

Remove-ADGroup : The input object cannot be bound to any parameters for the command either because the command does not take pipeline input or the input and its properties do not match any of the parameters that take pipeline input. 
At line:1 char:41 
+ Get-ADGroup -Filter 'name -like "@*"' | Remove-ADGroup -identity [USERID] 
+           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
+ CategoryInfo   : InvalidArgument: [email protected],O...ife,DC=co,DC=uk:PSObject) [Remove-ADGroup], ParameterBindingException 
+ FullyQualifiedErrorId : InputObjectNotBound,Microsoft.ActiveDirectory.Management.Commands.RemoveADGroup 

なぜパイプが機能しないのか分かりません。

+0

。これは可能性が非常に間違っていた。 :-) –

+0

非常に良い点!これを指摘してくれてありがとう、私はPowerShell(あなたが言うことができるように)にはかなり新しいので、これからもこれを心に留めておきます! – haze1434

答えて

2

Remove-ADGroupグループ全体を削除する - これは間違いなくあなたが望むものではありません。

利用代わりRemove-ADGroupMember:あなたは何をやっていることは正しいと働いている100%確信しているまで、あなたは常に `削除-`コマンドレットで `-WhatIf`を使うべき理由です

Get-ADGroup -Filter 'name -like "@*"' | Remove-ADGroupMember -Members [USERID] 
+0

素晴らしい作品です!ありがとうございました。 – haze1434

+0

ちょうど実際に確認するつもりなら、上記の-whatifの出力が「何の場合:操作を実行していますか」CN = @ [GROUP NAME] OU = [OU DETAILS] "、これは問題ないでしょうか? – haze1434

+0

いくつかのコマンドレットは、より意味のあるメッセージを持っていますが、少なくとも正しいグループのSet-operation(modify)と言います。確かでない場合は、1つのグループに対してコマンドを実行して、時間。 'get-adgroup mytestgroup | Remove-adgroupmember -members someuser' –

関連する問題