Configuration Manager サイト コントロール ファイルの埋め込みプロパティ リストを読み取る方法
Configuration Managerでは、リソース PropLists プロパティ配列から埋め込みオブジェクトのSMS_EmbeddedPropertyList オブジェクトを取得することで、サイト コントロール ファイル リソースから埋め込みプロパティ リストを読み取ります。
埋め込みプロパティ リストには、次のプロパティを設定できます。 詳細については、「 SMS_EmbeddedPropertyList」を参照してください。
値 | 説明 |
---|---|
PropertyListName | 埋め込みプロパティ名。 |
値 | 文字列値の配列。 各配列項目は、1 つのプロパティリストアイテムを表します。 |
注意
サイトコントロールファイルを変更すると、Configuration Managerサイトに回復不可能な損傷が発生する可能性があります。
サイト コントロール ファイルの埋め込みプロパティ リストを読み取る
SMS プロバイダーへの接続を設定します。 詳細については、「 SMS プロバイダーの基礎」を参照してください。
手順 1 の接続オブジェクトを使用して、サイト コントロール ファイル リソースを取得します。 詳細については、「Configuration Manager サイト コントロール ファイルについて」を参照してください。
SMS_EmbeddedPropertyList
必要な埋め込みプロパティ リストの を取得します。オブジェクト Values プロパティ配列を使用して、プロパティ リストの値に
SMS_EmbeddedPropertyList
アクセスします。
例
次のメソッドの例では、指定されたvalues
パラメーターに、パラメーターによって識別される埋め込みプロパティ リストSMS_EmbeddedPropertyList
の Values 配列をpropertyListName
設定します。
true
は、埋め込みプロパティ リストが見つかった場合に返されます。それ以外の場合は、 false
が返されます。
これらの関数を呼び出すコードを表示するには、「マネージド コードを使用して Configuration Manager サイト コントロール ファイルを読み書きする方法」を参照するか、「WMI を使用してConfiguration Managerサイト コントロール ファイルを読み書きする方法」を参照してください。
サンプル コードの呼び出しについては、「Configuration Manager コード スニペットの呼び出し」を参照してください。
Function GetScfEmbeddedPropertyList(resource, _
propertyListName, _
ByRef values)
Dim scfPropertyList
If IsNull(resource.PropLists) = True Then
GetScfPropertyList = False
Exit Function
End If
For each scfPropertyList in resource.PropLists
if scfPropertyList.PropertyListName = propertyListName Then
' Found property list, so return the values array.
values = scfPropertyList.Values
GetScfEmbeddedPropertyList = True
Exit Function
End If
Next
' Did not find the property list.
GetScfEmbeddedPropertyList = False
End Function
public bool GetScfEmbeddedPropertyList(
IResultObject resource,
string propertyListName,
out ArrayList values)
{
values = new ArrayList();
try
{
if (resource.EmbeddedPropertyLists.ContainsKey(propertyListName))
{
values.AddRange(resource.EmbeddedPropertyLists[propertyListName]["Values"].StringArrayValue);
return true;
}
}
catch(SmsException e)
{
Console.WriteLine("Couldn't get the embedded property list: " + e.Message);
}
return false;
}
サンプル メソッドには、次のパラメーターがあります。
パラメーター | 型 | 説明 |
---|---|---|
Resource |
-管理: IResultObject - VBScript: SWbemObject |
埋め込みプロパティを含むサイト コントロール ファイル リソース。 |
propertyListName |
-管理: String -Vbscript: String |
読み取る埋め込みプロパティ の一覧。 |
Values |
- マネージド: String 配列- VBScript: String 配列 |
クラス Values SMS_EmbeddedProperty プロパティ。 文字列値の配列。 |
コードのコンパイル
C# の例には、次のコンパイル要件があります。
名前空間
System
System.Collections.Generic
System.collections
System.text
Microsoft。ConfigurationManagement.ManagementProvider
Microsoft。ConfigurationManagement.ManagementProvider.WqlQueryEngine
Assembly
microsoft.configurationmanagement.managementprovider
adminui.wqlqueryengine
堅牢なプログラミング
エラー処理の詳細については、「Configuration Manager エラーについて」を参照してください。
.NET Framework のセキュリティ
Configuration Manager アプリケーションのセキュリティ保護の詳細については、「ロールベースの管理Configuration Manager」を参照してください。
関連項目
サイトコントロールファイルのConfiguration Managerについて
マネージド コードを使用してConfiguration Manager サイト コントロール ファイルの読み取りと書き込みを行う方法
WMI を使用してConfiguration Manager サイト コントロール ファイルの読み取りと書き込みを行う方法