2015-11-06 8 views
8

jestem na serwerze, na którym jest uruchomiony PowerShell w wersji 2:Run zdalna sesja PowerShell w wersji 2

PS C:\> $PSVersionTable 

Name  Value 
----  ----- 
... 
PSVersion 2.0 

I następnie utworzyć nową sesję zdalnego do innego komputera i połączyć się z nim:

$sess = New-PSSession -ComputerName {ComputerName} -Credential $credential 

zwraca mi wynik:

PS C:\> Invoke-Command -Session $sess -ScriptBlock { $PSVersionTable } 

Name  Value 
----  ----- 
... 
PSVersion 3.0 

jednak muszę być PowerShell w wersji 2 dla mojego skryptu więc Ente r sesja (aby ułatwić). I wtedy postarać się PowerShell być Wersja 2:

C:\> Enter-PSSession -Session $sess 
[{ComputerName}]: PS C:\> Powershell -Version 2 
Windows Powershell 
Copyright (C) 2009 Microsoft Corporation. All rights reserverd 

a następnie po prostu zawiesza się (lub przynajmniej nie pozwala mi wejść nic innego do konsoli dopóki nie Ctrl-C).

Próbowałem zostały również przechodzi Invoke-Command:

PS C:\> Invoke-Command -Session $sess -ScriptBlock { Powershell -version 2 } 

i robi to samo.

Próbowałem również zarejestrować PSSessionConfiguration zgodnie tutaj: https://technet.microsoft.com/en-us/library/hh847899.aspx

PS C:\> Register-PSSessionConfiguration -Name PS2 -PSVersion 2.0 

Ale otrzymuję:

Register-PSSessionConfiguration: a parameter cannot be found that matches parameter name 'PSVersion'. 

Czy ktoś ma jakieś pomysły, co mogę spróbować następny ?! Dzięki

+5

Co z 2, że nie ma 3? Dlaczego jest łatwiej? Jestem naprawdę ciekawy. –

+2

Na jakiej maszynie uruchomiłeś 'Register-PSSessionConfiguration' ... twój komputer lub" serwer "? Co to jest system operacyjny serwera? Właśnie próbowałem kroków w artykule technetu i działało idealnie. Mój serwer z 2008 r. Został ponownie powiązany z moim komputerem z systemem Windows 7, na którym działa 2.0 PSSessionConfiguration. Czy próbowałeś tego na innym serwerze lub hoście? – Matt

+0

@RitchMelton - Alas SharePoint 2010 integracja (https://support.microsoft.com/en-us/kb/2796733) – Pete

Odpowiedz

3

Na jakiej maszynie został uruchomiony Register-PSSessionConfiguration?. Twój komputer lub "serwer"?

Musisz dokonać konfiguracji na serwerze docelowym . To właśnie uruchomisz hostowaną konfigurację PSSession.

Właśnie próbowałem kroki w technet article i działało idealnie. Mój serwer z 2008 r. Został ponownie powiązany z moim komputerem z systemem Windows 7, na którym działa 2.0 PSSessionConfiguration.

Na docelowym serwerze/host:

Register-PSSessionConfiguration -Name PS2 -PSVersion 2.0 

Następnie na komputerze klienckim, odwoływać się do konfiguracji PS2 ''.

$s = New-PSSession -ComputerName Server01 -ConfigurationName PS2 
0

Biorę go, że następujące nie działa albo:

#Requires -version 2.0 

Innym Kluge można spróbować jest stworzenie zaplanowane zadanie na cel i mieć ogień to zadanie skryptu z Powershell.exe -version 2