文件路径中带有脚本块的调用命令-无参数

时间:2018-09-05 12:24:53

标签: powershell exchange-server-2016

我正在使用PowerShell脚本来覆盖Exchange 2016上的外出文本。

我正在从运行所有任务的远程服务器上执行此操作。

这就是我所说的:

Invoke-Command -Session $Session -FilePath $filepath

使用参数-FilePath调用此ps1,它可以工作,它适用于更简单的文件。 现在到要放入文件路径的文件:

Get-Mailbox | Get-MailboxAutoReplyConfiguration |
    where {$_.AutoReplyState -eq "Disabled"} |
    Set-MailboxAutoReplyConfiguration -AutoReplyState Disabled -InternalMessage "ExampleTextIrrelevant"

因此,我先获取所有邮箱,然后获取配置,仅获取禁用的邮箱并设置新文本。

它在ExchangeServer上工作。

现在,我收到以下错误消息,他不喜欢我的$_.子句中的变量where以及他不喜欢的where子句中的脚本块。

我还尝试用where等替换Where-Object,但是不起作用。

错误消息(德语):

In Zeile:1 Zeichen:57  
+ ... ReplyConfiguration | where {$_.AutoReplyState -eq "Disabled"} | Set-M ...  
+                                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  
Skriptblockliterale sind im eingeschränkten Sprachmodus oder in einem
"Data"-Abschnitt nicht zulässig.  

In Zeile:1 Zeichen:58  
+ ...  Get-MailboxAutoReplyConfiguration | where {$_.AutoReplyState -eq "Di ...  
+                                                 ~~~~~~~~~~~~~~~~~  
Eigenschaftsverweise sind im eingeschränkten Sprachmodus oder in einem
"Data"-Abschnitt nicht zulässig.  

In Zeile:1 Zeichen:58  
+ Get-Mailbox | Get-MailboxAutoReplyConfiguration | where {$_.AutoReply ...  
+                                                          ~~  
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.  
+ CategoryInfo          : ParserError: (:) [], ParseException  
+ FullyQualifiedErrorId : ScriptBlockNotSupportedInDataSection  
+ PSComputerName        : sv-exchange  

创建$Session

$User = "domain\user"
$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

1 个答案:

答案 0 :(得分:0)

我找到了解决方法:

在Exchange Server的IIS上,编辑Powershell的web.config。在那里,您可以将语言编辑为FullLanguage。