【发布时间】:2018-08-12 13:15:49
【问题描述】:
我可以在 AHK 文件中运行任何 PowerShell 命令。比如下面这个命令:
Run, PowerShell.exe -noexit -Command "Start notepad; start calc.exe",, hide
我有 Powershell 命令,我可以从 PowerShell 很好地运行它,而且它工作得很好,可以将用户添加为远程机器上的本地管理员:
([ADSI]"WinNT://serverabc123/Administrators,Group").Add("WinNT://HMM.org.br/Paul1")
但是,当我在 AHK 上使用上面的代码时,好像它不起作用!
Run, PowerShell.exe -noexit -Command "([ADSI]"WinNT://serverabc123/Administrators,Group").Add("WinNT://HMM.org.br/Paul1")",, hide
我不断收到此错误:
在 line:1 char:8 + ([ADSI]WinNT://serverabc123/Administrators + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
表达式或语句中出现意外的令牌“WinNT://serverabc123/Administrators”。
在 line:1 char:8
+ ([ADSI]WinNT://serverabc123/管理员
+ ~
表达式中缺少结束 ')'。
+ CategoryInfo : ParserError: (:) [], ParentContainsErrorRecordException
+ FullyQualifiedErrorId : UnexpectedToken
任何人都可以建议做什么吗?我可以编写外部文件 PS1 并从 AHK 调用它然后删除它,但我希望它从我的单个 AHK 文件中运行。
【问题讨论】:
-
对 AutoHotKey 不太熟悉,但您需要转义命令中的双引号字符。可能使用反引号
`或反斜杠:Run, PowerShell.exe -noexit -Command "([ADSI]`"WinNT://serverabc123/Administrators,Group`").Add(`"WinNT://HMM.org.br/Paul1`")",, hide -
也可以完全放弃
",只做"([ADSI]'WinNT://serverabc123/Administrators,Group').Add('WinNT://HMM.org.br/Paul1')" -
请允许我给你一个标准的建议给新手:如果一个答案解决了你的问题,请点击它旁边的大复选标记 (✓) 接受它,也可以选择给它投票(up - 投票需要至少 15 个声望点)。如果您发现其他答案有帮助,请给他们投票。接受(您将获得 2 个声望点)和投票可以帮助未来的读者。请参阅the relevant help-center article。请考虑重新审视您的旧问题并酌情接受答案。
标签: powershell autohotkey