【问题标题】:How to use python to check if a computer is in a domain or is in workgroup如何使用python检查计算机是在域中还是在工作组中
【发布时间】:2022-02-13 01:51:55
【问题描述】:

我想使用 python 检查计算机是在域中还是在工作组中
例如:

def run_check():
    # code here

result = run_check()
if result == "Domain":
    print("Domain")
elif result == "Workgroup":
    print("Workgroup")
else:
    print("None")

我尝试使用 os.environ['USERDNSDOMAIN'],但它给出了 WorkGroupNameDomainName,我不知道该名称是用于工作组还是用于域

你能帮帮我吗?

提前致谢

【问题讨论】:

  • 欢迎来到 stackoverflow.com。请花一些时间阅读the help pages,尤其是名为"What topics can I ask about here?""What types of questions should I avoid asking?" 的部分。也请使用tour 并阅读How to Ask 的好问题。最后请阅读this question checklist
  • 如果您能准确指出我在哪里违反了这些说明以及在我的情况下什么是正确的例子,我将不胜感激,谢谢。
  • 您不能指望我们提供从头到尾的完整解决方案。你自己做了什么研究?你自己做了哪些尝试?你的尝试是如何奏效的?你必须表现出至少一些自己解决问题的努力。
  • 嗯,我搜索了很多,我能得到的只是像 True if domain or workgroup else False 这样的解决方案。但是想要的更像True if domain else False,我也回答了question,但我需要的是Workgroup与Domain不同,我无法提供更多我的解决方案,因为它只会产生分歧,问题很简单,无论如何谢谢为了分享,如果有帮助,我会尝试编辑和解释更多关于我所做的事情

标签: python windows network-programming workgroup windowsdomainaccount


【解决方案1】:

申请Windows Management Instrumentationwmi模块):

import wmi

wmi_os = wmi.WMI().Win32_ComputerSystem()[0]
print( wmi_os.Name, 'PartOfDomain?', wmi_os.PartOfDomain)
MY-PC PartOfDomain? False

注意:print(wmi_os) 显示Win32_ComputerSystem 类实例的所有属性(及其值)。

所有属性均为print(wmi_os.__dict__['properties'].keys())

dict_keys(['AdminPasswordStatus', 'AutomaticManagedPagefile', 'AutomaticResetBootOption', 'AutomaticResetCapability', 'BootOptionOnLimit', 'BootOptionOnWatchDog', 'BootROMSupported', 'BootStatus', 'BootupState', 'Caption', 'ChassisBootupState', 'ChassisSKUNumber', 'CreationClassName', 'CurrentTimeZone', 'DaylightInEffect', 'Description', 'DNSHostName', 'Domain', 'DomainRole', 'EnableDaylightSavingsTime', 'FrontPanelResetStatus', 'HypervisorPresent', 'InfraredSupported', 'InitialLoadInfo', 'InstallDate', 'KeyboardPasswordStatus', 'LastLoadInfo', 'Manufacturer', 'Model', 'Name', 'NameFormat', 'NetworkServerModeEnabled', 'NumberOfLogicalProcessors', 'NumberOfProcessors', 'OEMLogoBitmap', 'OEMStringArray', 'PartOfDomain', 'PauseAfterReset', 'PCSystemType', 'PCSystemTypeEx', 'PowerManagementCapabilities', 'PowerManagementSupported', 'PowerOnPasswordStatus', 'PowerState', 'PowerSupplyState', 'PrimaryOwnerContact', 'PrimaryOwnerName', 'ResetCapability', 'ResetCount', 'ResetLimit', 'Roles', 'Status', 'SupportContactDescription', 'SystemFamily', 'SystemSKUNumber', 'SystemStartupDelay', 'SystemStartupOptions', 'SystemStartupSetting', 'SystemType', 'ThermalState', 'TotalPhysicalMemory', 'UserName', 'WakeUpType', 'Workgroup'])

您可能主要对以下内容感兴趣:

Caption
DNSHostName
Domain
DomainRole
Name
NameFormat
PartOfDomain
Roles
UserName
Workgroup

【讨论】:

  • 非常感谢,这正是我正在寻找的所有内容
猜你喜欢
  • 2023-03-04
  • 1970-01-01
  • 1970-01-01
  • 2019-05-17
  • 1970-01-01
  • 2017-11-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多