Как читать txt / csv построчно с помощью PowerShell - PullRequest
0 голосов
/ 04 декабря 2018

У меня есть пара файлов txt / csv, я пытаюсь вставить каждую строку в файле в мои команды API в цикле.

Например: server.txt - первый файл содержит серверы и ресурсыgroups server1, rg1 server2, rg2 server3, rg3 и т. д.

ips.txt - другой файл содержит правила и ips rule1, startip1, endip1 rule2, startip2, endip2 rule3, startip3, endip3 и т. д.

Вопрос заключается в том, как настроить powershell для каждой строки в server.txt итакже ips.txt в том же цикле?

У меня было что-то подобное раньше, но, похоже, не работает хорошо.Есть мысли?

$list=Get-Content "servers.txt"

foreach ($data in $list) {
    $server_name, $rg = $data -split ',' -replace '^\s*|\s*$'


    Write-Host "Checking if SQL server belongs in subscription"
    $check=$(az sql server list -g $rg --query "[?name == '$server_name'].name" -o tsv)
    Write-Host $check


    # Get current rules and redirect output to file
    az sql server firewall-rule list --resource-group "$rg" --server "$server_name" --output table | Export-Csv -NoTypeInformation current-natrules.csv

    $new_rules=Get-Content "ips.txt"

    foreach ($data in $new_rules) {
        $rule_name, $start_ip, $end_ip = $data -split ',' -replace '^\s*|\s*$'

        # Create rule with new configs
        Write-Host "Assigning new firewall rules..."
        az sql server firewall-rule create --name "$rule_name" --server "$server_name" --resource-group "$rg" --start-ip-address "$start_ip" --end-ip-address "$end_ip" --output table
    }

    # Validating
    Write-Host "Printing new NAT rules to file..."
    az sql server firewall-rule list --resource-group "$rg" --server "$server_name" --output table | Export-Csv -NoTypeInformation new-natrules.csv
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...