我遇到一个问题,其中脚本已经包含用户设置的变量,例如:
$_Name = "AU"
$_Description = "AU Security"
我想在CSV文件中使用这些变量,并导入PowerShell识别变量的数据,并显示变量的值。例如(CSV):
ou,description,path
Security,$_Country Security,"OU=$_Name,$_DomainDN"
Servers,$_Country Servers,"OU=$_Name,$_DomainDN"
Database,$_Country Database Servers,"OU=Servers,OU=$_Name,$_DomainDN"
使用以下内容导入CSV文件时:
$csv - Import-Csv .\Test.csv
导入CSV,但变量$csv
字面上包含变量名称,而不包含已设置的变量中存储的内容。
无论如何我能达到我的目的吗?我尝试在$( )
,${ }
和@( )
中包装变量名称但没有成功。
提前致谢!
答案 0 :(得分:0)
您必须使用ExpandString
:
$csv = Import-Csv .\Test.csv
$csv | % {
$_.description = $ExecutionContext.InvokeCommand.ExpandString($_.description);
$_.path = $ExecutionContext.InvokeCommand.ExpandString($_.path);
$_
}