>我正在开发一个PowerShell脚本来覆盖Exchange 2016上的外出文本。
我是从运行所有任务的远程服务器执行此操作的。
这就是我所说的:
Invoke-Command -Session $Session -FilePath $filepath
这个 ps1 使用参数-FilePath
调用,它工作,它适用于更简单的文件。 现在进入文件路径的文件:
Get-Mailbox | Get-MailboxAutoReplyConfiguration |
where {$_.AutoReplyState -eq "Disabled"} |
Set-MailboxAutoReplyConfiguration -AutoReplyState Disabled -InternalMessage "ExampleTextIrrelevant"
因此,我获取所有邮箱,然后是配置,只有禁用的邮箱并设置新文本。
它适用于ExchangeServer。
现在我收到以下错误,他不喜欢我的where
子句中的变量$_.
以及他不喜欢的where
子句中的脚本块。
我也试图用Where-Object
等替换where
,但它不起作用。
错误消息(德语(:
在泽乐:1 泽琛:57 + ...回复配置 |其中 {$_.自动回复状态 -eq "已禁用"} |设置-M... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Skriptblockliterale sind im eingeschränkten Sprachmodus oder in einem "Data"-Abschnitt nicht zulässig. 在泽乐:1 泽琛:58 + ... 获取邮箱自动回复配置 |其中 {$_.AutoReplyState -eq "Di ... + ~~~~~~~~~~~~~~~~~ Eigenschaftsverweise sind im eingeschränkten Sprachmodus oder in einem "Data"-Abschnitt nicht zulässig. 在泽乐:1 泽琛:58 + 获取邮箱 |获取邮箱自动回复配置 |其中 {$_.自动回复... + ~~ Es wird auf eine Variable verwiesen, auf die im eingeschränkten Sprachmodus oder in einem Data-Abschnitt nicht verwiesen werden darf.Zu den Variablen, auf die verwiesen werden darf, gehören folgende: $PSCulture, $PSUICulture, $true、$false、$null。 + 类别信息 : 解析器错误: (:) [], 解析异常 + 完全限定的错误 ID : 脚本块不支持在数据部分 + PSComputer名称 : sv交换
创建$Session
:
$User = "domainuser"
$PWord = ConvertTo-SecureString -String "PasWorD" -AsPlainText -Force
$UserCredential = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $User, $PWord
$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri http://ExchangeServer/PowerShell/ -Authentication Kerberos -Credential $UserCredential
我已经找到了解决方案:
在 Exchange Server 上的 IIS 上,编辑 Powershell 的 web.config。在那里,您可以将语言编辑为完整语言。