Я пытаюсь получить информацию из файла 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] для создания различных столбцов CSV с использованием данных, находящихся в переменной [$ i]. Итак, я проверяю, сколько строк подключения есть в моем файле, а затем использую этот массив # для генерации переменных. Затем я начал заполнять эту переменную в разных столбцах Powershell. Итак, массив [0] будет иметь пароль [0]. Я думал об использовании цикла foreach, но не повезло.
Пожалуйста, помогите или предложите. Ваша помощь очень ценится.
Нет необходимости создавать CSV вручную, PowerShell имеет ConvertTo-CSV
и Export-Csv
командлеты, чтобы сделать это за вас!
Если я понимаю ваш код, пример должен быть таким простым, как:
$Filename = "C:\new.config"
[xml]$config = Get-Content $fileName
$config.connectionStrings | Export-Csv -Path $home\desktop\test.csv