从cmd调用具有多个参数的powershell脚本
我有一个简单的powershell脚本。它需要两个参数。这两种方法都是采用字符串参数的方法(Get ResourcePool)的一部分 如果我在Powershell脚本中调用函数定义,如下所示:从cmd调用具有多个参数的powershell脚本,powershell,Powershell,我有一个简单的powershell脚本。它需要两个参数。这两种方法都是采用字符串参数的方法(Get ResourcePool)的一部分 如果我在Powershell脚本中调用函数定义,如下所示: functName CI *FMS C:\Script.ps1 A "*s" 那很好 Powershell中的函数调用是(与此类似,因为此脚本将从外部调用): 我尝试从Powershell editor调用此功能,在那里我安装了所有需要安装的管理单元,如下所示: functName CI *FMS
functName CI *FMS
C:\Script.ps1 A "*s"
那很好
Powershell中的函数调用是(与此类似,因为此脚本将从外部调用):
我尝试从Powershell editor调用此功能,在那里我安装了所有需要安装的管理单元,如下所示:
functName CI *FMS
C:\Script.ps1 A "*s"
其中scrpt是我的.ps1文件的名称。有一个功能。但是,这会失败,并出现参数为null或空的错误
你知道为什么吗
编辑:
函数签名为:
函数retertosnapshot($otherarg,$wildcard)
我在这里使用$wildcard:
$SearchString=[System.String]::Concat(“*”,
$vm(通配符)
Name$SearchString(Name是在powercli中获取vm的参数)。此调用样式:
FuncName $($args[0], $args[1])
只会导致一个参数传递给FuncName—一个包含两个元素的数组。您可能想要:
FuncName $args[0] $args[1]
通常,使用PowerShell,您可以使用空格分隔的参数调用cmdlet、函数和别名,而不使用参数。调用.NET方法是此规则的一个例外,您必须使用paren和逗号分隔参数,例如:
[string]::Concat('ab','c')
这种通话方式:
FuncName $($args[0], $args[1])
只会导致一个参数传递给FuncName—一个包含两个元素的数组。您可能想要:
FuncName $args[0] $args[1]
通常,使用PowerShell,您可以使用空格分隔的参数调用cmdlet、函数和别名,而不使用参数。调用.NET方法是此规则的一个例外,您必须使用paren和逗号分隔参数,例如:
[string]::Concat('ab','c')