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
分享:sp_xp_cmdshell 开启与关闭xp_cmdshell功能
最新推荐文章于 2024-06-04 17:59:49 发布