【问题标题】:Powershell command call doesn't work when command line arguments are supplied with a variable当命令行参数提供变量时,Powershell 命令调用不起作用
【发布时间】:2021-04-26 16:15:02
【问题描述】:

我正在尝试为“net accounts”命令提供命令行参数。这在写出不带变量的命令时有效,但在使用变量传递命令行参数时无效。

这是一个演示脚本:

Write-Host "--- As variable"
$Sw = "/lockoutduration:15 /lockoutwindow:15"
Write-Host $Sw
&net.exe accounts $Sw
Write-Host "--- Without variable"
&net.exe accounts /lockoutduration:15 /lockoutwindow:15

输出:

> .\Test.ps1
--- As variable
/lockoutduration:15 /lockoutwindow:15
You entered an invalid value for the /LOCKOUTDURATION option.

More help is available by typing NET HELPMSG 3952.

--- Without variable
The command completed successfully.

提供一组命令行参数的方法是什么?

操作系统:Windows 10 Pro 20H2,Powershell 版本:5.1

【问题讨论】:

    标签: powershell command-line-arguments


    【解决方案1】:

    向程序发送多个参数时,您需要将它们作为数组传递。试试:

    Write-Host "--- As variable"
    $Sw = @("/lockoutduration:15","/lockoutwindow:15")
    $Sw
    &net.exe accounts $Sw
    

    【讨论】:

      猜你喜欢
      • 2012-11-28
      • 2017-06-19
      • 2013-06-05
      • 2022-08-20
      • 1970-01-01
      • 1970-01-01
      • 2016-12-12
      • 2012-07-27
      • 2019-03-04
      相关资源
      最近更新 更多