在每个不同的行中将数据从 PowerShell 存储到 SQL 服务器 Table

Store data from PowerShell to SQL Server Table in each different row

我需要有关 PowerShell 脚本的帮助,我想将 PowerShell 输出的数据存储到 SQL 服务器 Table 的不同行中。不是字符串格式。

Powershell 查询

$failoverGroups = Get-AzSqlDatabaseFailoverGroup -ResourceGroupName $ResourceGroupName -ServerName $Server
$failoverGroupsNames=$failoverGroups.FailoverGroupName
$failoverGroupsNames

Write-Host "List of Failover Groups are : " $failoverGroupsNames

foreach($GroupNames in $failoverGroupsNames){
$failoverGroup = Get-AzSqlDatabaseFailoverGroup -ResourceGroupName $ResourceGroupName -ServerName $ServerName -FailoverGroupName $GroupNames
Write-Host $GroupNames

$DATABASENAME= $failoverGroup.DatabaseNames
Write-host "List of databases : " $DATABASENAME


$ResourceGroupName = $failoverGroup.ResourceGroupName


$insertfailover=@"
INSERT INTO FailoverGroupsDBNames (FAILOVERGROUPNAME,DATABASENAME,RESOURCEGROUP,SUBSCRIPTIONNAME)
VALUES('$GroupNames','$a','$ResourceGroupName','$SubscriptionName')
"@

$insertfailover_Conn=Invoke-Sqlcmd -ServerInstance $InsertServerName -Database $InsertDBName -Username $UserName -Password $Password -Query $insertfailover

}

我得到这样的输出。作为每一行中的字符串。

我想在每个不同的行中输出数据库名称。

您似乎在尝试拆分数据库名称字符串,并为每个字符串插入一条记录:

$DATABASENAME.split(" ") | ForEach {

$insertfailover=@"INSERT INTO FailoverGroupsDBNames  
(FAILOVERGROUPNAME,DATABASENAME,RESOURCEGROUP,SUBSCRIPTIONNAME)
 VALUES('$GroupNames','$_','$ResourceGroupName','$SubscriptionName')"@

$insertfailover_Conn=Invoke-Sqlcmd -ServerInstance $InsertServerName -Database $InsertDBName -Username $UserName -Password $Password -Query $insertfailover

}