Powershell:使用动态创建的参数运行 msiexec
在我的 powershell 脚本中,我需要运行 msiexec 并传递一些参数来初始化它。问题是,如果参数包含空格字符“”,powershell 将无法正确执行 msiexec。例如命令:
msiexec /i .\Setup.msi ConnectionString="Initial Catalog=something;Integrated Security=True;Pooling=False"
参数 ConnectionString 包含空格,这会导致 msiexec 未正确执行,我收到 msiexec 错误代码 1639 - 无效的命令行参数。如果我从连接字符串中删除空格,则 msiexec 会正确执行。
有人知道如何解决它吗?
in my powershell script, I need to run msiexec and pass few parameters to initialize it. The problem is, that if a parameter contains space character " ", powershell doesn't execute msiexec correctly. For example the command:
msiexec /i .\Setup.msi ConnectionString="Initial Catalog=something;Integrated Security=True;Pooling=False"
The parameter ConnectionString contains spaces, and this causes that msiexec is not executed correctly, I get msiexec error code 1639 - Invalid command line argument. If I remove spaces from from connection string, msiexec is executed correctly.
Do anybody have an idea how to solve it?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
尝试这样:
Try in this way:
尝试像这样单引号它:
Try single quoting it like this: