1

SMS WMI クエリ (現在は 2012 年、以前は VBS を使用した 2007 年) を実行しようとしていますが、Get-WMIObject コマンドを使用すると、最大 20 分 (海外) および 5 ~ 10 分 (システムが階下) かかることがあります。VBSでより高速な呼び出しを行う方法を知っています:

        lLocator = CreateObject("WbemScripting.SWbemLocator")

        gService = lLocator.ConnectServer(Form1.strSQLServer, "root/sms/site_" & Form1.strSiteCode)

        'Query for Distribution Points and populate drop down list
        colItems = gService.ExecQuery("select PackageID, SourceNALPath from SMS_PackageStatusDistPointsSummarizer where PackageID='" & listBootImage.SelectedItem.ID & "'")
        For Each objItems In colItems
            ListDistPoint.Items.Add(UCase(Mid(objItems.SourceNALPath, InStr(objItems.SourceNALPath, "\"))))
            If InStr(objItems.SourceNALPath, Mid(Form1.strSQLServer, 1, (InStr(Form1.strSQLServer, ".") - 1))) Then
                ListDistPoint.SelectedIndex = ListDistPoint.Items.Count - 1
            End If
        Next

そしてPSでは、これは私が行っている呼び出しです:

invoke-command {Get-WmiObject -namespace root\sms\site_<sitecode> -class SMS_PackageStatusDistPointsSummarizer -computername '<compname>' -property "PackageID","SourceNALPath" | where {$_.PackageID -eq '<pkgname>'} |Select PackageID, SourceNALPath}

またはこれ:

Get-WmiObject -namespace root\sms\site_<sitecode> -class SMS_PackageStatusDistPointsSummarizer -computername '<compname>' -property "PackageID","SourceNALPath" | where {$_.PackageID -eq '<pkgname>'} |Select PackageID, SourceNALPath

そしてどちらも同じ速度です。VB スクリプトのように同じことを行うためのより良い理想的な方法はありますか (リモート接続、情報を取得してから戻る)。VB スクリプトは著しく高速です。SCCM 2012 サーバーを実行するハードウェアの方が優れているため、速度がサーバーのパフォーマンスに関係しているとは思えません。また、両方のデータベースに同じサイト、システムなどが含まれています。

ご協力ありがとうございました。

4

1 に答える 1

2

これを試して:

Get-WmiObject -namespace root\sms\site_$sitecode `
              -computername "$compname" `
              -query "select PackageID, SourceNALPath from SMS_PackageStatusDistPointsSummarizer where PackageID='$pkgname'"

他の PowerShell ステートメントでは、すべてをクエリしてから、ローカルでフィルター処理しています。VBS で実行している WMI クエリを使用すると、クエリはサーバー側で実行されます。処理するデータが少なくなり、より効率的に処理されます。

于 2014-06-02T23:47:43.330 に答える