我想制作一个PowerShell脚本,调用另一个PowerShell脚本

时间:2014-10-14 14:41:33

标签: powershell

所以我可以说一个名为CallMePlease.ps1

的powershell脚本

此脚本将获取参数/参数,然后执行一些过程。当我从MAIN.ps1调用此脚本时,如何将参数附加到调用中?我到目前为止的代码:

$ScriptPath = C:\Tmp\PAL\PAL\PAL\PAL.ps1
$Log 'C:\Users\k0530196\Documents\log.csv'
$ThresholdFile 'C:\Program Files\PAL\PAL\template.xml'
$Interval 'AUTO'
$IsOutputHtml $True
$HtmlOutputFileName '[LogFileName]_PAL_ANALYSIS_[DateTimeStamp].htm'
$IsOutputXml $True
$XmlOutputFileName '[LogFileName]_PAL_ANALYSIS_[DateTimeStamp].xml'
$AllCounterStats $False
$NumberOfThreads 1
$IsLowPriority $False

$cmd = "$ScriptPath\.\PAL.ps1"

Invoke-Expression "$cmd $Log $ThresholdFile $Interval $IsOutputHtml $HtmlOutputFileName $IsOutputXml $XmlOutputFileName $AllCounterStats $NumberOfThreads"

1 个答案:

答案 0 :(得分:1)

在您发布的代码中,您在赋值语句中缺少几个= s。例如这一行:

$ Log'C:\ Users \ k0530196 \ Documents \ log.csv'

应该是这样的:

$ Log = 'C:\ Users \ k0530196 \ Documents \ log.csv'

您需要在尝试为变量赋值的所有实例中执行此操作。

我会这样做:

. $cmd $Log $ThresholdFile $Interval $IsOutputHtml $HtmlOutputFileName $IsOutputXml $XmlOutputFileName $AllCounterStats $NumberOfThreads