java 读取AD里User信息的objectSid

java 读取AD里User信息的objectSid,第1张

不可辨析的字符串,你确定是字符串???

一般不可辨析的应该不是字符串,是2进制或者16进制的字符,需要转换的。 用getByte(),先获得byte,然后再考虑转换成你需要的字符串。

这样的现象在网络中是很常见的,这只是我的一种推断,希望能够帮到你。

此前个人只知道以下不是非常完善且统计起来比较麻烦的方法:

方法1:查看共享会话数。(不完全准确)

方法2:查看当前的DNS记录。(这种方法统计并不准确,并非当前域的实时活动用户。)

方法3:查看自定义事件日志。(查看用户审核日志并进行筛选,很麻烦,而且也不完全准确)

开启审核帐户登录事件以及审核登录事件。然后您可以登录该域控制器,打开事件查看器,在windows日志中的安全中,您可以查看相关信息。为了便于您缩小找到您要查询的对象范围,这里我们已windows server 2008为例,您可以点击创建自定义视图,在d出的对话框里,您可以设置您需要定义的时间;在按日志处,选择安全;在任务类别上方可以选择您需要的事件ID,比如键入528,该事件ID表示用户已成功登录计算机,您也可以输入多个您需要的事件ID。

int flags = 512;

if (!ConvertToBoolean(flags & 0x0002))

{

string Disabled = "被禁用";

}

using System;

using SystemCollectionsGeneric;

using SystemText;

using SystemNet;

using SystemDirectoryServices;

namespace Demo

{

public class Demo

{

public Demo() { }

private void GroupInfo()

{

DirectoryEntry MainGroup = new DirectoryEntry("WinNT:");

foreach (DirectoryEntry domain in MainGroupChildren)

{

//thislistView1ItemsAdd(domainName);此代码获取局域网内的所有机器名

//当局域网内有授权用户是,即TA已经登录成功,获得权限

//SystemNetDnsGetHostName();获取用户名。

}

}

//通过机器名获取相应IP

private void ComputerInfo(String strname)

{

try

{

DirectoryEntry MainGroup = new DirectoryEntry("WinNT:");

foreach (DirectoryEntry domain in MainGroupChildren)

{

if (domainName == strname)

{

foreach (DirectoryEntry pc in domainChildren)

{

IPAddress[] ip = DnsGetHostAddresses(pcName);

//thislistView2ItemsAdd(pcName + ip[0]ToString());获取IP

}

}

}

}

catch (Exception ex) { MessageBoxShow(exMessage); }

}

}

}

AD域登陆请求会有几次信息交互过程,这个你可以查询一下NTLM的协议。 第一次服务器返回401时会d出要求输入域名和密码的对话框,这个时候你应该从系统中自动取得域名和账号名,然后跳过第一次响应的401,将域账号传给AD服务器进行验证。

public DataSet GetUsersForGroup(string GroupName)        {            //if (GroupNameIndexOf(';') > 0)            //{            //    return GetUsersForGroup(GroupNameSplit(new char[] { ';' }));            //}            if (GroupName == stringEmpty) return null;            try            {                DirectoryEntry dir = GetDirectoryObject();                dirRefreshCache();                DirectorySearcher ds = new DirectorySearcher(dir);                dsFilter = "(&(objectClass=group)(cn=" + GroupName + "))";                dsPropertiesToLoadAdd("memberof");                SearchResult results = dsFindOne();                DataSet dsUser = new DataSet();                DataTable tbUser = dsUserTablesAdd("Users");                tbUserColumnsAdd("GroupName");                tbUserColumnsAdd("samaccountname");                tbUserColumnsAdd("UserName");                tbUserColumnsAdd("DisplayName");                tbUserColumnsAdd("EMailAddress");                tbUserColumnsAdd("primaryGroupID");                if (results != null)                {                    DirectoryEntry deGroup = new DirectoryEntry(resultsPath, _ADUser, _ADPwd, AuthenticationTypesSecure);                    SystemDirectoryServicesPropertyCollection pcoll = deGroupProperties;                                      int n = pcoll["member"]Count;                    for (int i = 0; i < n; i++)                    {                        DirectoryEntry deUser = new DirectoryEntry(_ADPath + "/" + pcoll["member"][i]ToString(), _ADUser, _ADPwd, AuthenticationTypesSecure);                        try                        {                            DataRow rwUser = tbUserNewRow();                            rwUser["GroupName"] = GroupName;                            rwUser["samaccountname"] = GetProperty(deUser, "samaccountname");                            rwUser["UserName"] = GetProperty(deUser, "cn");                            rwUser["DisplayName"] = GetProperty(deUser, "givenName") + " " + GetProperty(deUser, "sn");                            rwUser["EMailAddress"] = GetProperty(deUser, "mail");                            rwUser["primaryGroupID"] = GetProperty(deUser, "primaryGroupID");                            tbUserRowsAdd(rwUser);                            deUserClose();

以上就是关于java 读取AD里User信息的objectSid全部的内容,包括:java 读取AD里User信息的objectSid、如何查看/统计当前AD域控制器的活动用户、怎么获得AD域用户的“账户已禁用”信息等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9869175.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存