Import-PSSession: создание прокси-сервера было пропущено для команды"%", поскольку PowerShell не смог проверить его имя как безопасное
У меня есть настроенная ферма Sharepoint, и я подключаюсь к одному из моих серверов приложений/поиска с компьютера Windows 7 в домене с помощью удаленного powershell. И клиент, и серверы приложений имеют powershell 2 с политикой выполнения, установленной в unrestricted и включенной psremoting. Кроме того, я запускаю командлеты от имени учетной записи администратора домена.
Я могу создать сеанс на удаленном сервере, используя следующие командлеты:
$Session = New-PSSession -ConfigurationName "Microsoft.PowerShell" -ConnectionUri "http://app01-spl1:5985/wsman/" -Authentication "Kerberos"
Import-PSSession $Session -AllowClobber
Однако, когда я импортирую сеанс я получаю следующий eror:
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
Может ли кто - нибудь помочь решить эту ошибку?
2 ответа:
Я решил эту проблему, просто войдя в удаленный сеанс вместо того, чтобы импортировать его. Затем я смог добавить оснастку 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()
Другой вариант - использовать командлет Invoke-Command с параметром ScriptBlock, например.
$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()