次の方法で共有


ソフトウェア Updates クライアント エージェントを有効または無効にする方法

サイト コントロール ファイルの設定を変更して、Configuration Managerでソフトウェア Updates クライアント エージェントを有効または無効にします。

ソフトウェア Updates クライアント エージェントを有効または無効にするには

  1. SMS プロバイダーへの接続を設定します。

  2. SMS_SCI_ClientComp クラスを使用して、サイト コントロール ファイルの [ソフトウェア Updates クライアント エージェント] セクションに接続します。

  3. 使用可能なプロパティの配列をLoopし、必要に応じて変更を加えます。

  4. サイト コントロール ファイルに変更をコミットします。

次のメソッドの例では、SMS_SCI_ClientComp クラスを使用してサイト コントロール ファイルに接続し、プロパティを変更することで、ソフトウェア Updates クライアント エージェントを有効または無効にします。

サンプル コードの呼び出しについては、「Configuration Manager コード スニペットの呼び出し」を参照してください。


Sub EnableDisableSUMClientAgent(swbemServices,     _
                                swbemContext,      _
                                enableDisableFlag, _
                                siteToChange )

    ' Load site control file and get software updates client component section.
    swbemServices.ExecMethod "SMS_SiteControlFile.Filetype=1,Sitecode=""" & siteToChange & """", "Refresh", , , swbemContext
    Set objSWbemInst = swbemServices.Get("SMS_SCI_ClientComp.Filetype=1,Itemtype='Client Component',Sitecode='" & siteToChange & "',ItemName='Software Updates'", , swbemContext)

    ' Display the Software Updates Client Agent settings before changing the properties.
    Wscript.Echo " "
    Wscript.Echo "Properties - Before Change"
    Wscript.Echo "---------------------------"
    Wscript.Echo objSWbemInst.ClientComponentName
    Wscript.Echo objSWbemInst.Flags & " (0 = Disabled, 1 = Enabled)"

    ' Set Software Updates Client Agent by setting Flags value to 0 or 1 by using the enableDisableFlag variable.
    objSWbemInst.Flags = enableDisableFlag

    ' Save new Software Updates Client Agent settings.
    objSWbemInst.Put_ , swbemContext
    swbemServices.ExecMethod "SMS_SiteControlFile.Filetype=1,Sitecode=""" & siteToChange & """", "Commit", , , swbemContext

    ' Refresh in-memory copy of the site control file and get the software updates client component section.
    swbemServices.ExecMethod "SMS_SiteControlFile.Filetype=1,Sitecode=""" & siteToChange & """", "Refresh", , , swbemContext
    Set objSWbemInst = swbemServices.Get("SMS_SCI_ClientComp.Filetype=1,Itemtype='Client Component',Sitecode='" & siteToChange & "',ItemName='Software Updates'", , swbemContext)

    ' Display the Software Updates Client Agent settings after changing the properties.
    Wscript.Echo " "
    Wscript.Echo "Properties - After Change"
    Wscript.Echo "---------------------------"
    Wscript.Echo objSWbemInst.ClientComponentName
    Wscript.Echo objSWbemInst.Flags & " (0 = Disabled, 1 = Enabled)"

End Sub


public void EnableDisableSUMClientAgent(WqlConnectionManager connection,
                                        string enableDisableFlag,
                                        string siteCode)
{
    try
    {
        IResultObject siteDefinition = connection.GetInstance(@"SMS_SCI_ClientComp.FileType=1,ItemType='Client Component',SiteCode='" + siteCode + "',ItemName='Software Updates'");

        // Display Software Updates Client Agent settings before changing the properties.
        Console.WriteLine();
        Console.WriteLine("Properties - Before Change");
        Console.WriteLine("---------------------------");
        Console.WriteLine(siteDefinition["ClientComponentName"].StringValue);
        Console.WriteLine(siteDefinition["Flags"].StringValue + " (0 = Disabled, 1 = Enabled)");

        // Set Software Updates Client Agent by setting "Flags" value to 0 or 1 by using the enableDisableFlag variable.
        siteDefinition["Flags"].StringValue = enableDisableFlag;

        // Save the settings.
        siteDefinition.Put();

        // Verify the change by reconnecting and getting the value again.
        IResultObject siteDefinition2 = connection.GetInstance(@"SMS_SCI_ClientComp.FileType=1,ItemType='Client Component',SiteCode='" + siteCode + "',ItemName='Software Updates'");

        // Display Software Updates Client Agent settings after changing the properties.
        Console.WriteLine();
        Console.WriteLine("Properties - After Change");
        Console.WriteLine("--------------------------");
        Console.WriteLine(siteDefinition2["ClientComponentName"].StringValue);
        Console.WriteLine(siteDefinition2["Flags"].StringValue + " (0 = Disabled, 1 = Enabled)");
    }

    catch (SmsException ex)
    {
        Console.WriteLine("Failed. Error: " + ex.InnerException.Message);
        throw;
    }

}

このメソッドの例には、次のパラメーターがあります。

パラメーター 説明
connection -管理: WqlConnectionManager
- VBScript: SWbemServices
SMS プロバイダーへの有効な接続。
swbemContext - VBScript: SWbemContext 有効なコンテキスト オブジェクト。 詳細については、「WMI を使用してConfiguration Managerコンテキスト修飾子を追加する方法」を参照してください。
siteCode -管理: String サイト コード。
siteToChange - VBScript: String サイト コード。
enableDisableFlag -管理: String
- VBScript: String
ソフトウェア Updates クライアント エージェントが有効か無効かを決定します。

0 - 無効

1 - 有効

コードのコンパイル

この C# の例では、次のものが必要です。

名前空間

System

System.Collections.Generic

System.Text

Microsoft.ConfigurationManagement.ManagementProvider

Microsoft.ConfigurationManagement.ManagementProvider.WqlQueryEngine

Assembly

adminui.wqlqueryengine

microsoft.configurationmanagement.managementprovider

堅牢なプログラミング

エラー処理の詳細については、「Configuration Manager エラーについて」を参照してください。

.NET Framework のセキュリティ

Configuration Manager アプリケーションのセキュリティ保護の詳細については、「ロールベースの管理Configuration Manager」を参照してください。

関連項目

ソフトウェア Updatesのセットアップと構成について Configuration Manager サイト コントロール ファイルについてマネージド コードを使用してConfiguration Manager サイト コントロール ファイルの読み取りと書き込みを行う方法 Configuration Managerに対する読み取りと書き込み方法WMI SMS_SCI_Component サーバー WMI クラスを使用したサイト コントロール ファイルWMIを使用してConfiguration Manager コンテキスト修飾子を追加する方法