gpt4 book ai didi

windows - 远程 OpenSCManager 失败,访问被拒绝

转载 作者:可可西里 更新时间:2023-11-01 09:48:54 25 4
gpt4 key购买 nike

我正在尝试使用以下代码控制远程机器上的服务:

// Error checking omitted for brevity
HANDLE hToken = NULL;
// user = username with no domain specification
// domain = targetmachine when targetting computer outside of domain
LogonUser(user, domain, password,
LOGON32_LOGON_NEW_CREDENTIALS, LOGON32_PROVIDER_WINNT50, &hToken);

ImpersonateLoggedOnUser(hToken);

SC_HANDLE hSc = OpenSCManager(targetmachine,
SERVICES_ACTIVE_DATABASE, SC_MANAGER_ALL_ACCESS);

当从本地域中的计算机运行并以同一域中的计算机为目标时,无论是使用当前登录用户的凭据还是使用其他凭据时,这都可以正常工作。

但是,当我尝试以不在任何域上的机器为目标时,如果我根据需要指定 SC_MANAGER_CONNECT 以外的任何内容,则 OpenSCManager 调用会失败并拒绝访问使用权。从域外的计算机定位域计算机是可行的(对作为目标计算机上的本地管理员的域用户使用用户/域/密码组合)。从域外的计算机定位到域外的计算机不起作用。

用户/密码是目标计算机上管理员组的成员,因此帐户权限应该没有问题。

我已经使用 sc -sdshow scmanager 检查了 scmanager 安全描述符,它对于域计算机和非域计算机是相同的。两者都运行 Windows 7 64 位。

我也测试过使用 psexec ,它具有相同的症状,即在域计算机之间工作正常,但在针对非域计算机时则不然。

我还测试了在目标机器上禁用 RPC over TCP 并重新启动它,因为这是 described as a possible cause for access denied errors但这似乎没有帮助。我还测试了在目标计算机上禁用 Windows 防火墙,但没有任何变化。

是否需要启用某些设置才能使服务的远程配置正常工作?

最佳答案

这似乎是由 Windows Vista 及更高版本的新安全功能引起的。默认情况下,Windows 不会授予远程连接用户完全管理员权限,除非它是在域内完成的。所以为了让它工作,User Account Control Remote Restrictions需要关闭,但这当然也会降低计算机的安全性。

感谢 Hans Passant 建议检查 similar issues posted on serverfault.com .

关于windows - 远程 OpenSCManager 失败,访问被拒绝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8434766/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com