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 8

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()

Ошибка заключается в том, что вы пытаетесь импортировать весь набор команд с удаленного сервера. Не совсем понимаю, почему вы позволяете колотить.

Лично я бы просто импортировал соответствующие модули SHarePoint, а не все удаленные рабочие области.

Работает ли импорт??