Startup Typeが "Automatic(Delayed Start)"に設定されているWindowsサービスを検出するには、誰かが(Pythonで)気の利いたトリックを持っていますか?StartModeが "Automatic(Delayed Start)"のWindowsサービス用のPython WMIクエリ
「自動」と「自動(遅延開始)」の両方で構成されたサービスは、「自動」のStartModeで表示されます。
>>> c = wmi.WMI()
>>> local = c.Win32_Service(Caption='Windows Update')
>>> len(local)
1
>>> print local[0]
instance of Win32_Service
{
AcceptPause = FALSE;
AcceptStop = TRUE;
Caption = "Windows Update";
CheckPoint = 0;
CreationClassName = "Win32_Service";
Description = "Enables the... <cut for brevity> ...(WUA) API.";
DesktopInteract = FALSE;
DisplayName = "Windows Update";
ErrorControl = "Normal";
ExitCode = 0;
Name = "wuauserv";
PathName = "C:\\Windows\\system32\\svchost.exe -k netsvcs";
ProcessId = 128;
ServiceSpecificExitCode = 0;
ServiceType = "Share Process";
Started = TRUE;
StartMode = "Auto";
StartName = "LocalSystem";
State = "Running";
Status = "OK";
SystemCreationClassName = "Win32_ComputerSystem";
SystemName = "MEMYSELFANDI";
TagId = 0;
WaitHint = 0;
};
>>> local[0].StartMode
u'Auto'
:
は、例えば、私の地元のWindows 7のボックス使用Services.mscとで私は、「Windowsの更新」を「自動(遅延開始)」のために設定されていることが分かり、まだWMIは、単に「Auto」に示し私はどんな提案も歓迎する。
乾杯、
ロブ
_winregの例に感謝します。乾杯。 – Rob
いつでも、私は '_winreg'(または3.0+で' winreg')が標準ライブラリの一部であることを愛しています:) – Bryan
Sweet! _winreg.ConnectRegistry()を使用して私はリモートボックスに接続してから、キー/値を問い合わせることができます。RRUZとBEARGLEの両方に再び感謝します! – Rob