資源 URI
資源 URI是實作WS-Management通訊協定之管理服務所使用的不同管理作業類型或值的識別碼。 管理值可能是電腦內的溫度。 管理作業的範例是啟動已停止的服務或設定磁片區使用者配額。
資源 URI 格式
URI 包含前置詞和資源的路徑,如下列範例所示:
"http://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_LogicalDisk"
此架構規格表示 URI 是以官方WS-Management通訊協定第 1 版為基礎,而且資源是 WMI 存放庫之 「root\cimv2」 命名空間中的 Win32_LogicalDisk 。 URI 前置詞包含架構規格,例如「schemas.microsoft.com/wbem/wsman/1/wmi」,以及特定類型的資源,例如 Win32_LogicalDisk。 如需識別 WMI 類別特定實例的詳細資訊,請參閱 Windows 遠端系統管理和 WMI。
如需詳細資訊,請參閱 URI 前置詞。
資源 URI 的類型
雖然 Windows Management Instrumentation (WMI) 是 Windows 型作業系統管理資料的主要來源,但其他管理架構來源也存在。
下列清單描述 Windows 遠端系統管理所使用的數種資源 URI 類型:
WMI URI
此 URI 群組代表包含命名空間和類別的 Common Information Model 類別路徑。
WMI URI 可用於:
IPMI URI
此 URI 群組代表以 CIM 2.9 版為基礎的業界標準 URI。 IPMI URI 可用於 會話 方法 Get、 Put、 Enumerate 和 Invoke。
例如 https://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_NumericSensor.xsd。 此資源會根據 CIM 架構 DMTF.org 定義。
WinRM 設定 URI
此組 URI 是 WinRM接聽程式 組態的組態作業。
https://schemas.microsoft.com/wbem/wsman/1/config/listener
可用於 Session 方法 Get、 Put、 Create、 Delete和 Enumerate。系統事件記錄 檔 (SEL) URI
此 URI 群組會訂閱來自 BMC 的事件收集器事件。 您可以使用 Wevtutil 命令列工具來訂閱這些事件。
區分大小寫
WMI 外掛程式會保留要求中收到的資源 URI 案例。 不過,若要確保與其他WS-Management通訊協定實作的互通性,請使用資源 URI 中要求資源的正確案例。 正確的大小寫是資源提供者所定義的拼字。
雖然資源 URI 不需要區分大小寫,但 片段 XML 會這麼做。 片段只指定一個屬性,而不是資源的整個屬性集。 在 WMI 資源的情況下,片段語法會從資源實例取得一個屬性。 例如,只需要使用片段,才能從Win32_OperatingSystem取得Version屬性。 For more information about fragments, see "Adding a selector to a ResourceLocator or IWSManResourceLocator object" in Windows Remote Management and WMI.
在 XML 和 XPath 標準之後, WMI 外掛程式 會針對定義方法之輸入參數的片段和 XML 強制執行區分大小寫。 需要區分大小寫才能支援 XPath 1.0/Level 1 標準。 若要透過 WinRM 取得 WMI 資料,區分大小寫表示 WMI 類別、屬性和方法的名稱必須符合 WMI 存放庫中找到的名稱大小寫。
如需詳細資訊,請參閱 XPath 語法。
區分大小寫的範例
例如,從WMI Win32_Service 類別的實例取得SECURITY_DESCRIPTOR屬性的腳本,不能只對片段路徑中的名稱使用大寫,而只能使用 URI。 WinRM WMI 外掛程式 會傳回下列 VBScript 範例的錯誤,因為為 FragmentPath 提供的 XPath XML 不會使用正確的案例。 在 WMI 存放庫中,類別拼字為「Win32_Service」。
RResourceUri = "http://schemas.microsoft.com/wbem/wsman/1/"_& "wmi/root/cimv2/Win32_Service?Name=winrm"
Set WSMan = CreateObject("WSMan.Automation")
Set Locator = WSMan.CreateResourceLocator(Resourceuri)
Locator.FragmentPath = "/Win32_SERVICE/Name"
Set Session = WSMan.Createsession
xml = Session.Get(Locator)
WScript.Echo xml
下列相同範例版本顯示 Win32_Service 類別和 SECURITY_DESCRIPTOR 屬性的正確案例使用案例。
ResourceUri = "http://schemas.microsoft.com/wbem/wsman/1/"_
& "wmi/root/cimv2/Win32_Service?Name=winrm"
Set WSMan = CreateObject("WSMan.Automation")
Set Locator = WSMan.CreateResourceLocator(Resourceuri)
Locator.FragmentPath = "/Win32_Service/Name"
Set Session = WSMan.Createsession
xml = Session.Get(Locator)
WScript.Echo xml
相關主題