我有一个包装器 powershell 脚本,我希望用它来自动化一些事情。它非常基本,并接受我希望脚本运行的参数,就好像它是脚本中的一行一样。我绝对不能让它工作。
例子:
param( [string[]] $p)
echo $p
# Adds the base cmdlets
Add-PSSnapin VMware.VimAutomation.Core
# Add the following if you want to do things with Update Manager
Add-PSSnapin VMware.VumAutomation
# This script adds some helper functions and sets the appearance. You can pick and choose parts of this file for a fully custom appearance.
. "C:\Program Files (x86)\VMware\Infrastructure\vSphere PowerCLI\Scripts\Initialize-VIToolkitEnvironment.ps1"
$p
在上面的示例中,我希望 $p 像脚本中的一行一样执行。我知道这不安全,这可能就是问题所在。
以下是我尝试运行脚本并为 $p 传递参数的方法:
D:\ps\test>powershell -command "D:\ps\test\powershell_wrapper.ps1" 'Suspend-VM servername -Verbose -Confirm:$False'
如何让我的“Suspend-VM servername -Verbose -Confirm:$False”参数在我的脚本中运行?如果我只是在脚本中包含该值而不是将其作为参数传递它运行没有任何问题...