更新リストを作成する方法
SMS_AuthorizationList クラスのインスタンスを作成し、プロパティを設定することで、Configuration Managerでソフトウェア更新プログラムのセットを含む更新リストを作成します。
更新リストを作成するには
SMS プロバイダーへの接続を設定します。
クラスを使用して、新しい更新リスト オブジェクトを
SMS_AuthorizationList
作成します。新しい更新リストのプロパティを設定します。
新しい更新リストとプロパティを保存します。
例
次のメソッド例は、クラスのインスタンス SMS_AuthorizationList
を作成し、プロパティを設定することで、ソフトウェア更新プログラムのセットを含む更新リストを作成する方法を示しています。
重要
この例で使用するプロパティには LocalizedInformation
、説明情報のオブジェクト配列 (埋め込み配列) が必要です。
この例では、 LocaleID
プロパティは英語 (米国) にハードコーディングされています。 米国以外のロケールが必要な場合。インストールでは、 SMS_Identification サーバー WMI クラスLocaleID
プロパティから取得できます。
サンプル コードの呼び出しについては、「Configuration Manager コード スニペットの呼び出し」を参照してください。
次の例は、Visual Basic でのサブルーチン呼び出しを示しています。
' Prework for CreateSUMUpdateList
' Create the array of CI_IDs.
dim newUpdates
newUpdates = Array(9)
' Create and populate an SMS_CI_LocalizedProperties object.
set SMSCILocalizedProperties = swbemservices.Get("SMS_CI_LocalizedProperties").SpawnInstance_
SMSCILocalizedProperties.Description = "Test Description"
SMSCILocalizedProperties.DisplayName = "Test Display Name"
SMSCILocalizedProperties.InformativeURL = "Test URL"
SMSCILocalizedProperties.LocaleID = "1033"
' Create an array to hold the SMS_CI_LocalizedProperties object.
dim newDescriptionInfo
newDescriptionInfo = Array(SMSCILocalizedProperties)
' Call the CreateSUMUpdateList method.
Call CreateSUMUpdateList(swbemServices, _
newUpdates, _
newDescriptionInfo)
次の例は、C# のメソッド呼び出しを示しています。
// Prework for CreateSUMUpdateList
// Create array list (to hold the array of Localized Properties).
List<IResultObject> newDescriptionInfo = new List <IResultObject>();
IResultObject SMSCILocalizedProperties = WMIConnection.CreateEmbeddedObjectInstance("SMS_CI_LocalizedProperties");
// Populate the initial array values (this could be a loop to added more localized info).
SMSCILocalizedProperties["Description"].StringValue = "4 CI_IDs - 9,34,53,72 ";
SMSCILocalizedProperties["DisplayName"].StringValue = "Test Display Name";
SMSCILocalizedProperties["InformativeURL"].StringValue = "Test URL";
SMSCILocalizedProperties["LocaleID"].StringValue = "1033";
// Add the 'embedded properties' to newDescriptionInfo.
newDescriptionInfo.Add(SMSCILocalizedProperties);
// Create the array of CI_IDs.
int[] newCI_ID = new int[] { 9, 34, 53, 72 };
// Call the CreateSUMUpdateList method.
SUMSnippets.CreateSUMUpdateList(WMIConnection,
newCI_ID,
newDescriptionInfo);
Sub CreateSUMUpdateList(connection, _
newUpdates, _
newDescriptionInfo)
' Create the new UpdateList object.
Set newUpdateList = connection.Get("SMS_AuthorizationList").SpawnInstance_
' Populate the UpdateList properties.
' Updates is an int32 array that maps to the CI_ID in SMS_SoftwareUpdate.
newUpdateList.Updates = newUpdates
' Need to pass embedded properties (LocalizedInformation) here.
newUpdateList.LocalizedInformation = newDescriptionInfo
' Save the new UpdateList and properties.
newUpdateList.Put_
' Output the new UpdateList name.
Wscript.Echo "Created Update List " & newUpdateList.LocalizedDisplayName
End Sub
public void CreateSUMUpdateList(WqlConnectionManager connection,
int [] newUpdates,
List<IResultObject> newDescriptionInfo)
{
try
{
// Create the new SMS_AuthorizationList object.
IResultObject newUpdateList = connection.CreateInstance("SMS_AuthorizationList");
// Populate the new SMS_AuthorizationList object properties.
// Updates is an int32 array that maps to the CI_ID in SMS_SoftwareUpdate.
newUpdateList["Updates"].IntegerArrayValue = newUpdates;
// Pass embedded properties (LocalizedInformation) here.
newUpdateList.SetArrayItems("LocalizedInformation", newDescriptionInfo);
// Save changes.
newUpdateList.Put();
Console.WriteLine();
Console.WriteLine("Created Update List. " );
}
catch (SmsException ex)
{
Console.WriteLine("Failed to create update list. Error: " + ex.Message);
throw;
}
}
このメソッドの例には、次のパラメーターがあります。
パラメーター | 型 | 説明 |
---|---|---|
Connection |
-管理: WqlConnectionManager - VBScript: SWbemServices |
SMS プロバイダーへの有効な接続。 |
newUpdates |
- マネージド: Integer 配列- VBScript: Integer 配列 |
更新リストに関連付けられている更新プログラムの配列。 |
newDescriptionInfo |
- マネージド: Object 配列- VBScript: Object 配列 |
型 LocalizedInformation のオブジェクト配列 (埋め込みプロパティ)。 |
コードのコンパイル
この 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」を参照してください。