【发布时间】:2013-05-08 15:27:44
【问题描述】:
http://msdn.microsoft.com/en-us/library/system.management.connectionoptions.aspx
ConnectionOptions co = new ConnectionOptions();
co.Username = CreateUserName(Domain, Username);
如果我像这样将前面的代码与 ManagementScope 一起使用:
ManagementScope ms = new ManagementScope("\\\\" + PcName + "\\root\\cimv2:Win32_Service='RpcSs'", co);
ms.Connect();
但如果我使用不正确的域,它仍然有效吗?我该如何纠正这一点。为什么会这样?
编辑 1:当我尝试访问可能具有其他凭据和其他域而不是我的机器的远程计算机时,会发生这种情况(允许我使用错误的域和正确的管理员帐户和正确的密码)。
编辑 2:在我的情况下,错误域意味着:该机器上不存在的域或当前用户输入的其他域不存在。
编辑 3: 即使我使用这段代码:
options.Authority = "ntlmdomain:DOMAIN";//this won't work either.
http://msdn.microsoft.com/en-us/library/system.management.connectionoptions.authority.aspx
【问题讨论】:
-
为什么不呢?假设您尝试连接到“\\pc-of-my-boss\documents”,系统将提示您输入您的凭据(它们可以是本地用户、域或目标计算机上允许的任何内容)。如果您提供错误的凭据,您将无法登录。
-
是的,但是即使凭据(尤其是域错误),我也可以做很多事情,例如重新启动。
-
不,除了用户可以做的事情(根据他在目标机器上的权限)减去策略允许的事情(尤其是在域中)之外,您将无法做更多的事情。
-
"...发生这种情况..."会发生什么?
-
“坏域”是什么意思?目标机器不存在的域?随机域名?您在 CreateUserName() 函数中究竟做了什么?如何拥有有效的管理员帐户(用户名 + 密码)但域错误(用户可以是本地用户或域用户,但他们必须存在于某个地方)。