如何将powershell变量值传递给cmd.exe?

时间:2016-03-18 06:18:02

标签: powershell-v4.0

我正在尝试从命令提示符安装服务'ServiceName',其中包含参数值,我将通过powershell作为用户输入表单。

$server = $return[0]

Invoke-Expression -Command "cmd.exe /c ServiceName --install --server=$server"

ServiceName服务基本上在安装时从服务器变量中获取参数值。我不确定这是否是在cmd.exe中使用powershell变量值的正确方法。 cmd.exe可以采用上面显示的方式获取服务器变量值吗?

1 个答案:

答案 0 :(得分:0)

您可以在Powershell中添加新服务,而不必使用cmd:

+------------+--------------+------+-----+-------------------+-----------------------------+
| Field      | Type         | Null | Key | Default           | Extra                       |
+------------+--------------+------+-----+-------------------+-----------------------------+
| timestamp  | timestamp    | NO   |     | CURRENT_TIMESTAMP | on update CURRENT_TIMESTAMP |
+------------+--------------+------+-----+-------------------+-----------------------------+

您也可以使用

$serviceName= Read-Host("Enter service name")
$mycreds = Get-Credential
$binaryPath = Read-Host("Enter service executable path")
New-Service -name $serviceName -binaryPathName $binaryPath -displayName $serviceName -startupType Automatic -credential $mycreds

如果要将其他参数传递给命令。或者如果你想要,你可以从一个输入解析,但它更麻烦。