Leis_jun
2019-01-07 20:36
采纳率: 100%
浏览 2.3k

想通过sql server xp_cmdshell重启系统,但提示A required privilege is not held by the clie

图片说明
最近有几台工控机里的程序出问题,导致windows远程桌面无法访问,如果不能远程重启系统就需要去现场处理,有点麻烦。
现在这台工控机是Windows xp系统,IP可以Ping通,Sql server还能使用sql managrment studio远程连接,所以想通过Sql server 的XP_cmdshell来调用
shutdown -r -f重启工控机,
但估计是这台工控机里的sql服务启动账号是Netservice的原因,执行时提示访问拒绝
EXEC sp_configure 'show advanced options', 1;
RECONFIGURE;
EXEC sp_configure 'xp_cmdshell', 1;
RECONFIGURE;
exec sp_configure
exec xp_cmdshell 'shutdown.exe -r -f -t 0
'

使用sp_oacrate顺利创建了一个restart.bat批处理文件,但调用也不成功
exec sp_configure 'Ole Automation Procedures', 1
reconfigure
Declare @o int,@f int,@t int,@ret int;
Exec sp_oacreate 'scripting.filesystemobject',@o out;
Exec sp_oamethod @o,'createtextfile',@f out,'d:\restart.bat',1;
Exec @ret=sp_oamethod @f,'writeline',null,'c:\windows\system32\shutdown.exe -r -f -t 0';
exec xp_cmdshell 'dir d:\restart.bat'

或者想使用xp_cmdshell 调用taskkill /f /im t3ds1.0.exe 杀掉引起远程桌面无法使用的程序,也提示无权限。
请大神们指点迷津,谢谢!

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • Leis_jun 2019-03-07 16:06
    已采纳

    SQL EXPRESS服务由Net SERVICE身份改为System后,才能使用XP_CMDSHELL

    已采纳该答案
    打赏 评论
  • devmiao 2019-01-07 23:55
    打赏 评论

相关推荐 更多相似问题