我正在尝试从 connectionstrings.config 文件中获取信息并将其填充到 CSV 中。到目前为止,我有以下脚本:
$Filename = "C:\new.config"
[xml]$config = Get-Content $fileName
$CSCount = $config.connectionStrings.add.connectionString.count
[array]$CS = $config.connectionStrings.add.connectionString
$CScount = $CS.count
$CSCount
for($i=0; $i -lt $CScount; $i++)
{
New-Variable -Name "CS$i" -Value $CS[$i]
New-Variable -Name "Password$i" -value ($CS[$i].Split(';') |
ConvertFrom-StringData).'Password'
}
$table=@"
foreach ($C in $CSCount) { connectionstring[$i] }
$Password[$i]
"@
#export to a csv file
$table | Set-Content $home\desktop\test.csv
我被卡住并且不知道该怎么做的部分是如何使用 for [$i] 变量来使用位于 [$i] 变量中的数据创建不同的 CSV 列。因此,我正在检查我的文件有多少个连接字符串,然后使用此数组 # 来生成变量。然后,我去在 Powershell 中的不同列中填充这些变量。因此,array[0] 将有 Password[0]。我想过使用 foreach 循环,但没有成功。
请提供帮助或提出建议。非常感谢您的帮助。
答案1
无需手动创建 CSV,PowerShellConvertTo-CSV
和Export-Csv
cmdlet 可以为您完成此操作!
如果我理解你的代码,这个示例应该简单如下:
$Filename = "C:\new.config"
[xml]$config = Get-Content $fileName
$config.connectionStrings | Export-Csv -Path $home\desktop\test.csv