Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何检查I';我在Windows中以系统用户身份运行_Python_Python 2.7_Windows 7 - Fatal编程技术网

Python 如何检查I';我在Windows中以系统用户身份运行

Python 如何检查I';我在Windows中以系统用户身份运行,python,python-2.7,windows-7,Python,Python 2.7,Windows 7,我正试图找出一种方法来检查我是否以Windows7中的系统帐户运行。要检查我是否以管理员身份运行,我可以执行以下操作: def check_admin if ctypes.winddll.IsUserAdmin() != 0: return True 现在这很好,但如果我需要超越这一点,以root身份运行呢?如果我需要访问一些只有系统帐户才能访问的注册表项,该怎么办?如何检查我的应用程序是否以系统帐户的身份运行?通常,管理员是Windows中的root用户,在系统帐户下

我正试图找出一种方法来检查我是否以Windows7中的系统帐户运行。要检查我是否以管理员身份运行,我可以执行以下操作:

def check_admin
    if ctypes.winddll.IsUserAdmin() != 0:
        return True

现在这很好,但如果我需要超越这一点,以root身份运行呢?如果我需要访问一些只有系统帐户才能访问的注册表项,该怎么办?如何检查我的应用程序是否以系统帐户的身份运行?

通常,管理员是Windows中的root用户,在系统帐户下运行的唯一内容是在用户未登录的情况下运行的服务。没有系统用户,因为系统不是用户-它是系统使用的帐户。您是否正在编写Windows服务(在Python中极不可能)?如果没有,你永远不会需要这些信息。你错了。Windows有一个系统用户,可以访问SAM数据库、安全HKLM密钥和文件散列。为了转储windows凭据,您必须以系统用户身份运行以获取配置单元文件。使用psexec,如果执行
psexec-i-s cmd.exe
,您将作为系统打开一个命令提示符,并可以访问所有内容。然而,可能cmd是作为服务运行的?从技术上讲,Ken是正确的:系统不是用户。我认为正确的术语是“安全原则”。但在这种情况下,这并不重要。您应该能够使用ConvertStringSidToSid()创建表示系统帐户的SID,然后调用checkTokenMembershid()以查看该SID是否在您的令牌中。我不知道在Python中会是什么样子。@HarryJohnston这确实是个好主意,我要试一试