我正在尝试在PowerShell中运行以下命令
sc create StrongSwan binpath= "C:\Users\Kanishk\Desktop\Strong\Strong\stronswan\strongswan-5.6.3\src\charon-svc\charon-svc.exe"
我已经检查了路径到.exe是正确的,我可以cd到它也。作为参考,我遵循这一点:https://wiki.strongswan.org/projects/strongswan/wiki/Charon-svc
我收到以下错误:
Set-Content : A positional parameter cannot be found that accepts argument 'binpath='.
At line:1 char:1
+ sc create NewService binpath= C:\Users\Kanishk\Desktop\Strong\Strong\ ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidArgument: (:) [Set-Content], ParameterBindingException
+ FullyQualifiedErrorId : PositionalParameterNotFound,Microsoft.PowerShell.Commands.SetContentCommand
所以我的问题是相同的命令在cmd上有效,但在PowerShell上无效。为什么呢?
5条答案
按热度按时间xuo3flqw1#
我也碰到了这个。看起来错误发生在line:1 char:1。所以我假设它不知道“sc”是什么。所以我把
sc create ..
改成了sc.exe create ..
,它对我的服务很有效。aor9mmx12#
我在Powershell中也遇到了这个问题。
进一步说明答案:
“sc”是Powershell中“Set-Content”的别名,在输出中和Powershell“Get-Alias”命令中确认。这就是为什么sc失败而sc.exe成功,以及为什么sc在cmd中工作而在powershell中失败。
emeijp433#
我尝试了一段时间的powershell,但它没有工作。我想,或许可以尝试一下,在一个命令提示符(作为一个管理员)。
[SC] CreateService SUCCESS
9bfwbjaz4#
使用PowerShell ->以管理员身份运行
sc.exe create TestService binPath=“D:\Windows Services\TestService\TestService.exe”
如果路径之间包含空格,则可能必须将路径放在“”下
x759pob25#
SC
是Set-Content
命令的别名,与Windows服务管理无关,不会触发服务控制***可执行文件sc.exe
。要在PowerShell中创建新的Windows服务,您可以使用
New-Service
命令(需要管理员权限=>“* 以管理员身份运行 *”):