PowerShell's Invoke-Expression lipsă param

Am crezut că am ultimul CTP al PowerShell 2, dar când încerc comanda: invoke-expression? computername Server01? comanda "get-process PowerShell"

Am primit un mesaj de eroare: Nu poate fi găsit un parametru care să se potrivească cu numele parametrului "nume_computer".

Deci întrebarea este: Cum pot să vă spun care versiune de PowerShell am instalat? Și care este cea mai recentă versiune?

0
fr hi bn

6 răspunsuri

$host.version.tostring() will return the version number.

RTM din v1 este 1.0.0.0

Nu v-aș putea spune cu sinceritate care este cea mai recentă versiune a previzualizărilor pentru că nu am avut încă o șansă de a juca.

0
adăugat

Problema este că, de la CTP 1 la CTP2, au schimbat chestiile Invoke, toate lucrurile de remoting se fac prin Invoke-Command acum, iar Invoke-Expression este exclusiv pentru transformarea unui șir într-un script;)

P.S .: Dacă sunteți pe v2 puteți rula $ PSVersionTable pentru a vedea o listă de versiuni, inclusiv versiunile CLR și Build.

0
adăugat

The latest CTP is CTP2 released on 05/02/08 and can be found here. Remoting requires WinRM to be installed on both the calling machine and the target machine. Included in the CTP is a script to configure WS-Management called Configure-WSMan.ps1.

Această comandă trebuie să vă aducă numărul versiunii PowerShell pe care ați instalat-o. Get-Command "$ PSHome \ powershell.exe" Format-listă FileVersionInfo V1.0 este 6.0.5430.0 CTP2 este 6.1.6585.1

Nu am numărul versiunii pentru primul CTP pe o parte, dar o pot găsi dacă ai nevoie de ea.

0
adăugat

Cred că aceasta este o schimbare a cmdlet-ului efectuat în timpul procesului de configurare Configure-Wsman.ps1. Nu am o setare de mediu pentru a testa acum, dar bănuiesc că ceva a mers prost în configurație. Pot verifica dacă pe parametrul XP nu este disponibil (duh). Aș presupune că veți găsi același lucru pe Vista/08 fără configurația finalizată.

0
adăugat

De la construirea de noaptea trecută (ceea ce înseamnă că ați putea avea acest lucru în CTP3, dar dacă nu, o veți obține în următorul drop public):

[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

Experiment! Bucurați-vă! Engage!

Jeffrey Snover [MSFT] Windows Management Partner Architect

0
adăugat

Dacă variabila $ PSVersionTable nu există, atunci executați V1.

Dacă există, versiunea va fi disponibilă ca $ PSVersionTable.PSVersion .

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