我尝试通过powershell远程启动xxx.exe -argument,xxx.exe将加载/映射自定义的localization.xml(需要将localization.xml和xxx.exe放在同一个文件夹中)并显示其相关名称。预期产出如下:
$("#topnavnmenu a").each(function () {
var href = $(this).attr('href');
if (path.substring(0, href.lenght) == href) {
$(this).closest('li').addClass("active");
}
})
如果我只是在远程端运行它,它可以正常工作
Description : [0076] HP 534M DP Virtual Bus Device #76
Link Type : iSCSI
Link State : Down
MAC/WWN : 2C-44-FD-8D-72-3D
PF Number : 1
Description : [0073] HP 534M DP Virtual Bus Device #73
Link Type : Ethernet
Link State : Down
MAC/WWN : 2C-44-FD-8D-72-3C
但如果我远程运行xxx.cli
,它就无法映射localizaion.xmlInvoke-Command -ScriptBlock {& "C:\path\xxx.exe" -showadapter}
,其输出为,
param([String]$IP, [String]$Username, [String]$Password)
$secpwd = ConvertTo-SecureString $Password -AsPlainText -Force
$cred = New-Object System.Management.Automation.PSCredential ($Username,$secpwd)
$session = New-PSSession -ComputerName $IP -Credential $cred
Invoke-Command -Session $session{& "C:\path\xxx.exe" -showadapter}
localization.xml的部分内容就像
No localization entry - : [0076] HP 534M DP Virtual Bus Device #76
No localization entry - : iSCSI
No localization entry - : Down
No localization entry - : 2C-44-FD-8D-72-3D
No localization entry - : 1
No localization entry - : [0073] HP 534M DP Virtual Bus Device #73
No localization entry - : Ethernet
No localization entry - : Down
No localization entry - : 2C-44-FD-8D-72-3C
我很困惑,为什么xxx.cli可以自动映射/加载localization.xml,如果我在远程端运行它,但是一旦我远程运行它就无法映射。
是否有任何提示/解决方案?
非常感谢!!
答案 0 :(得分:0)
如果我理解正确,您的程序正在尝试从程序所在的同一目录加载XML。基于此,听起来就像在远程会话中从不同的工作目录执行脚本块。
我不确定您的自定义程序是如何编写的。例如,它是否标识了执行它的完整路径或使用相对路径,因此我首先尝试更改到该目录,然后执行您的程序:
Invoke-Command -Session $session {cd C:\path; & .\xxx.exe -showadapter}