Win32_NetworkLoginProfileWMI 类表示运行 Windows 的计算机系统上特定用户的网络登录信息。 这包括密码状态、访问特权、磁盘配额和登录目录路径。
以下语法从托管对象格式 (MOF) 代码中简化,包括所有继承的属性。
语法
[Dynamic, Provider("CIMWin32"), Privileges("SeRestorePrivilege"), UUID("{8502C4E7-5FBB-11D2-AAC1-006008C78BC7}"), AMENDMENT]
class Win32_NetworkLoginProfile : CIM_Setting
{
string Caption;
string Description;
string SettingID;
datetime AccountExpires;
uint32 AuthorizationFlags;
uint32 BadPasswordCount;
uint32 CodePage;
string Comment;
uint32 CountryCode;
uint32 Flags;
string FullName;
string HomeDirectory;
string HomeDirectoryDrive;
datetime LastLogoff;
datetime LastLogon;
string LogonHours;
string LogonServer;
uint64 MaximumStorage;
string Name;
uint32 NumberOfLogons;
string Parameters;
datetime PasswordAge;
datetime PasswordExpires;
uint32 PrimaryGroupId;
uint32 Privileges;
string Profile;
string ScriptPath;
uint32 UnitsPerWeek;
string UserComment;
uint32 UserId;
string UserType;
string Workstations;
};
成员
Win32_NetworkLoginProfile类具有以下类型的成员:
性能
Win32_NetworkLoginProfile类具有以下属性。
-
AccountExpires
-
-
数据类型:datetime
-
访问类型:只读
-
限定符: MappingStrings (“Win32API|网络管理结构 |USER_INFO_3|usri3_acct_expires“)
帐户将过期。 此值从自 1970 年 1 月 1 日 00:00:00 以来经过的秒数计算,并按以下格式设置:yyyymmddhmmss.mmmmmm sutc。
示例:20521201000230.0000000 000
-
-
AuthorizationFlags
-
-
数据类型:uint32
-
访问类型:只读
-
限定符: MappingStrings (“Win32API|网络管理结构 |USER_INFO_3|usri3_auth_flags“), BitValues (”Printer“、”Communication“、”Server“、”Accounts“)
指定用户有权使用或修改的资源的标志集。
-
-
1 (0x1)
-
打印机
-
2 (0x2)
-
通信
-
4 (0x4)
-
服务器
-
8 (0x8)
-
帐户
BadPasswordCount
-
数据类型:uint32
-
访问类型:只读
-
限定符: MappingStrings (“Win32API|网络管理功能 |NetUserEnum“)
登录到运行 Windows 的计算机系统时,用户输入错误的密码的次数。
示例:0
标题
当前对象的简短文本说明。
此属性继承自 CIM_Setting。
CodePage
-
数据类型:uint32
-
访问类型:只读
-
限定符: MappingStrings (“Win32API|网络管理结构 |USER_INFO_3|usri3_code_page“)
用户所选语言的代码页。 代码页是使用的字符集。
注释
-
数据类型:字符串
-
访问类型:只读
-
限定符: MappingStrings (“Win32API|网络管理结构 |USER_INFO_3|usri3_comment“)
此登录配置文件的注释或说明。
CountryCode
-
数据类型:uint32
-
访问类型:只读
-
限定符: MappingStrings (“Win32API|网络管理结构 |USER_INFO_3|usri3_country_code“)
用户所选语言的国家/地区代码。
说明
-
数据类型:字符串
-
访问类型:只读
当前对象的文本说明。
此属性继承自 CIM_Setting。
标志
-
数据类型:uint32
-
访问类型:只读
-
限定符: MappingStrings (“Win32API|网络管理结构 |USER_INFO_3|usri3_flags“), BitMap (”0“、”1“、”3“、”4“、”4“、”5“、”6“、”7“、”8“、”9“、”9“、”11“、”12“、”13“、”16“、”17“、”18“、”19“、 ”20“、”21“、”22“、”23“、” BitValues (“Script”、“Account Disabled”、“Home Dir Required”、“Home Dir Required”、“Lockout”、“Password Not Required”、“Password not change”、“Password can't change”、“Encrypted Test Password Allowed”、“Temp Duplicate account”、“Normal account”、“InterDomain Trust Account”、“WorkStation Trust Account”、“Server Trust Account”, “不要过期密码”、“MNS 登录帐户”、“需要智能卡”、“委派受信任”、“未委派”、“仅使用 DES 密钥”、“不需要预授权”、“密码过期”)
此网络配置文件可用的属性。
可设置的属性包括:
1 (0x1)
剧本
执行的登录脚本。 必须为 LAN Manager 2.0 设置此值。
2 (0x2)
帐户已禁用
用户帐户已禁用。
8 (0x8)
必需主页目录
主目录是必需的。
16 (0x10)
闭厂
帐户当前已锁定。对于 NetUserSetInfo,可以清除此值以解锁以前锁定的帐户。 此值不能用于锁定以前解锁的帐户。
32 (0x20)
密码不是必需的
无需密码。
64 (0x40)
密码无法更改
用户无法更改密码。
128 (0x80)
允许加密的测试密码
256 (0x100)
临时重复帐户
主帐户位于另一个域中的用户的帐户。 此帐户提供对此域的用户访问权限,但不能访问信任此域的任何域。 用户管理器将此帐户类型称为本地用户帐户。
512 (0x200)
普通帐户
表示典型用户的默认帐户类型。
2048 (0x800)
域间信任帐户
允许信任其他域的域的信任帐户。
4096 (0x1000)
工作站信任帐户
作为此域成员的 Windows 工作站或服务器的计算机帐户。
8192 (0x2000)
服务器信任帐户
作为此域成员的备份域控制器的计算机帐户。
65536 (0x10000)
不要过期密码
131072(0x20000)
MNS 登录帐户
表示 MNS 用户的多数节点集 (MNS) 登录帐户类型。
262144(0x40000)
需要智能卡
524288(0x80000)
受信任的委派
1048576(0x100000)
未委派
2097152(0x200000)
仅使用 DES 密钥
4194304(0x400000)
不需要预授权
8388608(0x800000)
密码已过期
指示密码已过期。
以下属性描述帐户类型。 只能设置一个值:
- UF_NORMAL_ACCOUNT
- UF_TEMP_DUPLICATE_ACCOUNT
- UF_WORKSTATION_TRUST_ACCOUNT
- UF_SERVER_TRUST_ACCOUNT
- UF_INTERDOMAIN_TRUST_ACCOUNT
FullName
-
数据类型:字符串
-
访问类型:只读
-
限定符: MappingStrings (“Win32API|网络管理结构 |USER_INFO_3|usri3_full_name“)
属于网络登录配置文件的用户的完整名称。 如果用户选择不将全名与用户名相关联,则此字符串可以为空。
HomeDirectory
-
数据类型:字符串
-
访问类型:只读
-
限定符: MappingStrings (“Win32API|网络管理结构 |USER_INFO_3|usri3_home_dir“)
用户主目录的路径。 如果用户选择不指定主目录,则此字符串可能为空。
示例:“\HOMEDIR”
HomeDirectoryDrive
-
数据类型:字符串
-
访问类型:只读
-
限定符: MappingStrings (“Win32API|网络管理结构 |USER_INFO_3|usri3_home_dir_drive“)
分配给用户主目录的驱动器号以供登录。
示例:“C:”
LastLogoff
-
数据类型:datetime
-
访问类型:只读
-
限定符: MappingStrings (“Win32API|网络管理结构 |USER_INFO_3|usri3_last_logoff“)
用户上次注销系统。 此值从自 1970 年 1 月 1 日 00:00:00 以来经过的秒数计算。 值为“**************.******+***”表示上次注销时间未知。 此值的格式为 yyyyymmddhhmmss.mmmmmm sutc。 有关将此属性转换为本地时间的信息,请参阅 WMI 任务:日期和时间。
示例:19521201000230.000000 000
LastLogon
-
数据类型:datetime
-
访问类型:只读
-
限定符: MappingStrings (“Win32API|网络管理结构 |USER_INFO_3|usri3_last_logon“)
用户上次登录到系统。 此值从自 1970 年 1 月 1 日 00:00:00 以来经过的秒数计算。 此值的格式为 yyyyymmddhhmmss.mmmmmm sutc。 有关将此属性转换为本地时间的信息,请参阅 WMI 任务:日期和时间。
示例:19521201000230.000000 000
LogonHours
-
数据类型:字符串
-
访问类型:只读
-
限定符: MaxLen (147), MappingStrings (“Win32API|网络管理结构 |USER_INFO_3|usri3_logon_hours“)
用户可以登录的一周中的时间。 每个位表示 UnitsPerWeek 属性指定的时间单位。 例如,如果时间单位为每小时,则第一位(位 0,单词 0)为星期日,0:00 到 0:59,第二位(位 1,单词 0)为星期日,1:00 到 1:59,依此类传。 如果此成员设置为 NULL,则没有时间限制。 时间设置为 GMT,必须针对其他时区进行调整(例如,GMT 减去 PST 的 8 小时)。
LogonServer
-
数据类型:字符串
-
访问类型:只读
-
限定符: MappingStrings (“Win32API|网络管理结构 |USER_INFO_3|usri3_logon_server“)
向其发送登录请求的服务器的名称。 服务器名称前面应有两个反斜杠(\\)。 具有星号的服务器名称(\\*)指示登录请求可由任何登录服务器处理。 null 字符串指示请求发送到域控制器。
示例:“\\MyServer”
MaximumStorage
-
数据类型:uint64
-
访问类型:只读
-
限定符: MappingStrings (“Win32API|网络管理结构 |USER_INFO_3|usri3_max_storage“), 单位 (”bytes“)
用户可用的最大磁盘空间量。 如果 MaximumStorage 设置为USER_MAXSTORAGE_UNLIMITED,则允许用户使用所有可用磁盘空间。
示例:10000000
有关在脚本中使用 uint64 值的详细信息,请参阅 WMI 中的脚本。
名称
-
数据类型:字符串
-
访问类型:只读
-
限定符: key、 MaxLen (256)、 MappingStrings (“Win32API|网络管理结构 |USER_INFO_3|usri3_name“)
特定域或计算机上的用户帐户。 名称中的字符数不能超过 UNLEN 的值。
示例:“somedomain\johndoe”
NumberOfLogons
-
数据类型:uint32
-
访问类型:只读
-
限定符: MappingStrings (“Win32API|网络管理结构 |USER_INFO_3|usri3_num_logons“)
用户尝试登录到此帐户的成功次数。 0xFFFFFFFF值指示该值未知。 此属性在域中的每个备份域控制器(BDC)上单独维护。 若要获取准确的值,应仅使用所有 DC 中的最大值。
示例:4
参数
-
数据类型:字符串
-
访问类型:只读
-
限定符: MappingStrings (“Win32API|网络管理结构 |USER_INFO_3|usri3_parms“)
为应用程序使用预留的空间。 此字符串可以为 null,也可以在终止 null 字符之前具有任意数量的字符。 Microsoft产品使用此成员来存储用户配置信息。 请勿修改此信息,因为此值特定于应用程序。
PasswordAge
-
数据类型:datetime
-
访问类型:只读
-
限定符: MappingStrings (“Win32API|网络管理结构 |USER_INFO_3|usri3_password_age“)
密码生效的时间长度。 此值从自上次更改密码以来经过的秒数进行度量。
示例:00001201000230.0000000 000
PasswordExpires
-
数据类型:datetime
-
访问类型:只读
-
限定符: MappingStrings (“Win32API|网络管理结构 |USER_MODALS_INFO_0|usrmod0_max_passwd_age“)
密码过期的日期和时间。 该值采用以下格式设置:yyyymmddhmmss.mmmmmm sutc
示例:19521201000230.000000 000
PrimaryGroupId
-
数据类型:uint32
-
访问类型:只读
-
限定符: MappingStrings (“Win32API|网络管理结构 |USER_INFO_3|usri3_primary_group_id“)
此用户的主全局组的相对标识符(RID)。 该标识符验证用户配置文件所属的主组。
权限
-
数据类型:uint32
-
访问类型:只读
-
限定符: MappingStrings (“Win32API|网络管理结构 |USER_INFO_3|usri3_priv“)
分配给 usri3_name 属性的特权级别。
来宾 (0)
用户 (1)
管理员 (2)
个人资料
-
数据类型:字符串
-
访问类型:只读
-
限定符: MappingStrings (“Win32API|网络管理结构 |USER_INFO_3|usri3_profile“)
用户配置文件的路径。 此值可以是空字符串、本地绝对路径或 UNC 路径。 用户配置文件包含可为每个用户(如桌面颜色)自定义的设置。
示例:“C:\Windows”
ScriptPath
-
数据类型:字符串
-
访问类型:只读
-
限定符: MappingStrings (“Win32API|网络管理结构 |USER_INFO_3|usri3_script_path“)
用户登录脚本的目录路径。 每次用户登录到系统时,登录脚本都会自动执行一组命令。
示例:“C:\win\profiles\ThomasSteven”
SettingID
-
数据类型:字符串
-
访问类型:只读
-
限定符:MaxLen (256)
已知当前对象的标识符。
此属性继承自 CIM_Setting。
UnitsPerWeek
-
数据类型:uint32
-
访问类型:只读
-
限定符: MappingStrings (“Win32API|网络管理结构 |USER_INFO_3|usri3_units_per_week“)
该周划分的时间单位数。 它与 LogonHours 属性一起使用,以限制用户对计算机的访问。
示例:168 (每周小时)
UserComment
-
数据类型:字符串
-
访问类型:只读
-
限定符: MappingStrings (“Win32API|网络管理结构 |USER_INFO_3|usri3_usr_comment“)
此配置文件的用户定义注释或说明。
UserId
-
数据类型:uint32
-
访问类型:只读
-
限定符: MappingStrings (“Win32API|网络管理结构 |USER_INFO_3|usri3_user_id“)
用户的 RID。 该标识符验证用户是否存在并且对此域是唯一的。
UserType
-
数据类型:字符串
-
访问类型:只读
-
限定符: MappingStrings (“Win32API|网络管理结构 |USER_INFO_3|usri3_flags“)
用户有权访问的帐户类型。
值为:
- “普通帐户”
- “重复帐户”
- “工作站信任帐户”
- “服务器信任帐户”
- “域间信任帐户”
- “未知”
普通帐户 (“普通帐户”)
重复帐户 (“重复帐户”)
工作站信任帐户 (“工作站信任帐户”)
服务器信任帐户 (“服务器信任帐户”)
域间信任帐户 (“Interdomain 信任 帐户”)
未知 (“未知”)
工作站
-
数据类型:字符串
-
访问类型:只读
-
限定符: MappingStrings (“Win32API|网络管理结构 |USER_INFO_3|usri3_workstations“)
用户可以从中登录的工作站的名称。 最多可以指定 8 个工作站;名称必须用逗号(,)分隔。 null 字符串表示没有限制。 若要禁用从所有工作站登录到此帐户,请在此类的 Flags 属性中设置UF_ACCOUNTDISABLE。
注解
Win32_NetworkLoginProfile类派生自 CIM_Setting。
使用此类的调用过程必须在注册表所在的计算机上具有 SE_RESTORE_NAME 权限。 有关详细信息,请参阅 执行特权作。
例子
以下 VBScript 示例返回网络登录信息。
On Error Resume Next
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery _
("Select * from Win32_NetworkLoginProfile")
For Each objItem in colItems
dtmWMIDate = objItem.AccountExpires
strReturn = WMIDateStringToDate(dtmWMIDate)
Wscript.Echo "Account Expires: " & strReturn
Wscript.Echo "Authorization Flags: " & objItem.AuthorizationFlags
Wscript.Echo "Bad Password Count: " & objItem.BadPasswordCount
Wscript.Echo "Caption: " & objItem.Caption
Wscript.Echo "CodePage: " & objItem.CodePage
Wscript.Echo "Comment: " & objItem.Comment
Wscript.Echo "Country Code: " & objItem.CountryCode
Wscript.Echo "Description: " & objItem.Description
Wscript.Echo "Flags: " & objItem.Flags
Wscript.Echo "Full Name: " & objItem.FullName
Wscript.Echo "Home Directory: " & objItem.HomeDirectory
Wscript.Echo "Home Directory Drive: " & objItem.HomeDirectoryDrive
dtmWMIDate = objItem.LastLogoff
strReturn = WMIDateStringToDate(dtmWMIDate)
Wscript.Echo "Last Logoff: " & strReturn
dtmWMIDate = objItem.LastLogon
strReturn = WMIDateStringToDate(dtmWMIDate)
Wscript.Echo "Last Logon: " & strReturn
Wscript.Echo "Logon Hours: " & objItem.LogonHours
Wscript.Echo "Logon Server: " & objItem.LogonServer
Wscript.Echo "Maximum Storage: " & objItem.MaximumStorage
Wscript.Echo "Name: " & objItem.Name
Wscript.Echo "Number Of Logons: " & objItem.NumberOfLogons
Wscript.Echo "Password Age: " & objItem.PasswordAge
dtmWMIDate = objItem.PasswordExpires
strReturn = WMIDateStringToDate(dtmWMIDate)
Wscript.Echo "Password Expires: " & strReturn
Wscript.Echo "Primary Group ID: " & objItem.PrimaryGroupId
Wscript.Echo "Privileges: " & objItem.Privileges
Wscript.Echo "Profile: " & objItem.Profile
Wscript.Echo "Script Path: " & objItem.ScriptPath
Wscript.Echo "Setting ID: " & objItem.SettingID
Wscript.Echo "Units Per Week: " & objItem.UnitsPerWeek
Wscript.Echo "User Comment: " & objItem.UserComment
Wscript.Echo "User Id: " & objItem.UserId
Wscript.Echo "User Type: " & objItem.UserType
Wscript.Echo "Workstations: " & objItem.Workstations
Wscript.Echo
Next
Function WMIDateStringToDate(dtmWMIDate)
If Not IsNull(dtmWMIDate) Then
WMIDateStringToDate = CDate(Mid(dtmWMIDate, 5, 2) & "/" & _
Mid(dtmWMIDate, 7, 2) & "/" & Left(dtmWMIDate, 4) _
& " " & Mid (dtmWMIDate, 9, 2) & ":" & _
Mid(dtmWMIDate, 11, 2) & ":" & Mid(dtmWMIDate, 13, 2))
End If
End Function
要求
要求 | 价值 |
---|---|
支持的最低客户端 |
Windows Vista |
支持的最低服务器 |
Windows Server 2008 |
Namespace |
Root\CIMV2 |
MOF |
|
DLL |
|
另请参阅