私は、フォルダに保存したジョブを比較し、それらの名前をサーバ上で比較するスクリプトを作成しました。それは、サーバ上で現在ですが、フォルダに保存されていないすべてのジョブのリストを示して実行した後1つのパラメータに複数の値を設定する
$submaporiginal = 'D:\Jobs_from_Server\TEST_Jobs_Aangepast'
$SqlServer1Name = "servername"
$SqlServer1 = New-Object Microsoft.SqlServer.Management.Smo.Server($SqlServer1Name)
$files = Get-ChildItem $submaporiginal *.sql
$SqlServer1JobListing = $SqlServer1.JobServer.Jobs |
Select-Object -ExpandProperty Name
foreach ($file in $files)
{
$stap1 = $file.Name
$locatiedtsx = $stap1.IndexOf("_goed")
$SqlServer2JobListing = $stap1.Substring(0,$locatiedtsx)
}
Compare-Object $SqlServer1JobListing $SqlServer2JobListing
{
if ($_.SideIndicator -eq "<=")
{Write-Host $_}
}
:TEST_Jobs_Aangepast
私の問題は、現在、それだけで実行された最後のジョブを無視するということですトラフthe foreach ($file in $files)
たとえば、testA.sqlとTestB.SQLというファイルがあり、サーバーにはtestA、TestB、TestCという名前のジョブがあります。
- TESTC < =
実際の結果は示しています:示さ 結果がなければならない
- 種皮< =
- TESTC < =
私の質問は、私はすべてのジョブが$SqlServer1JobListing $SqlServer2JobListing
の間に一致が示されていないように一つのパラメータSqlServer2JobListing
でトラフforeach ($file in $files)
行くすべての値を設定することができる方法である
こんにちは、このコードはうまくいきますが、一致しないパッケージのリストではなく、一致するリストを示しています。 – Jarno343