【发布时间】:2019-03-05 21:39:34
【问题描述】:
假设我有两种不同类型的服务器
Function Query($Query) {
$SqlConnection = New-Object System.Data.SqlClient.SqlConnection
$SqlConnection.ConnectionString = "Server=$Server;Initial Catalog=$Database;Integrated Security=SSPI"
$SqlCmd = New-Object System.Data.SqlClient.SqlCommand
$SqlCmd.Connection = $SqlConnection
$SqlCmd.CommandText = $Query
$SqlAdapter = New-Object System.Data.SqlClient.SqlDataAdapter
$SqlAdapter.SelectCommand = $SqlCmd
$DataSet = New-Object System.Data.DataSet
$a=$SqlAdapter.Fill($DataSet)
$SqlConnection.Close()
$DataSet.Tables[0] }
$servers_typeA = Query "SELECT DISTINCT [server_typeA] FROM table" | Select -ExpandProperty server_typeA;
$servers_typeB = Query "SELECT DISTINCT [server_typeB] FROM table" | Select -ExpandProperty server_typeB;
我有一个 forloop 现在循环遍历 typeA 中的服务器并显示 $servers_typeA 中每个服务器的数据库连接
foreach($server in $servers_typeA)
而不是为 typeB 复制相同的循环,所以
foreach($server in $servers_typeB)
有没有一种方法可以告诉 forloop 在 A 之后循环 typeB?
基本上是这样的?
foreach($server in $servers_typeA then $servers_typeB)
【问题讨论】:
-
foreach($server in @($servers_typeA, $servers_typeB))... 数组数组。您什么时候开始学习 Powershell 的基础知识? -
我不知道。它会节省什么时间或打字?你可以嵌套它们;但这也不会节省任何时间。
-
@Olaf 哈哈,我已经知道基础知识了....我在 powershell 中编写脚本已经一年多了,我们整个部门的自动化都是由我处理的。我所要求的只是有没有办法。就这样。数组数组不适用于我的情况,因为参数不是数组。相反,它们保存的是查询语句的结果,该语句与 expand 属性一起存储。
-
那么,让我们看看这些变量中的 IS 是什么
标签: powershell foreach