建構 Moniker 字串

Moniker 字串格式類似于標準 WMI 物件路徑的格式。 如需詳細資訊,請參閱 WMI 物件路徑需求

Moniker 具有下列部分:

  • 前置詞 WinMgmts: (強制) 。 前置詞會指示 Windows 腳本主機 (WSH) 下列程式碼將使用 腳本 API 物件
  • 選擇性 (安全性設定元件)
  • 選擇性 (WMI 物件路徑元件)

您無法在 WMI Moniker 字串中指定密碼。 如果您必須在連線到 WMI 時變更密碼 (strPassword 參數) 或驗證類型 (strAuthority 參數) ,請呼叫 SWbemLocator.ConnectServer。 請注意,您只能在與遠端電腦的連線中指定密碼和授權單位。 嘗試在本機電腦上執行的腳本中設定這些專案會導致錯誤。 如需何時使用安全性設定和物件路徑元件的詳細資訊,請參閱 WMI 安全性設定

下列 Moniker 會指定 SWbemServices 物件,此物件代表命名空間 root\default,其中會模擬 on 和 wbemPrivilegeDebug (SeDebugPrivilege) 許可權啟用,而 wbemPrivilegeSecurity (SeSecurityPrivilege) 許可權已停用。

"winmgmts:{impersonationLevel=impersonate," & "(debug,!security)}!root\default"

注意

所有字串常值不區分大小寫。

許可權上的 「!」 前置詞表示要停用許可權;省略此前置詞表示要啟用許可權。

在電腦名稱稱或命名空間之前以方括弧指定安全性設定時,會在電腦名稱稱或命名空間上使用 「!」 前置詞。

 

指定物件路徑時,允許下列預設指派:

  • 您可以從物件路徑省略電腦名稱稱,在此情況下會假設本機電腦名稱稱。

  • 命名空間可以從物件路徑中省略,在此情況下會假設預設命名空間。

    這是由軟體\Microsoft\WBEM\腳本\預設命名空間HKEY_LOCAL_MACHINE\ 登錄機碼的值來決定,預設值為 「Root\CIMv2」。

  • 您也可以指定類別或實例,在此情況下,傳回的物件是 WMI 物件,而不是 services 物件。

注意

如果指定類別或實例,則您無法在指定電腦電腦名稱稱時省略命名空間。

 

如需 WMI Moniker 字串上所用許可權常數的參考,請參閱 Privilege Constants和「Scripting short name」 描述元。

有效的 Moniker 字串

下列範例顯示有效的 Moniker 字串。

下列 Moniker 會識別本機電腦上的預設命名空間。 會傳回 SWbemServices 物件。

WinMgmts:

下列 Moniker 會識別 myServer 電腦上的預設命名空間。 會傳回 SWbemServices 物件。

"WinMgmts://myServer"

下列 Moniker 會識別 myServer 電腦上的 root\cimv2 命名空間。 會傳回 SWbemServices 物件。

"WinMgmts://myServer/root/cimv2"

下列 Moniker 會識別本機伺服器上的 root\cimv2 命名空間。 會傳回 SWbemServices 物件。

"WinMgmts:root/cimv2"

下列 Moniker 會識別 myServer 伺服器上 root\cimv2 命名空間中的 Win32_LogicalDisk 類別。 會傳回 SWbemObject 物件。

"WinMgmts:{impersonationLevel=impersonate}" _
    & "!//myServer/root/cimv2:Win32_LogicalDisk"

下列 Moniker 會識別本機伺服器上 root\cimv2 命名空間中的 Win32_LogicalDisk 類別。 會傳回 SWbemObject 物件。

"WinMgmts:{impersonationLevel=impersonate}" & "!root/cimv2:Win32_LogicalDisk"

下列 Moniker 會識別本機伺服器上預設命名空間中的 Win32_LogicalDisk 類別。 會傳回 SWbemObject 物件。

"WinMgmts:{impersonationLevel=impersonate}" & "!Win32_LogicalDisk"

下列 Moniker 會識別對應至本機伺服器上預設腳本命名空間中 ,Win32_LogicalDisk 磁片磁碟機 C: 的實例。 會傳回 SWbemObject 物件。 腳本的預設命名空間是由 WMI 控制項中指定的預設命名空間組態設定所決定。 如需詳細資訊,請參閱 使用 WMI 控制項設定命名空間安全性

"WinMgmts::Win32_LogicalDisk='C:'"

下列 Moniker 會識別對應至 myServer 伺服器上的 root\cimv2 命名空間中 ,對應 至磁片磁碟機 C 的Win32_LogicalDisk實例。 會傳回 SWbemObject 物件。

"WinMgmts:{impersonationLevel=impersonate}" & "!//myServer/root/cimv2:Win32_LogicalDisk="C:""

下列 Moniker 會識別對應至本機伺服器上 root\cimv2 命名空間中磁片磁碟機 C 的 Win32_LogicalDisk 實例。 會傳回 SWbemObject 物件。

"WinMgmts:{impersonationLevel=impersonate}" & "!root/cimv2:Win32_LogicalDisk="C:""

下列 Moniker 會識別本機伺服器上預設命名空間中對應至磁片磁碟機 C 的 Win32_LogicalDisk 實例。 會傳回 SWbemObject 物件。

"WinMgmts:{impersonationLevel=impersonate}" & "!Win32_LogicalDisk="C:""

下列 Moniker 會將模擬層級設定為模擬,並設定SE_DEBUG許可權。

"WinMgmts:{impersonationLevel=impersonate, (Debug)}"

下列 Moniker 會將模擬層級設定為模擬,並設定SE_DEBUG許可權。 它也會撤銷SE_SHUTDOWN許可權。

"WinMgmts:{impersonate,(Debug,!Shutdown)}"

下列 Moniker 會從 root\wmi 命名空間擷取 myclass 類別 的美式英文當地語系化描述。

"WinMgmts:[locale=ms_409]!root/wmi:myclass"

下列 Moniker 會使用主體 mydomain\server 要求 Kerberos 驗證。

"Winmgmts:{impersonationLevel=delegate," _
    & "authority=kerberos:mydomain\server}" _
    & "!//myserver/root/default:__cimomidentification=@"

下列 Moniker 會使用 mydomain 網域要求 NTLM 驗證。

"Winmgmts:{impersonationLevel=impersonate," & _
    "authority=ntlmdomain:mydomain} " & _
    "!//myserver/root/default:__cimomidentification=@

下列 VBScript 程式碼範例示範如何在 Moniker 中結合安全性和地區設定參數。

'*****************************************************************
'   Name    :  Moniker.vbs
'
'   Purpose :  This example shows how to set various 
'              parameters in a moniker. 
'****************************************************************

Set myobj = GetObject("WINMGMTS:" _
            & "{impersonationLevel=impersonate," _
            & "authenticationLevel=pktPrivacy," _
            & "authority=ntlmdomain:mydomain," _
            & "(Debug,!Shutdown)}" _
            & "[locale=ms_409]" _
            & "!\\User1\ROOT\CIMV2:Win32_LogicalDisk=""C:""")

wscript.echo "File system = " & myobj.filesystem

注意

雖然 Moniker 提供更直接的物件存取權,但在某些情況下,重複使用 Moniker 可能會比明確連接到 WMI 的對等程式碼更有效率。 如果考慮應用程式效能,請考慮使用替代機制。

由於 Microsoft Internet Explorer 基於安全性考慮,無法使用 VBScript 提供的 GetObject 函式來更新或設定內嵌在 HTML 頁面中的腳本時更新或設定資料。