【问题标题】:PowerShell's Invoke-Expression missing paramPowerShell 的 Invoke-Expression 缺少参数
【发布时间】:2010-09-05 23:09:23
【问题描述】:

我以为我有 PowerShell 2 的最新 CTP,但是当我尝试命令时:

invoke-expression –computername Server01 –command 'get-process PowerShell'

我收到一条错误消息:
找不到与参数名称“计算机名”匹配的参数。

所以问题是:我如何知道我安装了哪个版本的 PowerShell?最新版本是什么?

【问题讨论】:

    标签: powershell powershell-2.0


    【解决方案1】:

    从昨晚的构建开始(这意味着您可能在 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
    

    实验!享受!参与!

    杰弗里·斯诺弗 [MSFT] Windows 管理合作伙伴架构师

    【讨论】:

      【解决方案2】:

      问题是,从 CTP 1 到 CTP2,他们切换了 Invoke 的东西,所有远程处理的东西现在都通过 Invoke-Command 完成,而 Invoke-Expression 仅用于将字符串转换为脚本;)

      P.S.:如果您使用的是 v2,则可以运行 $PSVersionTable 以查看版本列表,包括 CLR 和 Build 版本。

      【讨论】:

        【解决方案3】:

        $host.version.tostring() 将返回版本号。

        v1 的 RTM 为 1.0.0.0

        由于我还没有机会玩,所以不能诚实地告诉你最新版本的预览是什么。

        【讨论】:

          【解决方案4】:

          最新的 CTP 是 2008 年 5 月 2 日发布的 CTP2,可以在 here 找到。远程处理需要在调用机器和目标机器上都安装 WinRM。 CTP 中包含一个用于配置 WS-Management 的脚本,称为 Configure-WSMan.ps1。

          此命令应为您提供已安装的 PowerShell 版本号。 获取命令“$PSHome\powershell.exe”|格式列表 FileVersionInfo V1.0 是 6.0.5430.0 CTP2 是 6.1.6585.1

          我手头没有第一个 CTP 的版本号,但如果你真的需要,我可以找到它。

          【讨论】:

            【解决方案5】:

            我猜这是在配置过程 Configure-Wsman.ps1 期间对 cmdlet 所做的更改。我现在没有要测试的环境设置,但我猜配置出了点问题。我可以验证在 XP 上该参数不可用(duh)。我假设您会在没有完成配置的情况下在 Vista/08 上找到相同的内容。

            【讨论】:

              【解决方案6】:

              如果$PSVersionTable 变量不存在,那么您正在运行 V1。

              如果存在,则版本将以$PSVersionTable.PSVersion 提供。

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

              【讨论】:

                猜你喜欢
                • 2014-12-24
                • 2013-04-09
                • 1970-01-01
                • 2021-10-15
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 2022-01-27
                • 1970-01-01
                相关资源
                最近更新 更多