+++++++++++高手入+++++++++++++++

einsteincao 2005-10-17 11:31:27
想建立一个webservice
其中有2个方法
是关于系统的security的
AddGroup() 添加系统中的组

AddUser() 添加系统中的用户
...全文
185 15 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
sxlfybb 2005-10-17
  • 打赏
  • 举报
回复
System.DirectoryServices这个引用
点击菜单项目>点击添加引用>然后在.net里面选择就可以了.

using System.Net;这个就不用说了吧?

DirectoryEntry AD = new DirectoryEntry("WinNT://" + Dns.GetHostByAddress(IPAddress.Parse(textBox1.Text)).HostName + ",computer");

Dns.GetHostByAddress(IPAddress.Parse(textBox1.Text)).HostName 这个是我通过输入IP地址来获取计算机名称的,你在实际使用过程中,可以直接写入计算机名称,比如:

DirectoryEntry AD = new DirectoryEntry("WinNT://TempHost,computer");

关于DirectoryEntry 的使用方法,你可以参考一下MSDN.

如果你的测试不能通过.再留言吧.
desailly 2005-10-17
  • 打赏
  • 举报
回复

jetxia 2005-10-17
  • 打赏
  • 举报
回复
首先你要知道自己用户的AD Path,例如LDAP://Domain.com/CN=user1,CN=Users,DC=domain,DC=com
然后使用System.DirectoryServices.DirectoryEntry就可以取得对应的AD对象了,其中的"memberof"属性就是用户所在的group的列表。

You can have a look with the sample in MSDN with following URL too:
ms-help://MS.VSCC/MS.MSDNVS/cpref/html/frlrfsystemdirectoryservicessearchresultclasstopic.htm

Something like this:

using System.DirectoryServices;
...

string adPath = @"LDAP://Domain.com/CN=user1,CN=Users,DC=domain,DC=com";
DirectoryEntry user = new DirectoryEntry (adPath);

foreach(object group in user.Properties["memberof"])
{
Console.WriteLine(group.ToString());
}
jetxia 2005-10-17
  • 打赏
  • 举报
回复
先在项目中引用System.DirectoryServices.dll
然后using System.DirectoryServices;
einsteincao 2005-10-17
  • 打赏
  • 举报
回复
DirectoryEntry AD = new DirectoryEntry("WinNT://" + Dns.GetHostByAddress(IPAddress.Parse(textBox1.Text)).HostName + ",computer");


有没有标准写法?
dragonfly001 2005-10-17
  • 打赏
  • 举报
回复
點擊你的專案,然後右鍵,加入參考 ,選擇System.DirectoryServices.dll
然後在源代碼中加入using System.DirectoryServices
就可以應用了
einsteincao 2005-10-17
  • 打赏
  • 举报
回复
using System.DirectoryServices
怎样获得呢?
jetxia 2005-10-17
  • 打赏
  • 举报
回复
首先你的webservice(asp.net用户)得有这样的权限
然后通过楼上的方法
自由程序员 2005-10-17
  • 打赏
  • 举报
回复
高手,还不是得搜资料来看
sxlfybb 2005-10-17
  • 打赏
  • 举报
回复
需要额外using的命名空间:

using System.DirectoryServices;
using System.Net;
sxlfybb 2005-10-17
  • 打赏
  • 举报
回复
手边正好有一个WinForm的,仅供参考.

try
{
DirectoryEntry AD = new DirectoryEntry("WinNT://" + Dns.GetHostByAddress(IPAddress.Parse(textBox1.Text)).HostName + ",computer");
DirectoryEntry xUser = AD.Children.Add ("GZB","user");
xUser.Invoke("SetPassword",new object[]{"gzb"});
xUser.Invoke("Put",new object[]{"description","test"});
xUser.CommitChanges();

DirectoryEntry GP = AD.Children.Find("Administrators","Group");
if ( GP!=null)
{
GP.Invoke( "ADD", new object[]{xUser.Path.ToString()} );
}

MessageBox.Show("成功!");
}
catch( Exception ex )
{
MessageBox.Show ( ex.Message );
}
sxlfybb 2005-10-17
  • 打赏
  • 举报
回复
活动目录 (AD) 的问题.
yegucheng 2005-10-17
  • 打赏
  • 举报
回复
可以实现,查看关于域方面的类库,应该有这个方法的
einsteincao 2005-10-17
  • 打赏
  • 举报
