我正在尝试编写PowerShell DSC配置并具有以下代码:
Package RapidCRC
{
Ensure = "Present"
Path = "C:\Repo\RapidCRC.Unicode.v0.3.27.x64\RapidCRC-Setup-0.3.27-x64.msi"
Name = "RapidCRC (x64) 0.3.27"
ProductId = "{27A6AB13-B66B-4AB8-BDA1-313477475F6A}"
Arguments = 'INSTALLDIR="C:\Program Files\Utilities\RapidCRC.Unicode" ALLUSERS=2 ARPSYSTEMCOMPONENT=0'
}
我想将C:\ Program Files作为环境变量传递。我尝试了以下方法:
Arguments = 'INSTALLDIR="%ProgramFiles%\Utilities\RapidCRC.Unicode" ALLUSERS=2 ARPSYSTEMCOMPONENT=0'
Arguments = 'INSTALLDIR="[ProgramFiles64Folder]Utilities\RapidCRC.Unicode" ALLUSERS=2 ARPSYSTEMCOMPONENT=0'
但是它们不起作用。任何帮助表示赞赏。
答案 0 :(得分:1)
您正在查看PowerShell脚本。因此,您可以在DSC配置脚本中使用$env:ProgramFiles
:
Package RapidCRC
{
Ensure = "Present"
Path = "C:\Repo\RapidCRC.Unicode.v0.3.27.x64\RapidCRC-Setup-0.3.27-x64.msi"
Name = "RapidCRC (x64) 0.3.27"
ProductId = "{27A6AB13-B66B-4AB8-BDA1-313477475F6A}"
Arguments = "INSTALLDIR=`"$($env:ProgramFiles)\Utilities\RapidCRC.Unicode`" ALLUSERS=2 ARPSYSTEMCOMPONENT=0"
}
侧面注意:请注意Argument
参数中使用的反引号。