我有一个脚本我想传递参数并将其称为My-Script.ps1 -arg1 blah -arg2 lkjh
我的脚本位于资源文件夹中,我可以像这样导入和调用它:
def myScript = libraryResource 'PSScripts/My-Script.ps1'
powershell myScript
这可以按预期工作,但我怎样才能传递参数?
答案 0 :(得分:0)
这只是一种可以使用的方法。
我结束了在函数中包装我的powershell脚本,然后使用名为powershellLibraryScript
的共享库和以下代码:
def call(args) {
args = [
resource: null,
script: ""
] << args
def script = libraryResource(args.resource)
powershell """
$script
# ---------------------------------------------
$args.script
"""
}
然后我用
调用它powershellLibraryScript resource: 'MyPowerShellResource.ps1', script: 'MyFunction -Arg1 Value1 -Arg2 Value2'
powershell脚本可以就像
function MyFunction() {
[CmdletBinding()]
param (
[Parameter(Position=0, Mandatory=$false)]
[ValidateNotNullOrEmpty()]
[string] $arg1 = "value1",
[Parameter(Position=1, Mandatory=$false)]
[ValidateNotNullOrEmpty()]
[string] $arg2 = "value2"
)
# Code...
}