我不知道它是否应该是这样的。当我尝试使用xp_cmdshell
程序执行任何操作时,它几乎每次都会给我Access Denied
。
例如我无法创建新的.txt
文件,无法创建新用户。我已经使用Windows管理员用户登录了。
有没有办法以管理员权限运行此过程?
答案 0 :(得分:0)
xp_cmdshell
正在模拟上下文中执行。因此,任何远程资源的访问(例如,访问共享上的文件,AD上的操作,如添加用户)都将受到约束委派限制,可能导致访问被拒绝,因为可能不会配置约束委派所有这些资源。
答案 1 :(得分:0)
XP_CmdShell将在运行SQL Server服务的服务帐户的上下文中执行。服务帐户需要外部资源的权限。
但是,我能指出,启用xp_cmdshell并不是一个好主意。它打开了很多安全漏洞。例如,如果您的应用程序具有未知的SQL注入的可扩展性,则黑客可以在您的网络上执行各种您避免的操作。
如果必须使用外部资源,那么更好的方法将包括CLR过程或调用执行CMDEXEC步骤的Job。