Configuration Manager 컬렉션 변수를 만드는 방법
SMS_CollectionSettings Server WMI 클래스의 속성에 SMS_CollectionVariable Server WMI 클래스의 인스턴스를 CollectionVariables
추가하여 Configuration Manager 컬렉션에 대한 컬렉션 변수를 만듭니다.
컬렉션 변수를 만들려면
SMS 공급자에 대한 연결을 설정합니다. 자세한 내용은 SMS 공급자 기본 사항을 참조하세요.
SMS_CollectionSettings 인스턴스를 가져옵니다.
추가할 각 변수에 대해 포함 개체 SMS_CollectionVariable 인스턴스를 CollectionVariables 배열 속성에 추가합니다.
클래스 인스턴스에
SMS_CollectionSettings
변경 내용을 커밋합니다.
예시
다음 예제 메서드는 컬렉션 변수를 만들고 제공된 식별자가 식별한 컬렉션에 추가합니다. 컬렉션에 SMS_CollectionSettings
대한 개체가 없으면 생성됩니다.
샘플 코드 호출에 대한 자세한 내용은 코드 조각 Configuration Manager 호출을 참조하세요.
Sub CreateCollectionVariable( connection, name, value, mask, collectionId, precedence)
Dim collectionSettings
Dim collectionVariables
Dim collectionVariable
Dim Settings
' See if the settings collection already exists. if it does not, create it.
Set settings = connection.ExecQuery _
("Select * From SMS_CollectionSettings Where CollectionID = '" & collectionID & "'")
If settings.Count = 0 Then
Wscript.Echo "Creating collection settings object"
Set collectionSettings = connection.Get("SMS_CollectionSettings").SpawnInstance_
collectionSettings.CollectionID = collectionId
collectionSettings.Put_
End If
' Get the collection settings object.
Set collectionSettings = connection.Get("SMS_CollectionSettings.CollectionID='" & collectionId &"'" )
' Get the collection variables.
collectionVariables=collectionSettings.CollectionVariables
' Create and populate a new collection variable.
Set collectionVariable = connection.Get("SMS_CollectionVariable").SpawnInstance_
collectionVariable.Name = name
collectionVariable.Value = value
collectionVariable.IsMasked = mask
' Add the new collection variable.
ReDim Preserve collectionVariables (UBound (collectionVariables)+1)
Set collectionVariables(UBound(collectionVariables)) = collectionVariable
collectionSettings.CollectionVariables=collectionVariables
collectionSettings.Put_
End Sub
public void CreateCollectionVariable(
WqlConnectionManager connection,
string name,
string value,
bool mask,
string collectionId,
int precedence)
{
try
{
IResultObject collectionSettings = null;
// Get the collection settings. Create it if necessary.
IResultObject collectionSettingsQuery = connection.QueryProcessor.ExecuteQuery(
"Select * from SMS_CollectionSettings where CollectionID='" + collectionId + "'");
foreach (IResultObject setting in collectionSettingsQuery)
{
collectionSettings = setting;
}
if ( collectionSettings == null)
{
collectionSettings = connection.CreateInstance("SMS_CollectionSettings");
collectionSettings["CollectionID"].StringValue = collectionId;
collectionSettings.Put();
collectionSettings.Get();
}
// Create the collection variable.
List<IResultObject> collectionVariables = collectionSettings.GetArrayItems("CollectionVariables");
IResultObject collectionVariable = connection.CreateEmbeddedObjectInstance("SMS_CollectionVariable");
collectionVariable["Name"].StringValue = name;
collectionVariable["Value"].StringValue = value;
collectionVariable["IsMasked"].BooleanValue = mask;
// Add the collection variable to the collection settings.
collectionVariables.Add(collectionVariable);
collectionSettings.SetArrayItems("CollectionVariables", collectionVariables);
// Set the collection variable precedence.
collectionSettings["CollectionVariablePrecedence"].IntegerValue = precedence;
collectionSettings.Put();
}
catch (SmsException e)
{
Console.WriteLine("Failed to create collection variable: " + e.Message);
throw;
}
}
예제 메서드에는 다음 매개 변수가 있습니다.
매개 변수 | 형식 | 설명 |
---|---|---|
Connection |
-관리: WqlConnectionManager - VBScript: SWbemServices |
SMS 공급자에 대한 유효한 연결입니다. |
Name |
-관리: String -Vbscript: String |
만들 변수의 이름입니다. |
Value |
-관리: String -Vbscript: String |
변수의 값입니다. |
Mask |
-관리: Boolean -Vbscript: Boolean |
값이 Configuration Manager 콘솔에 표시되는지 여부를 지정합니다.true - 변수 값이 표시되지 않습니다.false - 변수 값이 표시됩니다. |
CollectionID |
-관리: String -Vbscript: String |
변수가 추가되는 컬렉션입니다. |
Precedence |
-관리: Integer -Vbscript: Integer |
배열의 다른 변수보다 변수의 우선 순위입니다. |
코드 컴파일
C# 예제에는 다음과 같은 컴파일 요구 사항이 있습니다.
네임 스페이스
시스템
System.Collections.Generic
Microsoft. ConfigurationManagement.ManagementProvider
Microsoft. ConfigurationManagement.ManagementProvider.WqlQueryEngine
어셈블리
microsoft.configurationmanagement.managementprovider
adminui.wqlqueryengine
강력한 프로그래밍
오류 처리에 대한 자세한 내용은 Configuration Manager 오류 정보를 참조하세요.
.NET Framework 보안
Configuration Manager 애플리케이션 보안에 대한 자세한 내용은 역할 기반 관리 Configuration Manager 참조하세요.
참고 항목
개체 개요관리 코드를 사용하여 Configuration Manager SMS 공급자에 연결하는 방법
WMI를 사용하여 Configuration Manager SMS 공급자에 연결하는 방법
Configuration Manager 컴퓨터 변수를 만드는 방법
관리 코드를 사용하여 Configuration Manager 개체를 만드는 방법
WMI를 사용하여 Configuration Manager 개체를 만드는 방법
OS 배포 컴퓨터 관리 정보