2008-08-15 3 views
2
내가 PowerShell을 2의 최신 CTP를했지만, 나는 명령을 할 때 생각

: Server01의 -ComputerName 호출 표현을 -command '얻을 프로세스를 PowerShell을'PowerShell에서의 호출 표현이 누락 PARAM

나는 오류가 메시지 : 'computername'매개 변수 이름과 일치하는 매개 변수를 찾을 수 없습니다.

그래서 질문입니다 : 설치된 PowerShell 버전을 어떻게 확인할 수 있습니까? 최신 버전은 무엇입니까?

답변

2

$host.version.tostring()은 버전 번호를 반환합니다. V1의

RTM은 아직 플레이 할 수있는 기회를 가지고하지 않았기 때문에 1.0.0.0

솔직히 미리보기의 최신 버전이 무엇인지 말할 수 없습니다입니다.

1

최신 CTP는 05/02/08에 출시 된 CTP2이며 here입니다. Remoting을 사용하려면 호출하는 컴퓨터와 대상 컴퓨터 모두에 WinRM을 설치해야합니다. CTP에는 Configure-WSMan.ps1이라는 WS-Management를 구성하는 스크립트가 포함되어 있습니다.

이 명령을 사용하면 설치 한 PowerShell의 버전 번호를 얻을 수 있습니다. Get-Command "$ PSHome \ powershell.exe"| 를 Format-List 된 FileVersionInfo V1.0은 6.0.5430.0 CTP2 내가 손의 첫 번째 CTP 버전 번호가없는 6.1.6585.1

입니다,하지만 당신이 정말로 필요하면 나는 그것을 찾을 수 있습니다.

0

이 변경 내용은 구성 프로세스 Configure-Wsman.ps1에서 변경된 것 같습니다. 지금 테스트 할 환경 설정이 없지만 구성에 문제가 있다고 생각합니다. XP에서 매개 변수를 사용할 수 없다는 것을 확인할 수 있습니다 (duh). 나는 당신이 구성을 완료하지 않고도 Vista/08에서 동일한 것을 찾을 것이라고 가정합니다. :

) PS;

2

문제는 CTP2에 CTP 1에서, 그들은 모든 원격 물건 지금 Invoke-Command를 통해 이루어집니다, 인보 물건을 전환하고, Invoke-Expression 전적으로 스크립트에 문자열을 터닝 때문이다 v2를 사용하는 경우 $PSVersionTable을 실행하면 CLR 및 빌드 버전을 포함한 버전 목록을 볼 수 있습니다. 지난 밤의 빌드에서

3

은 (당신이 CTP3이있을 수 있지만, 당신은 다음의 공공 드롭을 얻을 것이다 의미) :

[4120:0]PS> $psversiontable 
Name       Value 
----       ----- 
CLRVersion      2.0.50727.3521 
BuildVersion     6.1.7047.0 
PSVersion      2.0 
WSManStackVersion    2.0 
PSCompatibleVersions   {1.0, 2.0} 
SerializationVersion   1.1.0.1 
PSRemotingProtocolVersion  2.0 

실험! 즐겨! 끌다!

제프리 Snover [MSFT] Windows 관리 파트너 건축가

0

$PSVersionTable 변수가 존재하지 않는 경우에, 당신은 V1을 실행하고 있습니다.

존재하는 경우 $PSVersionTable.PSVersion으로 버전을 사용할 수 있습니다.

function Get-PSVersion { 
    if (test-path variable:psversiontable) 
     {$psversiontable.psversion} 
    else 
     {[version]"1.0.0.0"} 
}