10

我有一个 Sharepoint 场设置,我正在使用远程 powershell 从域中的 Windows 7 机器连接到我的应用程序/搜索服务器之一。客户端和应用程序服务器都具有 powershell 2,其执行策略设置为无限制并启用了 psremoting。此外,我将 cmdlet 作为域管理员帐户运行。

我可以使用以下 cmdlet 创建与远程服务器的会话:

$Session = New-PSSession -ConfigurationName "Microsoft.PowerShell" -ConnectionUri "http://app01-spl1:5985/wsman/" -Authentication "Kerberos" 
Import-PSSession $Session -AllowClobber

但是,当我导入会话时,出现以下错误:

Import-PSSession : Proxy creation has been skipped for '%' command, because PowerShell couldn't verify its name as safe.
At line:1 char:17
+ Import-PSSession <<<<  $Session -AllowClobber
    + CategoryInfo          : InvalidData: (:) [Import-PSSession], InvalidOperationException
    + FullyQualifiedErrorId : ErrorSkippedUnsafeCommandName,Microsoft.PowerShell.Commands.ImportPSSessionCommand
Import-PSSession : Proxy creation has been skipped for '?' command, because PowerShell couldn't verify its name as safe.
At line:1 char:17
+ Import-PSSession <<<<  $Session -AllowClobber
    + CategoryInfo          : InvalidData: (:) [Import-PSSession], InvalidOperationException
    + FullyQualifiedErrorId : ErrorSkippedUnsafeCommandName,Microsoft.PowerShell.Commands.ImportPSSessionCommand
Import-PSSession : Could not resolve remote alias 'ise'.
At line:1 char:17
+ Import-PSSession <<<<  $Session -AllowClobber
    + CategoryInfo          : OperationTimeout: (:) [Import-PSSession], ArgumentException
    + FullyQualifiedErrorId : ErrorCouldntResolveAlias,Microsoft.PowerShell.Commands.ImportPSSessionCommand

谁能帮助解决这个错误?

4

2 回答 2

8

我通过简单地输入远程会话而不是导入它来解决这个问题。然后,我能够添加安装在远程计算机上的 SharePoint 管理单元并运行我的脚本。

$Session = New-PSSession -ConfigurationName "Microsoft.PowerShell" -ConnectionUri "http://app01-spl1:5985/wsman/" -Authentication "Kerberos" 
Enter-PSSession $Session
Add-PSSnapin Microsoft.SharePoint.PowerShell

<Cmdlets or script goes here>

Exit-PSSession
Remove-PSSession -ID $Session.ID
[GC]::Collect()

另一种选择是使用带有 ScriptBlock 参数的 Invoke-Command cmdlet,如下所示。

$Session = New-PSSession -ConfigurationName Microsoft.PowerShell -ConnectionUri "http://app01-spl1:5985/wsman/" -Authentication Kerberos
Invoke-Command -Session $Session -ScriptBlock { Add-PSSnapin Microsoft.SharePoint.PowerShell }

Invoke-Command -Session $Session -ScriptBlock { <Your cmdlet here.> }

Remove-PSSession -ID $Session.ID
[GC]::Collect()
于 2012-08-06T14:02:49.953 回答
1

错误是您正在尝试从远程服务器导入整组命令。不太清楚你为什么允许clobber。

就个人而言,我只是导入相关的 SHarePoint 模块而不是所有远程工作区。

导入有用吗??

于 2012-08-04T12:55:08.230 回答