【发布时间】:2021-08-11 20:08:37
【问题描述】:
我正在尝试使用内联脚本通过 Azure YAML 管道 powershell 任务创建一个 .ps1 文件;
- task: PowerShell@2
displayName: "????Create IIS Log Cleardown script file"
env:
DaysToKeep: ${{ parameters.DaysToKeep }}
inputs:
targetType: 'inline'
script: |
$DaysToKeep = $env:DaysToKeep
Set-Content -Path C:\scripts\CleanupScript.ps1 @"
$logPath = 'C:\inetpub\logs\LogFiles'
$daysKept = $DaysToKeep
$retentionDate = $(Get-Date).AddDays(-$daysToKeep)
..."@
在目标服务器上,文件已更新,但文件中的所有 powershell 变量已被删除/替换;
= 'C:\inetpub\logs\LogFiles'
= 3
= .AddDays(-3)
powershell 脚本变量 $logPath、$daysKept 和 $retentionDate 已被删除。
我尝试了几种方法转义脚本,但都没有成功,有什么方法可以从变量替换中完全转义该脚本,同时仍保留 powershell 脚本中所需的单引号和双引号?
【问题讨论】:
标签: azure powershell azure-pipelines-yaml