【发布时间】:2015-04-12 01:29:52
【问题描述】:
我正在尝试编写一个简单的程序来扫描我子网上的所有 IP,然后进入它们的 C: 以检查一些事情。我遇到的唯一问题是关于通过使用管理员凭据(在域的每台计算机上)获得对 C 驱动器的访问权限。
Process p = new Process();
p.StartInfo.UserName = "Administrator";
p.StartInfo.Password = secPw;
p.StartInfo.Domain = "GREENSAVER.ads";
p.StartInfo.FileName = "\\\\GS00115\\C$\\users";
p.StartInfo.UseShellExecute = false;
p.Start();
string[] filent = Directory.GetDirectories(test);
我确信我提供的安全密码是正确的。但是当我运行这段代码时,我得到了异常:
system.componentmodel.win32exception 访问被拒绝
如果我在不使用任何凭据的情况下运行该过程,我将收到登录所述主机所需的弹出窗口,如果我手动输入凭据,则一切正常并且我可以访问。
有什么想法吗?
【问题讨论】:
-
WMI你熟悉这个吗?听起来也有点可疑……为什么你需要检查其他人的机器……也许你被拒绝是有原因的……哈哈 -
因为我是办公室 IT 并且我正在尝试编制每台计算机及其当前用户的列表以供我们记录......哈哈
-
那么也许您需要查看他们是否有本地共享设置或安全策略..或远程访问...并获取文件夹名称,您绝对可以使用
WMI -
当前在通往远程访问的路径上。我会随时通知你ddd
标签: c# process cross-domain credentials