2008-08-15 19 views
2

Je pensais que j'avais la dernière CTP de PowerShell 2 mais lorsque je tente la commande: Invoke-expression -computername Server01 -command 'get-process PowerShell'Invoke-Expression PowerShell manquant de param

Je reçois une erreur message: Impossible de trouver un paramètre correspondant au nom de paramètre "nom_ordinateur". Donc, la question est: Comment puis-je savoir quelle version de PowerShell j'ai installé? Et quelle est la dernière version?

Répondre

2

$host.version.tostring() renverra le numéro de version.

RTM de v1 est 1.0.0.0

Ne pourriez-vous dire honnêtement ce que la dernière version des avant-premières sont parce que je ne l'ai pas eu la chance de jouer encore.

1

Le dernier CTP est CTP2 publié le 05/02/08 et peut être trouvé here. Remoting nécessite que WinRM soit installé à la fois sur la machine appelante et sur la machine cible. Inclus dans le CTP est un script pour configurer WS-Management appelé Configurer-WSMan.ps1.

Cette commande devrait vous fournir le numéro de version de PowerShell que vous avez installé. Commande get "$ PSHome \ powershell.exe" | Format-List FileVersionInfo V1.0 est 6.0.5430.0 CTP2 est 6.1.6585.1

Je n'ai pas le numéro de version pour la première CTP à portée de main, mais je peux le trouver si vous avez vraiment besoin.

0

Je suppose qu'il s'agit d'une modification apportée à la cmdlet lors du processus de configuration Configure-Wsman.ps1. Je n'ai pas de configuration d'environnement à tester en ce moment, mais je suppose que quelque chose s'est mal passé avec la configuration. Je peux vérifier que sur XP le paramètre n'est pas disponible (duh). Je suppose que vous trouverez la même chose sur Vista/08 sans la configuration terminée.

2

Le problème est que de CTP 1 à CTP2, ils sont passés le truc Invoke, tous les trucs de communication à distance se fait par Invoke-Command maintenant, et Invoke-Expression est uniquement pour transformer une chaîne en un script;)

PS: Si vous êtes sur la version 2, vous pouvez exécuter $PSVersionTable pour voir une liste des versions, y compris les versions CLR et Build.

3

De la construction de la nuit dernière (ce qui signifie que vous pourriez avoir cela dans CTP3 mais sinon, vous le trouverez dans la prochaine baisse publique):

[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 

expérience! Prendre plaisir! Engager!

Jeffrey Snover [MSFT] Windows Management Partner Architecte

0

Si la variable $PSVersionTable n'existe pas, vous exécutez V1.

S'il existe, la version sera disponible sous la forme $PSVersionTable.PSVersion.

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