我正在对PowerShell 2中的'set-distributiongroup'进行cmdlet调用。我只是将参数'hiddenFromAddressListsEnabled'的值设置为预定义的布尔值。
但是,无论我尝试什么,如果布尔赋值实际上没有改变'hiddenFromAddressListsEnabled'的当前值,它会显示一条警告消息。
这是我正在调用的主要命令:
set-DistributionGroup -identity TestGroup `
-hiddenFromAddressListsEnabled=$true
让我们在语义上将我上面的内容定义为'command'。
现在,我尝试添加几种不同的变体,所有变种都具有正确的行继续和语法。以下是这些变体:
command > $null
command 2> $null
command -ErrorAction:silentlycontinue
command -ErrorVariable $throwAway
command -WarningAction:silentlycontinue
command -WarningVariable $throwAway
$var = command
无论上述一个或多个的各种组合如何,我仍然会收到黄色警告:消息吐出输出。具体来说,这个:
WARNING: The command completed successfully but no settings of
'<xxxxxx>/Users/TestGroup' have been modified.
关于一个我不理解的关键概念的任何建议?我希望命令不产生这个输出,如果发生这种情况,我希望它能以静默方式继续。
谢谢!
答案 0 :(得分:10)
我一直试图在停止服务时取消警告信息:
WARNING: Waiting for service 'Service Description' to finish stopping...
以下对我有用:
Stop-Service $svc.Name -WarningAction SilentlyContinue
答案 1 :(得分:4)
如果这只是一个导致问题的警告,为什么不在脚本中设置$WarningPreference
变量?
PS C:\> $WarningPreference='silentlycontinue'
PS C:\> Write-Warning "coucou"
PS C:\> $WarningPreference='continue'
PS C:\> Write-Warning "coucou"
AVERTISSEMENT : coucou
答案 2 :(得分:2)
无论如何,你的命令应如下所示:
Set-DistributionGroup -Identity TestGroup -HiddenFromAddressListsEnabled $true
答案 3 :(得分:2)
你的命令错了。这就是为什么你收到黄色错误信息的原因。该命令应如下所示:
Set-DistributionGroup -Identity TestGroup -HiddenFromAddressListsEnabled $true
或者
Set-Distributionaliste -Identity TestGroup -HiddenFromAddressListsEnabled:$true
但不是
Set-DistributionGroup -Identity TestGroup -HiddenFromAddressListsEnabled=$true
答案 4 :(得分:1)
我在2010年遇到了与Exchange管理控制台相同的问题。问题是EMC在PowerShell 2.0上运行,如前所述,它有一些警告偏好方面的错误。
我发现一个厚颜无耻的解决方法是在一个vanilla PowerShell 4.0 shell中运行我的脚本,然后导入EMC cmdlet并启动一个新的远程PS会话......
. 'C:\Program Files\Microsoft\Exchange Server\V14\bin\RemoteExchange.ps1'
Connect-ExchangeServer -auto
...然后, -WarningAction:SilentlyContinue 突然开始表现自己。
答案 5 :(得分:1)
在搜索问题时突然提出这个话题, 我的案例PowerShell v2,仅在设置
之后$WarningPreference = "SilentlyContinue"
写警告“等等” - 没有回复我...命令上的参数在我的结尾也没有太大变化。
答案 6 :(得分:0)
你应该试试
Set-DistributionGroup -Identity TestGroup -HiddenFromAddressListsEnabled $true -WarningAction silentlyContinue
答案 7 :(得分:0)
我遇到了同样的问题,以下命令似乎完成了这项工作(PS 3.0):
Stop-Service<or whatever command> $svc.Name -WarningPreference SilentlyContinue
不过确切地知道它与-WarningAction有什么区别。
希望这有帮助!
答案 8 :(得分:0)
如果你调用powershellversión2.0,你应该使用“-WarningAction silentntlyContinue”。我遇到了同样的问题,但在脚本中,如果我调用,例如“C:\ Windows \ System32 \ WindowsPowerShell \ v1.0 \ powershell.exe-versión2.0”,则可以使用此参数。我正在尝试计划任务并使用ps1脚本。
答案 9 :(得分:-1)