【问题标题】:Accessing C drive on another computer over network as admin以管理员身份通过网络访问另一台计算机上的 C 盘
【发布时间】: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


【解决方案1】:

我发现了一个很酷的课程: http://lookfwd.doitforme.gr/blog/media/PinvokeWindowsNetworking.cs

按照connectToRemote方法,让我访问子目录完全没有问题。

我复制并粘贴了他们提供的整个代码,重命名命名空间并开始在您的程序中调用该 shiznit。

感谢 MethodMan 的回复,我现在感觉不那么孤独了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-05-22
    • 2011-11-11
    • 1970-01-01
    • 1970-01-01
    • 2019-06-10
    • 2019-03-02
    • 1970-01-01
    • 2020-03-20
    相关资源
    最近更新 更多