网络访问作为本地系统从网络共享运行Exe

时间:2015-06-22 19:40:31

标签: web-services group-policy network-share startupscript local-system-account

我在Windows 7 Ent中运行Dotnet 3.5可执行文件,作为域中的GPO计算机启动脚本。该脚本驻留在网络共享上。 exe作为本地系统运行。 exe运行正常。

我想在此exe中访问Web服务,但似乎本地系统无法访问每个文档的网络资源。但是,如果将相同的exe复制到C驱动器并在相同的帐户和相同条件(即GPO启动脚本)下从那里运行,则可以访问Web服务。

从C:驱动器运行时本地系统如何访问Web服务,而不是从网络共享运行?有没有什么可以使它从网络共享工作,而不首先被复制到本地驱动器?本地系统是否与SYSTEM相同,与NTAuthority \ system相同?

到目前为止,我已尝试过以下功能。这些都不起作用:

  1. 在代码中模拟域用户。
  2. 完全信任.Net安全配置中的所有区域
  3. 将网络共享添加到IE中的“受信任的站点”。
  4. 使用netbios名称而不是文件服务器的完全限定名称,即\ server \ share,而不是\ server.domain.com \ share
  5. 以下我无法解决此问题:

    1. 将组策略客户端服务的登录帐户更改为域用户
    2. 将exe作为登录脚本运行。它必须是启动脚本。
    3. 要重现此问题,请执行以下操作:

      1. 使用一些网络功能创建一个简单的exe,即WebClient.DownloadString(“http://www.google.com”)
      2. 将exe部署到网络共享
      3. 以普通用户身份运行以显示没有错误
      4. 运行whoami以显示当前用户
      5. 运行psexec -s -i cmd.exe
      6. Cmd将以SYSTEM(本地系统或NT Authority \ System)
      7. 开始
      8. 运行whoami以显示当前用户
      9. 从网络共享运行exe以显示无法下载页面。
      10. 将exe复制到C盘。
      11. 运行exe以显示页面已下载。

0 个答案:

没有答案