Existe uma maneira de fazer com que os recursos de comunicação remota do PowerShell 2 funcionem entre as máquinas com Windows XP?

4

O PowerShell 2.0 tem alguns recursos remotos super-modernos. No entanto, não estou claro se eles podem funcionar com / entre máquinas Windows XP ou se você precisa do Windows Vista ou Windows 7.

Veja o que eu tenho:

  • Um par de máquinas Windows XP MCE com SP3 instalado, junto com .NET 3.5.

  • O PowerShell 2.0 CTP3 está instalado em ambos.

  • O WS-Management v1.1 instalado em ambos (como o 2.0 parece não funcionar no Windows XP?)

Com tudo isso no lugar, o "Enable-PSRemoting" ainda me faz esse erro:

Enable-PSSessionConfiguration : Windows PowerShell remoting features are not enabled or not supported on this machine. This may be because you do not have the correct version of WS-Management installed or this version of Windows does not support remoting currently.

Normalmente, minha resposta neste momento seria dizer "bem, acho que é hora de fazer o download do Windows 7 RC", mas já vi comentários vagos suficientes sobre pessoas remotamente entrando e saindo do Windows XP para me fazer pensar isso é possível.

Como posso fazer isso funcionar?

    
por Electrons_Ahoy 15.05.2009 / 00:12

5 respostas

5

Agora você não pode usar o recurso de comunicação remota do PowerShell no Windows XP porque depende do WinRM 2.0 CTP3 que não está disponível para ele. O suporte para comunicação remota no Windows XP estará disponível após a compilação final do PowerShell V2 (e WinRM 2.0).

    
por 15.05.2009 / 09:47
3

Eu sei que isso não é exatamente o que você está procurando, mas uma alternativa possível, que quase certamente funcionará no XP para o Vista, está executando seu script Powershell remotamente através de:

psexec - Microsoft (feita por Mark Russinovich, chega!) < um href="http://sites.google.com/site/4utils/projects"> rctrlx (minha ferramenta) - Mais poderoso do que psexec em determinadas situações
Remcom - Código aberto

Dessa forma, você não precisa instalar nada em nenhuma das máquinas além do Powershell

    
por 15.05.2009 / 06:39
1

Não consegui fazer o PowerShell funcionar entre o Vista e o XP ou o XP e o XP. Parece que é um tipo de programa do Vista e do Google até esse ponto.

Eu coloquei 10 ou 15 horas nisso ... então talvez outra pessoa tenha sido bem-sucedida ... mas eu não fui capaz de alcançar o necessário neste aqui.

    
por 15.05.2009 / 01:11
1

Você pode trapacear usando alguns truques com WinRS para trabalhar com V1.

function Invoke-RemoteCommand 
{ 
param( 
$ComputerName, 
[SCRIPTBLOCK]$script 
) 
    $encodedScript = [System.Convert]::ToBase64String([System.Text.Encoding]::UNICODE.GetBytes($script)) 
    $objects = Winrs "-r:$ComputerName" PowerShell -OutputFormat XML -NoProfile -NonInteractive -EncodedCommand $encodedScript 
    Write-Output $objects 
}

Invoke-RemoteCommand localhost {gps} |where {$_.handles -ge 500} |sort handles

O -encodedScript é uma opção não documentada para o PowerShell.exe na V1. Ele apenas diz ao PowerShell para usar uma string codificada em base64 como um comando. Torna a vida um pouco mais fácil para a análise, etc., se o seu scriptblock ficar um pouco longo e feio.

    
por 16.05.2009 / 19:16
0

Ainda não foi lançado oficialmente, mas agora você pode obter o Powershell V2 e o WinRM V2 para o Server 2003 e o Windows XP Release através de site Connect da Microsoft . Isso deve permitir que você use os recursos de comunicação remota do PowerShell para e do Windows XP.

    
por 13.11.2009 / 14:41