小编Ant*_*wan的帖子

以特定用户身份执行xp_cmdshell命令

我想运行xp_cmdshell(TSQL过程)以安装网络驱动器,然后访问远程mdb文件.

我是MS SQL服务器的管理员,因此我允许执行xp_cmdshell.

但是,仍然存在一个问题:

  • 当我调用xp_cmdshell时,执行该命令的用户是SQL SysAdmin,即运行SQL Server进程的帐户.

  • 我希望xp_cmdshell作为我连接到SQL服务器的帐户执行,即管理员

这两个帐户都在管理员组,SQLAdmin组中,并被授予CONTROL SERVER.两个用户都属于同一个域.所有这些都在同一台机器上运行.

由于这场冲突,我不能使用网络驱动器,因为它被安装为系统管理员,而不是对管理员
我试图用sp_开头xp_ cmdshell_ proxy_账户指定与我想要运行的帐户xp_cmdshell的,但系统管理员仍是使用帐户.

因此,这段代码:
select user_name(), suser_name;
exec xp_cmdshell 'echo %username%';

显示:
Administrator Administrator
SysAdmin

有谁知道如何充分模仿xp_cmdshell命令?是否有(重新)配置的东西?

谢谢你的帮助.

t-sql windows sql-server shell

16
推荐指数
2
解决办法
6万
查看次数

标签 统计

shell ×1

sql-server ×1

t-sql ×1

windows ×1