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