我認爲我有PowerShell的2的最新CTP但是當我嘗試的命令: 調用表達-computername Server01上-command「得到處理PowerShell的」PowerShell的調用,表達缺失PARAM
我得到一個錯誤消息: 找不到與參數名稱「computername」匹配的參數。
所以問題是:如何知道我安裝了哪個版本的PowerShell?最新版本是什麼?
我認爲我有PowerShell的2的最新CTP但是當我嘗試的命令: 調用表達-computername Server01上-command「得到處理PowerShell的」PowerShell的調用,表達缺失PARAM
我得到一個錯誤消息: 找不到與參數名稱「computername」匹配的參數。
所以問題是:如何知道我安裝了哪個版本的PowerShell?最新版本是什麼?
$host.version.tostring()
將返回版本號。
RTM V1的是1.0.0.0
不能誠實地告訴你什麼是預覽的是最新版本的,因爲我還沒有機會發揮還。
最新的CTP是CTP2於05/02/08發佈的,可以找到here。遠程處理要求將WinRM安裝在呼叫機器和目標機器上。 CTP中包含一個用於配置WS-Management的腳本,稱爲Configure-WSMan.ps1。
此命令應該爲您提供已安裝的PowerShell的版本號。 Get-Command「$ PSHome \ powershell.exe」|格式列表FileVersionInfo V1.0是6.0.5430.0 CTP2是6.1.6585.1
我沒有爲在場的第一個CTP版本號,但我可以找到它,如果你真的需要它。
我猜這是對配置過程Configure-Wsman.ps1期間所做的cmdlet的更改。我現在沒有環境設置來測試,但我猜測配置出了問題。我可以驗證在XP上該參數不可用(duh)。我假設你會發現Vista/08上沒有完成配置。
的問題是,從CTP 1至CTP2,他們交換了調用的東西,所有的遠程東西是通過Invoke-Command
做,現在,Invoke-Expression
完全是爲了把一個字符串轉換成劇本;)
PS:如果您使用的是V2版本,則可以運行$PSVersionTable
以查看包括CLR和Build版本的版本列表。
從昨晚的版本(這意味着你可能有這樣的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管理合夥人建築師
如果$PSVersionTable
變量不存在,那麼你正在運行V1。
如果存在,則該版本將作爲$PSVersionTable.PSVersion
。
function Get-PSVersion {
if (test-path variable:psversiontable)
{$psversiontable.psversion}
else
{[version]"1.0.0.0"}
}