2016-03-04 9 views
1

Я запускаю сценарий PowerShell (версия 3.0) для получения информации Citrix XenApp 6.5 из списка серверов, но я получаю следующее сообщение об ошибке на некоторых из серверы (на 02 и 03 серверов представления, см скрипт ниже): The socket connection was aborted. This could be caused by an error processing your message or a receive timeout being exceeded by the remote host, or an underlying network resource issue.PowerShell Invoke-Command возвращает «Соединение сокета было прервано»

Вот сценарий, я бегу:

$servers = "license_server01", "presentation_server01", "presentation_server02", "presentation_server03", 
$scriptblock = { 
    param ($s) 

    Add-PSSnapin Citrix.* 

    Write-Host "--------------------" 
    Write-Host "Server: $s" 
    Write-Host "--------------------" 
    Get-XAServer | Select-Object ServerName, CitrixVersion 
} 

foreach ($server in $servers) 
{ 
    Invoke-Command -ComputerName $server -ScriptBlock $scriptblock -ArgumentList $server 
} 

Я искал, но найти только одну ссылку, которая была связана с PowerShell и Citrix , но он, похоже, не применим ко мне, так как я выполняю команду удаленно. Ни одна из других ссылок, которые я просматривал, по-видимому, не соответствовала моей ситуации, и они не дали правильного объяснения ошибки, которая помогла бы устранить эту проблему.

Я не запускаю Citrix XenApp 6.5 SDK на своей локальной машине, на которой я запускаю скрипты. Решение, которое я пытаюсь разработать, скорее всего, будет распространено среди пользователей, у которых нет SDK, и не сможет установить SDK, поэтому я стараюсь не использовать его локально.

SDK установлен на каждом сервере, и я могу успешно выполнять команды с сервера. Локальная машина и серверы работают под управлением PowerShell 3.0.

Кто-нибудь знает, что вызывает ошибку, почему это происходит только на серверах презентаций 02 03 и как я могу это решить? Я новичок в Citrix и стараюсь учиться на лету.

Спасибо.

ответ

0

Param $s должно быть param ($server) в вашем скриптовом блоке