如何匯出設定基準和設定專案
在Configuration Manager中,若要使用 Configuration Manager SDK 匯出組態基準或設定專案,請讀取相關的 SMS_ConfigurationItem
實例,並將 SDMPackageXML
屬性 (字串) 寫入檔案。
重要事項
XML 檔案的編碼必須設定為 UTF-16 編碼的 Unicode。
匯出設定基準和設定專案
設定與 SMS 提供者的連線。
使用 組態專案 (CI_ID) 的唯一 識別碼,取得SMS_ConfigurationItem類別的特定實例。
將設定專案 XML (SDMPackageXML) 複製到變數中。
將組態專案 XML 內容寫入檔案。
範例
下列程式碼範例示範如何讀取組態基準或組態專案的實例,然後將它匯出至檔案。
如需呼叫範例程式碼的相關資訊,請參閱呼叫Configuration Manager程式碼片段。
Sub DCMExportBaselineOrCI(swbemServices, _
pathToFile, _
configurationItemId)
' Set required variables.
fileContents = ""
configurationItemXML = null
' Get specified configuration item (configurationItemId variable).
Set getCIInfo = swbemServices.Get("SMS_ConfigurationItem.CI_ID=" & configurationItemId )
' Copy configuration item XML into variable.
configurationItemXML = getCIInfo.SDMPackageXML
Wscript.Echo configurationItemXML
' Open file for write (Unicode option enabled by second true).
Set FSO = CreateObject("Scripting.FileSystemObject")
Set textFile = FSO.CreateTextFile(pathToFile, true, true)
' Write XML content to file specified by pathToFile.
textFile.Write configurationItemXML
textFile.Close
Wscript.Echo " "
Wscript.Echo "Successfully wrote " & pathToFile
End Sub
public void DCMExportBaselineOrCI(WqlConnectionManager connection,
string pathToOutputFile,
string configurationItemId)
{
// Set required variables.
string configurationItemXML = null;
try
{
// Get the specified configuration item (configurationItemId variable).
IResultObject getCIInfo = connection.GetInstance(@"SMS_ConfigurationItem.CI_ID=" + configurationItemId);
// Copy configuration item XML into variable.
configurationItemXML = getCIInfo["SDMPackageXML"].StringValue;
}
catch (SmsException ex)
{
Console.WriteLine("Failed to retrieve configuration item xml. " + "\n" + ex.Message);
throw;
}
StreamWriter sw = null;
try
{
// Open file for output.
sw = new StreamWriter(pathToOutputFile, false, System.Text.Encoding.Unicode);
// Write XML to output file.
sw.Write(configurationItemXML);
}
catch (Exception ex)
{
Console.WriteLine("Failed to write configuration item XML to: " + pathToOutputFile + "\n" + ex.Message);
throw;
}
finally
{
if (sw != null)
{
sw.Close();
}
}
Console.WriteLine("Wrote configuration item XML to: " + pathToOutputFile);
}
範例方法具有下列參數:
參數 | Type | 描述 |
---|---|---|
connection |
-管理: WqlConnectionManager - VBScript: SWbemServices |
SMS 提供者的有效連線。 |
- pathToOutputFile - pathToFile |
-管理: String - VBScript: String |
輸出檔的路徑。 |
configurationItemId |
-管理: String - VBScript: String |
要匯出之組態專案的識別碼。 |
正在編譯程式碼
命名空間
系統
System.Collections.Generic
System.ComponentModel
Microsoft。ConfigurationManagement.ManagementProvider
Microsoft。ConfigurationManagement.ManagementProvider.WqlQueryEngine
組件
adminui.wqlqueryengine
microsoft.configurationmanagement.managementprovider
健全的程式設計
如需錯誤處理的詳細資訊,請參閱關於Configuration Manager錯誤。
.NET Framework 安全性
如需保護Configuration Manager應用程式的詳細資訊,請參閱Configuration Manager角色型系統管理。
另請參閱
關於設定基準和設定專案
物件概觀如何使用 Managed 程式碼連線到Configuration Manager提供者
如何使用 WMI 連線到Configuration Manager提供者
SMS_BaselineAssignment伺服器 WMI 類別
SMS_ConfigurationItem伺服器 WMI 類別
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應