我试图在服务器上运行以下命令(在Windows Server 2012 R2上运行)以导入交换在线PowerShell(我正在将PowerShell ISE与PowerShell版本5一起使用)命令,例如“ Search-UnifiedAuditLog ”,但是每当我运行命令时,我都会收到一个错误。我的代码在本地计算机(带有PowerShell V4的Windows 7)上可以运行,但是当我远程连接到服务器以尝试运行命令时,则无法正常运行。
我的目标是使包含此命令的脚本作为计划任务运行,这就是为什么它需要在服务器上运行的原因。我尝试在服务器上的多个用户帐户上运行此命令,但仍然遇到相同的问题。使用与以前相同的用户帐户运行该命令,但使用我的本地计算机不会导致错误。
我尝试使用以下命令将执行策略设置为RemoteSigned,但这没有任何效果。 Set-ExecutionPolicy -ExecutionPolicy RemoteSigned-范围CurrentUser -Force
我当前的代码如下;
$ExchangeCredentials = Get-StoredCredential -Target Credentials
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser -Force
$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential $ExchangeCredentials -Authentication Basic -AllowRedirection
Import-PSSession $Session -DisableNameChecking -AllowClobber
我收到的全部错误是;
New-PSSession : [outlook.office365.com] Connecting to remote server outlook.office365.com failed with the following error message : The parameter is incorrect. For more information, see the
about_Remote_Troubleshooting Help topic.
At line:1 char:12
+ $Session = New-PSSession -ConfigurationName Microsoft.Exchange -Conne ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : OpenError: (System.Manageme....RemoteRunspace:RemoteRunspace) [New-PSSession], PSRemotingTransportException
+ FullyQualifiedErrorId : 87,PSSessionOpenFailed
我希望该命令可以像在本地计算机上一样正常运行。我找不到与此问题相同的人。
答案 0 :(得分:0)
根据错误消息,New-PSSession
引起了问题。由于所有其他参数看起来正确,因此我将检查您传递给Credential
参数的内容。
Get-StoredCredential -Target Credentials
是否获得正确的PSCredential
对象?