【发布时间】:2021-06-11 10:22:16
【问题描述】:
我正在尝试使用名为 adobe-licensing-toolkit.exe 的 adobe 工具生成一些 ID。 我需要在 100 台计算机上远程运行该命令。 手动执行命令完美无缺
C:\temp\adobe-licensing-toolkit.exe -c -f \\XXXXXXX\c$\temp\IDs.csv
Adobe Licensing Toolkit (1.1.0.98)
Operation Successfully Completed
现在我尝试使用远程 PS 复制它,但没有成功。我认为这是一个参数问题。
以下命令正确结束,但它在远程计算机本地生成文件。
Invoke-Command -ComputerName $comp -ScriptBlock { param($whatToDo,$targetCSV) &('C:\TEMP\adobe-licensing-toolkit.exe') --$whatToDo --$targetCSV "C:\temp\ID.csv"} -ArgumentList "generateChallengeKey","filepath"
如果我尝试在参数中使用UNC,结果是操作失败。
Invoke-Command -ComputerName $comp -ScriptBlock { param($whatToDo,$targetCSV) &('\\XXXXXXXX\c$\TEMP\adobe-licensing-toolkit.exe') --$whatToDo --$targetCSV "C:\temp\ID.csv"} -ArgumentList "generateChallengeKey","filepath"
我也尝试在参数中添加路径。在那种情况下,抱怨的就是powershell。
Invoke-Command -Session $Server01 -ScriptBlock { param($whatToDo,$targetCSV) &('C:\TEMP\FRL\adobe-licensing-toolkit.exe') --$whatToDo --$targetCSV } -ArgumentList @("generateChallengeKey","filepath \\XXXXXXX\c$\temp\ID.csv")
unknown option -- filepath \\XXXXX\c$\temp\ID.csv
+ CategoryInfo : NotSpecified: (unknown option ...c$\temp\ID.csv:String) [], RemoteException
+ FullyQualifiedErrorId : NativeCommandError
+ PSComputerName : XXXXXXX
我感觉问题出在传递参数的方式上,但我还没有找到解决方案。
exe 文件已存在于所有目标计算机中。
有什么建议吗?
谢谢
【问题讨论】:
-
您不应该需要 param 块,但在这里没关系。从未安装过 adobe 工具包,但为什么在第一个示例中使用单个连字符,而不是远程使用连字符?您可以尝试在参数本身中包含连字符吗?即:
-ArgumentList @("-generateChallengeKey"... -
看起来像双跳问题 - docs.microsoft.com/en-us/powershell/scripting/learn/remoting/…。它需要凭据才能使用该 unc 路径。