在我的发布定义中,我有在目标计算机上运行PowerShell 的任务。 powershell脚本是具有内置资源的 DSC配置文件。它曾经工作正常,直到我添加了2个新的必需字符串参数。现在任务突然出现并要求缺少参数。即使我在脚本参数部分中指定了格式为:
的格式-ModulesSourcePath "$(ModulesPath)" -ProvidersSourcePath "$(ProvidersPath)"
此处, ModulesPath 和 ProvidersPath 是自定义环境变量。 Powershell任务也是这种环境的一部分。
这是我的配置文件:
Configuration DeploymentPreRequisites_Configuration
{
param
(
[Parameter(Mandatory)]
[ValidateNotNullOrEmpty()]
[String]$ModulesSourcePath,
[Parameter(Mandatory)]
[ValidateNotNullOrEmpty()]
[String]$ProvidersSourcePath
)
Node ('localhost')
{
File CopyProvider
{
DestinationPath = "$env:ProgramFiles\PackageManagement\ProviderAssemblies\nuget"
Checksum = "ModifiedDate"
Ensure = "Present"
Recurse = $true
SourcePath = $ProvidersSourcePath
Type = "Directory"
MatchSource = $true
}
}
}
DeploymentPreRequisites_Configuration
我还验证了脚本参数在日志文件中正确解析。
##[debug]scriptPath = C:\temp\somepath\Deploy\EnsureModulesAndResources.ps1
##[debug]scriptArguments = -ModulesSourcePath "<src-path>" -ProvidersSourcePath "<dest-path>"
感谢您的帮助!