回复
我的问题是:
想建立一个WebService
这个WebService需要实现2个功能(也就是说,添加2个方法)
1. AddGroup 添加Windows中的组(group)
2. AddUser 添加Windows中得用户(user)

例如: 向Guest 组中加入一个用户 MyGuest1
mathsword 2005-10-17
  • 打赏
  • 举报
回复
你的问题是什么?
winkey+f : 不用再去移动鼠标点“开始→搜索→文件和文件夹”了,在任何状态下,只要一按winkey+f就会弹出搜索窗口。    winkey+r : 在我们的文章中,你经常会看到这样的操作提示:“点击‘开始→运行’,打开‘运行’对话框……”。其实,还有一个更简单的办法,就是按winkey + r!    alt + tab : 如果打开的窗口太多,这个组合键就非常有用了,它可以在一个窗口中显示当前打开的所有窗口的名称和图标●,选中自己希望要打开的窗口,松开这个组合键就可以了。而alt+tab+shift键则可以反向显示当前打开的窗口。    winkey+e : 当你需要打开资源管理器找文件的时候,这个快捷键会让你感觉非常“爽”!再也不用腾出一只手去摸鼠标了!       小提示: winkey指的是键盘上刻有windows徽标的键●。winkey主要出现在104键和107键的键盘中。104键盘又称win95键盘,这种键盘在原来101键盘的左右两边、ctrl和alt键之间增加了两个windwos键和一个属性关联键。107键盘又称为win98键盘,比104键多了睡眠、唤醒、开机等电源管理键,这3个键大部分位于键盘的右上方。 再补充点..... F1           显示当前程序或者windows的帮助内容。 F2           当你选中一个文件的话,这意味着“重命名” F3           当你在桌面上的时候是打开“查找:所有文件” 对话框 F10或ALT        激活当前程序的菜单栏 windows键或CTRL+ESC   打开开始菜单 CTRL+ALT+DELETE     在win9x中打开关闭程序对话框 DELETE         删除被选择的选择项目,如果是文件,将被放回收站 SHIFT+DELETE      删除被选择的选择项目,如果是文件,将被直接删除而不是 放回收站 CTRL+N         新建一个新的文件 CTRL+O         打开“打开文件”对话框 CTRL+P         打开“打印”对话框 CTRL+S         保存当前操作的文件 CTRL+X         剪切被选择的项目到剪贴板 CTRL+INSERT 或 CTRL+C  复制被选择的项目到剪贴板 SHIFT+INSERT 或 CTRL+V 粘贴剪贴板中的内容到当前位置 ALT+BACKSPACE 或 CTRL+Z 撤销上一步的操作 ALT+SHIFT+BACKSPACE   重做上一步被撤销的操作 Windows键+D: 最小化或恢复windows窗口 Windows键+U: 打开“辅助工具管理器”  Windows键+CTRL+M    重新将恢复上一项操作前窗口的大小和位置 Windows键+E       打开资源管理器 Windows键+F       打开“查找:所有文件”对话框 Windows键+R       打开“运行”对话框 Windows键+BREAK     打开“系统属性”对话框 Windows键+CTRL+F    打开“查找:计算机”对话框 SHIFT+F10或鼠标右击   打开当前活动项目的快捷菜单 SHIFT          在放CD的时候按下不放,可以跳过自动播放CD。在打开wo rd的时候按下不放,可以跳过自启动的宏   ALT+F4         关闭当前应用程序 ALT+SPACEBAR      打开程序最左上角的菜单 ALT+TAB         切换当前程序 ALT+ESC         切换当前程序 ALT+ENTER        将windows下运行的MSDOS窗口在窗口和全屏幕状态间切换 PRINT SCREEN      将当前屏幕以图象方式拷贝到剪贴板 ALT+PRINT SCREEN    将当前活动程序窗口以图象方式拷贝到剪贴板 CTRL+F4         关闭当前应用程序中的当前文本(如word中) CTRL+F6         切换到当前应用程序中的下一个文本(加shift 可以跳到前 一个窗口) 在IE中: ALT+RIGHT ARROW     显示前一页(前进键) ALT+LEFT ARROW     显示后一页(后退键) CTRL+TAB        在页面上的各框架中切换(加shift反向) F5           刷新 CTRL+F5         强行刷新

111,094

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