azure - 如何使用 PowerShell 逐行读取 txt/csv
问题描述
我有几个 txt/csv 文件,我试图将文件中的每一行循环输入到我的 API 命令中。
例如:server.txt - 第一个文件包含服务器和资源组server1, rg1
server2, rg2
server3, rg3
等。
ips.txt - 另一个文件包含规则和 ipsrule1, startip1, endip1
rule2, startip2, endip2
rule3, startip3, endip3
等。
问题是如何为 server.txt 中的每一行以及同一循环中的 ips.txt 设置 powershell?
我以前有过类似的东西,但它似乎效果不佳。有什么想法吗?
$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
}
解决方案
推荐阅读
- reactjs - 如何在 Typescript 中使用 react-pdf 库
- android - proguard android上这个警告的-dontwarn规则是什么?
- java - 是否缓存了“预授权”注释的结果?
- go - 在Golang中将二进制值作为字符串转换为uint32
- mongodb - 在外部数组中查找与 ObjectID 匹配的文档
- excel-formula - 使用 OpenOffice 将 3 行内容连接、合并或合并为 1 行
- html - Div 内的 Div - 位于顶部
- python - 我正在尝试使用 .setId 在 QButtonGroup 中设置一个值,但出现类型错误
- swift - Tableview:选择名称,将ID(不是名称)存储在变量中的最佳方式?
- asp.net-mvc - EntityFramework SaveChanges() throws concurrent transaction error