powershell - 在 Powershell 中使用文字字符 <>
问题描述
我有下面的命令,我一直在尝试在远程服务器上使用调用命令运行该命令。我不断收到错误“<<此时是意外的。” 或“系统找不到指定的文件。” 我猜这个问题与密码周围的内引号和 <> 字符有关。我尝试在单引号和 <> 之前放置一个 ` 作为转义字符,但没有成功。使用单引号和文字 <> 字符的正确语法是什么?
Regular Command which runs fine - \bin\svc.exe -service='install,scv1,UserName <Pwd>,,,M'
PowerShell命令:
Invoke-Command -ComputerName $SourceSrv -ScriptBlock { cmd.exe /c "$Using:SourcePath\Bin\svc.exe -service='install,svc1, $Using:SvcUser <$Using:SvcPwd>,,,M' " }
解决方案
其中一个解析器正在删除您的引号并尝试解释<>
文件重定向的命令字符。您无需调用cmd.exe
即可调用可执行文件,您可以从 powershell 本地执行此操作(使用调用运算符&
):
Invoke-Command -ComputerName $SourceSrv -ScriptBlock {
& "$using:SourcePath\Bin\svc.exe" "-service='install,svc1, $using:SvcUser <$using:SvcPwd>,,,M'"
}
推荐阅读
- json - JSON 表遇到太多错误
- excel - 匹配两列并返回特定值
- python - 如何使用 MSVC 调试器调试从 MATLAB 调用的 Python 调用的 C++ 代码?
- android - 为什么我们在 Room 中需要两个构造函数?
- javascript - How to set background color of label in react?
- python - 更改 ec2 实例的密钥
- javascript - Clipboard.writeText() 在 Mozilla 和 IE 上不起作用
- c# - 在 DocumentDB 和 C# 上选择不同的
- sql-server - UTC 到 SQL 2012 中的本地时区
- javascript - Fullcalendar 插槽未进入完整列并从中间开始