Win32_StartupCommand 類別
Win32_StartupCommandWMI 類別代表當使用者登入電腦系統時自動執行的命令。
下列語法已經過受管理物件格式 (MOF) 程式碼簡化,並包含所有已繼承的屬性。 屬性和方法會依字母順序排列,而不是 MOF 順序。
語法
[Dynamic, Provider("CIMWin32"), Privileges("SeRestorePrivilege"), UUID("{8502C50A-5FBB-11D2-AAC1-006008C78BC7}"), AMENDMENT]
class Win32_StartupCommand : CIM_Setting
{
string Caption;
string Description;
string SettingID;
string Command;
string Location;
string Name;
string User;
string UserSID;
};
成員
Win32_StartupCommand類別具有下列類型的成員:
屬性
Win32_StartupCommand類別具有這些屬性。
-
標題
-
-
資料類型: 字串
-
存取類型:唯讀
-
限定詞: MaxLen (64)
目前 物件的簡短文字描述。
此屬性繼承自 CIM_Setting。
-
-
命令
-
-
資料類型: 字串
-
存取類型:唯讀
-
限定詞: key、 MappingStrings (「Win32Registry|SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run「)
啟動命令執行的命令。
WMI 會從登錄機碼取得此資料
\ HKEY_LOCAL_MACHINE軟體\微軟\窗戶\CurrentVersion\運行
範例:「C:\Windows\notepad.exe myfile.txt」
-
-
說明
-
-
資料類型: 字串
-
存取類型:唯讀
目前 物件的文字描述。
此屬性繼承自 CIM_Setting。
-
-
位置
-
-
資料類型: 字串
-
存取類型:唯讀
-
限定詞: key、 MappingStrings (「Win32Registry|\\SOFTWARE\\MICROSOFT\\WINDOWS\\CURRENTVERSION\\Windows」)
啟動命令所在的路徑位於磁片檔案系統上。
例如:HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
-
-
Startup (「Startup」)
-
一般啟動 (「一般啟動」)
-
HKLM\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run (「HKLM \\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run」)
-
HKLM\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\RunServices (「HKLM \\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\RunServices」)
名稱
-
資料類型: 字串
-
存取類型:唯讀
-
限定詞: key、 MappingStrings (「Win32API|檔案結構|WIN32_FIND_DATA|cFileName「)
啟動命令的檔案名。
範例:「FindFast」
SettingID
-
資料類型: 字串
-
存取類型:唯讀
-
限定詞: MaxLen (256)
已知目前物件的識別碼。
此屬性繼承自 CIM_Setting。
使用者
-
資料類型: 字串
-
存取類型:唯讀
-
限定詞: key、 MappingStrings (「WMI」)
執行這個啟動命令的使用者名稱。
範例:「mydomain\myname」
UserSID
-
資料類型: 字串
-
存取類型:唯讀
-
限定詞: MappingStrings (「WMI」)
UserSID 屬性工作表示執行這個啟動命令之使用者的 SID。 該 User 屬性可能是空的,但如果無法解析使用者名稱,則 UserSID 仍具有值 (,例如刪除的使用者) 。 屬性有助於區分具有未解析名稱的兩個不同使用者相關聯的命令。 當命令與未實際識別所有使用者等使用者的專案相關聯時,可能是 Null。
範例:S-1-5-21-1579938362-1064596589-3161144252-1006
備註
Win32_StartupCommand類別衍生自CIM_Setting。
載入作業系統之後,電腦啟動不會結束。 相反地,您可以設定 Windows 作業系統,以便在每次 Windows 啟動時執行啟動命令。 啟動命令會儲存在登錄中或作為使用者設定檔的一部分,並用來在每次載入 Windows 時自動啟動指定的腳本或應用程式。
在大部分情況下,自動啟動程式很有用;它們可確保每次載入 Windows 時,都會自動啟動並執行某些應用程式,例如防毒工具。 不過,自動啟動程式也可以負責下列問題:
- 需要很長的時間才能啟動的電腦。 這可能是每次 Windows 啟動時都必須啟動的大量應用程式的結果。
- 在工作列或工作管理員中表示的應用程式,即使使用者未啟動它們也一樣。 雖然這些應用程式不一定會造成問題,但會導致使用者對這些程式的來源混淆,以及執行原因的技術支援中心通話。
- 即使電腦似乎閒置,也遇到問題。 這些問題通常追蹤到在沒有人知道正在執行的啟動命令時執行。
識別在啟動時自動執行的應用程式和腳本是一項重要但難以的系統管理工作,因為啟動命令可以儲存在許多不同的位置:
- HKLM\Software\Microsoft\Windows\CurrentVersion\Run
- HKLM\Software\Microsoft\Windows\CurrentVersion\RunOnce
- HKCU\Software\Microsoft\Windows\CurrentVersion\Run
- HKCU\Software\Microsoft\Windows\CurrentVersion\RunOnce
- HKU\ProgID\Software\Microsoft\Windows\CurrentVersion\Run
- systemdrive\Documents and Settings\All Users\Start Menu\Programs\Startup
- systemdrive\Documents and Settings\username\Start Menu\Programs\Startup
您可以使用 WMI Win32_StartupCommand 類別來列舉自動啟動程式,而不論資訊儲存位置為何。
使用此類別的呼叫進程必須具有登錄所在電腦上的 SE_RESTORE_NAME 許可權。 例如,如果您在本機電腦上列舉此類別,則應用程式執行所在的帳戶必須具有此許可權。 如需詳細資訊,請參閱 執行特殊許可權作業。
您可以在腳本或 C++ 中呼叫 WMI系統登錄提供者方法來變更Win32_StartupCommand取得資料的登錄值。 如需詳細資訊,請參閱 修改系統登錄。
範例
下列 VBScript 會列舉電腦上的啟動命令。
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colStartupCommands = objWMIService.ExecQuery _
("SELECT * FROM Win32_StartupCommand")
For Each objStartupCommand in colStartupCommands
Wscript.Echo "Command: " & objStartupCommand.Command
Wscript.Echo "Description: " & objStartupCommand.Description
Wscript.Echo "Location: " & objStartupCommand.Location
Wscript.Echo "Name: " & objStartupCommand.Name
Wscript.Echo "SettingID: " & objStartupCommand.SettingID
Wscript.Echo "User: " & objStartupCommand.User
Next
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 |
Windows Vista |
最低支援的伺服器 |
Windows Server 2008 |
命名空間 |
Root\CIMV2 |
MOF |
|
DLL |
|
另請參閱