分享:sp_xp_cmdshell 开启与关闭xp_cmdshell功能


USE master
GO
IF OBJECT_ID('sp_xp_cmdshell', 'P') IS NOT NULL 
    DROP PROC sp_xp_cmdshell
GO
CREATE PROCEDURE sp_xp_cmdshell @OnOff CHAR(3) ='ON'
AS 
/*
作者:陈恩辉-弘恩
示例:
exec sp_xp_cmdshell @OnOff = 'ON'  --开启 xp_cmdshell功能
exec sp_xp_cmdshell @OnOff = 'OFF' --关闭 xp_cmdshell功能
*/
    IF UPPER(@OnOff) NOT IN ( 'ON', 'OFF' ) 
        BEGIN 
            SELECT  '参数 @OnOff 只能是 ON,OFF ' AS return_result 
            RETURN 
        END 
    IF UPPER(@OnOff) = 'ON' 
        BEGIN
			-- 允许配置高级选项
            EXEC master.sys.sp_configure 'show advanced options', 1
			-- 重新配置
            RECONFIGURE
			-- 启用xp_cmdshell
            EXEC master.sys.sp_configure 'xp_cmdshell', 1
			--重新配置
            RECONFIGURE
        END 
    ELSE 
        BEGIN
			-- 关闭xp_cmdshell
            EXEC master.sys.sp_configure 'xp_cmdshell', 0
			--重新配置
            RECONFIGURE
			-- 关闭配置高级选项
            EXEC master.sys.sp_configure 'show advanced options', 0
			-- 重新配置
            RECONFIGURE
        END 
GO 
EXEC sp_MS_marksystemobject 'sp_xp_cmdshell'
GO 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值