为什么Remove-ADGroupMember默认为需要确认?

在脚本中,我需要pipe理一个组的成员。 不幸的是,用于从组中Remove-ADGroupMember成员的cmdlet, Remove-ADGroupMember总是要求确认。 这与所描述的cmdlet的行为是矛盾的,因为有一个-Confirm选项应该打开确认。 这需要使用模糊的,logging不完整的冒号对开关参数的值进行绑定: -Confirm:$false ,而使用直接的-Force开关更合理。

环境中是否有一个设置可以改变cmdlet的行为? 这只是一个执行不力的function? 我是否错过了一些可以解释开关参数混淆行为的明显文档?

你问为什么不包括“-Confirm”提示你确认? 默认情况下,不指定$ false,cmdlet将始终提示进行确认。 该选项是在那里给你的能力来压制确认。 这可能是令人困惑的,因为它被称为-Confirm,但这是因为在PS中,您为该参数指定了一个值。 所以你实质上是在说“设定 – 确认是否/否”。 如果这个参数被称为-NoConfirm并且你必须为那个参数设置一个值,那将会更令人困惑。

这是devise。 缺省情况下,在运行此cmdlet时未提示-Confirm:$false ,以确保您要运行此命令。

知识的一些链接(注意他们不直接回答这个问题,只是给你一些洞察PS语法/语法):

http://blogs.msdn.com/b/powershell/archive/2006/05/10/594535.aspx

http://www.manning.com/payette/AppCexcerpt.pdf

http://technet.microsoft.com/en-us/magazine/jj554301.aspx

编辑:也许我误解了你的问题。 我正在把我的答案build立在“有一个确定的select”上。 如果你的问题是为什么我必须使用冒号,DavidV的答案是正确的。

在Stackoverflow上提供了一个很好的答案(所有功劳都归功于manojlds):

https://stackoverflow.com/questions/8525572/powershell-colon-in-commandlet-parameters