【问题标题】:Trying to script a .exe with launch parameters in Powershell尝试在 Powershell 中使用启动参数编写 .exe 脚本
【发布时间】:2021-08-10 09:08:54
【问题描述】:

我是 PowerShell 新手,我正在尝试创建一个脚本,该脚本将使用特定于此 .exe 文件的参数卸载 Dell Data Protection。

这是我所拥有的减去我将使用的实际信用:

Start-Process -Filepath C:\Programfiles (x86)\Dell\Dell Data Protection\DataSecurityUninstaller.exe" -argumentlist "CMG_DECRYPT=1 FORENSIC_ADMIN="ExampleUser" FORENSIC_PWD="Passw0rd" NOREBOOT /silent"

我明白了:

A positional parameter cannot be found that accepts argument "ExampleUser" FORENSIC_PWD="Passw0rd" NOREBOOT

当我将它放入 CMD 时,它可以工作。我想我不知道如何正确处理运行参数。

【问题讨论】:

标签: powershell scripting


【解决方案1】:

其中任何一个都应该工作:

Start-Process -Filepath 'C:\Programfiles (x86)\Dell\Dell Data Protection\DataSecurityUninstaller.exe' -ArgumentList 'CMG_DECRYPT=1 FORENSIC_ADMIN="ExampleUser" FORENSIC_PWD="Passw0rd" NOREBOOT /silent'
Start-Process -Filepath 'C:\Programfiles (x86)\Dell\Dell Data Protection\DataSecurityUninstaller.exe' -ArgumentList 'CMG_DECRYPT=1', 'FORENSIC_ADMIN="ExampleUser"', 'FORENSIC_PWD="Passw0rd"', 'NOREBOOT', '/silent'

您在此处打开 " "CMG 然后在此处关闭 _ADMIN=" 这导致 cmdlet 认为您将 ExampleUser... 作为不同参数的输入,因此出现错误。

此外,您可能只想从当前会话中运行卸载程序,在这种情况下不需要Start-Process。我相信它会是这样的:

& 'C:\Programfiles (x86)\Dell\Dell Data Protection\DataSecurityUninstaller.exe' CMG_DECRYPT=1 FORENSIC_ADMIN="ExampleUser" FORENSIC_PWD="Passw0rd" NOREBOOT /silent

【讨论】:

  • 有趣的是第一个例子有效
  • @AbrahamZinala 我不是 100% 确定它会起作用,但是如果这样的东西有效(1 个字符串上的 2 个参数)Start-Process powershell -ArgumentList '-NoLogo -WindowStyle Maximized' 我不明白为什么另一个不起作用.
  • 对我来说很有意义。
猜你喜欢
  • 2012-11-04
  • 2022-07-23
  • 1970-01-01
  • 1970-01-01
  • 2012-02-06
  • 2019-04-17
  • 2010-12-20
  • 1970-01-01
  • 2018-07-19
相关资源
最近更新 更多