我正在尝试通过PsExec Powershell脚本远程获取当前安装的Mozilla Firefox版本。我发现以下cmd命令将向我显示我想要获得的信息:
$pathFirefox = "`"C:\Program Files (x86)\Mozilla Firefox`""
psexec \\$i -u $username -p $password cd $pathFirefox; firefox -v | more;
看起来他正在发送两个命令。更改目录和firefox -v |更多。
不幸的是,我得到一个错误,即“术语'firefox'未被识别为cmdlet的名称...”
但实际上,此代码在目标PC上的本机Windows cmd中运行。我也在检查类似的Java版本,并且工作正常。也许是因为简单的“ java -version”命令。
我尝试屏蔽“ firefox -v |更多”之类的命令
它应该给出这样的输出: Mozilla Firefox 67.0.4
答案 0 :(得分:2)
(New-Object -ComObject WScript.Shell).RegRead("HKLM\SOFTWARE\Mozilla\Mozilla Firefox\CurrentVersion")
答案 1 :(得分:0)
以下将使用Powershell返回版本:
$pathFirefox = 'C:\Program Files (x86)\Mozilla Firefox\firefox.exe'
$ffversion = { [string](& 'C:\Program Files (x86)\Mozilla Firefox\firefox.exe' -v| Write-Output) }
$Cred= Get-Credential
Invoke-Command -ComputerName 'TESTCOMPUTER' -ScriptBlock $ffversion -Credential $Cred
如果您不能使用WinRM,则可以将其包装到psexec中