Я очень новичок в Powershell, и я собрал следующий код для скрипта, который проверит «старую» папку и создаст ее, если она не найдена. Затем он переместит сжатые блоги из текущего местоположения в «старую» папку. Я хочу, чтобы это было написано для извлечения имен серверов и веб-сайтов из SQL-запроса, чтобы он мог быть настроен для ночного запуска и не нуждался в обновлении новыми или удаленными серверами. Пока что написано следующее, но так как я новичок, я не могу понять последний бит синтаксиса.
clear
$SqlServer = "SERVER"
$SqlCatalog = "DATABASE"
$SqlQuery = "select hsa.servername from SERVER.dbo.serversapp hsa
inner join SERVER.dbo.apphosts hah on hsa.vchservername = hah.vchservername
where hsa.tirecordstatus = 1
order by hsa.vchservername desc"
$SqlQuery1 = "select hah.vchhost from SERVER.dbo.serversapp hsa
inner join SERVER.dbo.apphosts hah on hsa.vchservername = hah.vchservername
where hsa.tirecordstatus = 1
order by hsa.vchservername desc"
$SqlConnection = New-Object System.Data.SqlClient.SqlConnection
$SqlConnection.ConnectionString = "Server = $SqlServer; Database = $SqlCatalog; Integrated Security = True"
$SqlCmd = New-Object System.Data.SqlClient.SqlCommand
$SqlCmd.CommandText = $SqlQuery
$SqlCmd.Connection = $SqlConnection
$SqlAdapter = New-Object System.Data.SqlClient.SqlDataAdapter
$SqlAdapter.SelectCommand = $SqlCmd
$DataSet = New-Object System.Data.DataSet
$SqlAdapter.Fill($DataSet)
$SqlConnection.Close()
$DataSet.Tables[0]
Я хотел бы, чтобы каждый $ SQLQuery запускался и сохранял каждый в своей собственной таблице набора данных, чтобы я мог передать каждый из них в качестве параметра для следующего кода. Что мне нужно выяснить это:
1) Как мне написать выше, чтобы выполнить оба SQL-запроса, и каждый из них должен быть либо собственным набором данных, либо таблицей, чтобы я мог использовать их в качестве параметров; $ Servername и $ HostedGroup?
2) Как настроить это для получения кода ниже на каждом из серверов из параметра $ Servername?
$Servername = Dataset1
$Hostedgroup = Dataset2
$OldFolder = "\\$Servername\C$\Ren\Weblogs\$Hostedgroup\old"
$FolderExists = Test-Path $OldFolder
if($FolderExists -eq $False)
{
new-item \\$Servername\C$\Ren\Weblogs\$Hostedgroup\old -type directory
}
then
{
if(Test-Path \\$Servername\C$\Ren\Weblogs\old\W3SVC2)
{
get-childitem -path '\\$Servername\C$\Ren\WebLogs\$Hostedgroup\W3SVC2' -recurse -include *.zip | move-item -destination '\\$Servername\C$\Ren\WebLogs\$Hostedgroup\old'