0

在我的环境中,我在同一个域上有以下机器:

  • hostnam1(Windows 7 企业版)
  • hostnam2(Windows 7 企业版)
  • hostnam3(Windows Server 2012 R2 域控制)

我有一个在hostname1上作为本地系统帐户运行的服务。该服务依次运行另一个进程,该进程继承本地系统权限并尝试访问共享文件夹\\hostname2\ADMIN$hostname1hostname2都在同一个域中。

我可以使用资源管理器访问没有来自hostname1hostname3凭据的共享文件夹,但是当生成的进程尝试使用函数WNetAddConnection2访问共享文件夹时,将返回错误1326ERROR_LOGON_FAILURE (0x52E))。相同的代码适用于另一台机器( \\hostname3\ADMIN$ )。传递给 WNetAddConnection2 函数的凭据是正确的。如果它由本地用户作为正常进程运行,则相同的代码可以工作。

如何配置 hostname2 以接受来自本地系统帐户的连接?

使用 Harry Johnston 建议的语法hostname2\username我设法让 WNetAddConnection2 函数工作(返回 0)。

但是,当我像这样调用函数OpenSCManager时:

OpenSCManager( "hostname2" , SERVICES_ACTIVE_DATABASE , SC_MANAGER_ENUMERATE_SERVICE);

我收到错误5 ( ERROR_ACCESS_DENIED (0x5) )

4

0 回答 0