请问如何查询出windows所有本地用户的信息,麻烦知道的大大指点一下,谢谢,最好给个完整点的例子,谢谢了
解决方案 »
- ======================== 字符验证 ==========================
- Asp.net IIS身份认证
- EF 多线程多表更新的问题
- 简单的算法问题~~~十万火急啊~~~
- 对于ASP.NET中这些变量,在C#程序中可不可以自行设置值啊?
- DataList中怎样让数据只显示几行几个?除了分页没办法了么
- 在做电子商务网站时与数据库交互中DataSet用的多吗?
- 下载对话框所在页面中如果有<base target="_self">就不会弹出下载对话框了,为什么?应该怎么改?急。
- “/”应用程序中的服务器错误。 是什么意思啊
- 利用日期控件在文本框中填写标准的日期
- HttpCacheability.NoCache的作用是什么啊?
- gridview中,用一按钮绑定字段,单击按钮后,跳转其它页,并传值!!!
//枚举全部用户
[DllImport( "Netapi32.dll" )]
extern static int NetUserEnum( [MarshalAs( UnmanagedType.LPWStr )] string sName, int Level, int filter, out IntPtr bufPtr, int Prefmaxlen, out int Entriesread, out int Totalentries, out int Resume_Handle );
[StructLayout( LayoutKind.Sequential, CharSet = CharSet.Unicode )]
public struct USER_INFO_1 {
public string sName; //用户名
public string sPass; //用户密码
public int PasswordAge; //密码级别
public int sPriv; //帐户类型 1
public string sHomeDir; //用户主目录 null
public string sComment; //用户描述
public int sFlags; //用户权限
public string sScriptPath; //登陆脚本路径 null
}
public string UserEnum() {
string tempStr = "<?xml version=\"1.0\" encoding=\"gb2312\" ?>\r\n";
tempStr += "<INFO>\r\n";
int Entriesread;
int TotalEntries;
int Resume_Handle;
IntPtr bufPtr; if( NetUserEnum( null, 1, 0, out bufPtr, -1, out Entriesread, out TotalEntries, out Resume_Handle ) != 0 ) {
throw ( new Exception( "枚举全部用户失败" ) );
}
if( Entriesread > 0 ) {
USER_INFO_1[] UserInfo = new USER_INFO_1[ Entriesread ];
IntPtr iter = bufPtr;
for( int i = 0 ; i < Entriesread ; i++ ) {
UserInfo[ i ] = (USER_INFO_1)Marshal.PtrToStructure( iter, typeof( USER_INFO_1 ) );
iter = (IntPtr)( (int)iter + Marshal.SizeOf( typeof( USER_INFO_1 ) ) );
tempStr += "<ITEM value=\"" + UserInfo[ i ].sComment + "\">" + UserInfo[ i ].sName + "</ITEM>\r\n";
}
tempStr += "</INFO>";
}
//NetApiBufferFree( bufPtr );
return tempStr;
} private void button1_Click( object sender, EventArgs e ) {
textBox1.Text = UserEnum();//其余代码略
结果如下
<?xml version="1.0" encoding="gb2312" ?>
<INFO>
<ITEM value="管理计算机(域)的内置帐户">Administrator</ITEM>
<ITEM value="供来宾访问计算机或访问域的内置帐户">Guest</ITEM>
<ITEM value="用于匿名访问 Internet 信息服务的内置帐户。">IUSR_WIN-4GHYDHUWOMX</ITEM>
<ITEM value="">kkun</ITEM>
<ITEM value="VMware User">__vmware_user__</ITEM>
</INFO>
C#管理Windows本地用户
http://www.cnblogs.com/devsdk/archive/2009/04/03/1428621.html