使用 PowerShell 的 Start-Process cmdlet 传递变量参数

2024-04-13

各位晚上好,

我使用的命令行将参数作为变量传递给以下脚本,以便在我从此脚本中调用的另一个 ps1 中运行。每当我尝试从命令行传递参数时,我都会收到以下错误

Start-Process:找不到接受的位置参数 争论

有人可以帮忙吗?
感谢您抽出宝贵时间并非常感谢任何帮助。

param
(
    [string]$targetserver = $args[0], #target server
    [string]$module = $args[1], #module name
)

function Get-Script-Directory
{    
  return Split-Path $script:MyInvocation.MyCommand.Path
}

Start-Process powershell.exe (Join-Path (Get-Script-Directory) "...\StopServices.ps1") -ArgumentList $targetserver $module

最后一行试试这个

$scriptPath = Join-Path (Get-Script-Directory) "...\StopServices.ps1"
Start-Process powershell.exe -ArgumentList "-file $scriptPath", $targetserver, $module  

由于评论而更新:为了向您展示它正在工作,请参阅下面的 GIF - 因此您可以再次检查它或插入一些调试输出以查看脚本出了问题的地方

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 PowerShell 的 Start-Process cmdlet 传递变量参数 的相关文章

随机推荐