2015-11-06 17 views
8

Powershell Sürüm 2 çalıştığını:çalıştırın uzaktan PowerShell oturumu versiyonu olarak ben bir sunucuda olduğum 2

PS C:\> $PSVersionTable 

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

Sonra kendisine farklı bir bilgisayara yeni bir uzaktan oturumu oluşturmak ve bağlamak:

$sess = New-PSSession -ComputerName {ComputerName} -Credential $credential 
bana sonuç döndürür

: Ancak

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

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

, ben Ente yani benim komut dosyası için Sürüm 2 olması PowerShell ihtiyaç Bir oturum (daha kolay hale getirmek için).

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

Sonra da sadece takılı kalıyor (ya da en azından bana Ctrl-C kadar konsolun içine başka bir şey girmenizi sağlar asla): Daha sonra PowerShell Sürüm 2 olmaya çalış.

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

ve aynı yapar:

Ben de ınvoke Command geçmekte denedim.

Ben de burada uyarınca bir PSSessionConfiguration kayıt denedim: https://technet.microsoft.com/en-us/library/hh847899.aspx

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

Ama olsun:

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

kimse sonraki deneyebilirsiniz ne herhangi bir fikir var mı ?! Teşekkür

+5

2'de olmayan 2'de ne var? Neden daha kolay? Gerçekten merak ediyorum. –

+2

Bilgisayarınızda veya sunucunuzda 'Register-PSSessionConfiguration'… hangi makineyi çalıştırdınız? Sunucunun işletim sistemi nedir? Technet makalesindeki adımları denedim ve mükemmel çalıştı. 2008 sunucum 2.0 PSSessionConfiguration çalıştıran Windows 7 makinem için remoted. Bunu farklı bir sunucuya veya ana makineye karşı denediniz mi? – Matt

+0

@RitchMelton - Alas SharePoint 2010 tümleştirmesi (https://support.microsoft.com/en-us/kb/2796733) – Pete

cevap

3

Hangi makinede Register-PSSessionConfiguration kullanıyorsunuz? Bilgisayarınız veya "sunucu"?

Yapılandırmayı hedef sunucuda yapmalısınız. Barındırılan PSSessionConfiguration uygulamasını çalıştırıyorsunuz.

technet article'daki adımları denedim ve mükemmel bir şekilde çalıştı. 2008 sunucum 2.0 PSSessionConfiguration çalıştıran Windows 7 makinem için remoted. Hedef sunucu/konak üzerinde

:

Register-PSSessionConfiguration -Name PS2 -PSVersion 2.0 

Sonra istemci makinesinde, 'PS2' konfigürasyonuna referans.

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

Aşağıdaki da işe etmediğini götürün:

#Requires -version 2.0 

deneyebilirsin başka kluge hedefte zamanlanmış görev oluşturabilir ve Powershell.exe -version 2

ile Senaryonuzun defaya mahsus görev yangını sahip olmaktır