对于需要 运行 xp_cmdshell 且没有系统管理员的多个用户的权限 sp_xp_cmdshell_proxy_account

permission sp_xp_cmdshell_proxy_account for more than one user who needs to run xp_cmdshell without a sysadmin

我创建了一个代理帐户,xp_cmdshell 将 运行 使用 sp_xp_cmdshell_proxy_account 我给了一个用户权限

EXEC sp_xp_cmdshell_proxy_account 'Domain\user1'

如果我也给另一个用户

EXEC sp_xp_cmdshell_proxy_account 'Domain\user2'

我看到只有一个有权限——最后一个用户——user2

select * From sys.credentials

是否覆盖了之前用户的权限?

sp_xp_cmdshell_proxy_account 没有 "give user permissions"。此存储过程指定 OS 安全上下文(代理帐户)所有执行 xp_cmdshell 的非系统管理员角色成员。当 sysadmin 角色成员执行 xp_cmdshell

时使用 SQL 服务器服务帐户