使用sp_OACreate出现的怪问题

瘦身小蚂蚁 瘦身小蚂蚁 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
/*
功能:将AD用户加入组
*/

CREATE PROCEDURE [dbo].[AddToGroup]
(
@Userid Varchar(30),
@GroupId VarChar(30)
)
AS
declare @i int,@intRet int,@intRetCode int,@strErr varchar (255),@strErr1 varchar (255),@CurrentLDAP varchar (200)

Declare @bitUserExists Bit
Set @bitUserExists=0
Declare @bitGroupExists Bit
Set @bitGroupExists=0

Declare @OpResult Int
Set @OpResult=0

/* 首先创建Com 实例 */
exec @intRetCode = sp_OACreate 'cmrADUse.ADUser', @i out
/* 创建成功,开始调用 */
IF (@intRetCode <> 0) goto on_error

EXEC @intRetCode = sp_OAMethod @i,'FindUser',@bitUserExists Out,@Userid /* 查找AD用户 */

If @bitUserExists=1
Begin
EXEC @intRetCode = sp_OAMethod @i,'FindUser', @bitGroupExists Out,@GroupId /* 查找AD组 */
If @bitGroupExists=1
Begin
-- 将AD用户加入组
EXEC @intRetCode = sp_OAMethod @i,'AddMemberToGroup',null,@Userid,@GroupId /* 将AD用户加入组 */
Set @OpResult=0
End
Else
Begin
Print '不存在AD组:'+@GroupId
Set @OpResult=-2
End
End
Else
Begin
Print '不存在AD用户:'+@Userid
Set @OpResult=-1
End


/* 销毁Com 实例 */
exec sp_OADestroy @i
RETURN(@OpResult)

on_error:
BEGIN
/* 错误处理 */
EXEC sp_OAGetErrorInfo @i, @strErr OUT, @strErr1 OUT
PRINT '调用方法失败,失败的原因是:'
PRINT @strErr + ' ' + @strErr1
EXEC sp_OADestroy @i
RETURN(1)
END

当调用这个存储过程(第一个参数为'liutao02')时,会出现提示信息:“不存在AD用户:liutao02”
[AddToGroup] 'liutao02','123456'
只有在第一个参数为'liutao02'时出现此提示,查看AD,里面有liutao02用户并且无异常状态


请问各位大侠,这是怎么回事?
...全文

相关推荐

SQL 不常用的一些命令sp_OACreate,xp_cmdshell,sp_makewebtask

1. 开启和关毕xp_cmdshell EXEC sp_configure ‘show advanced options’, 1;RECONFIGURE;EXEC sp_configure ‘xp_cmdshell’, 1;RECONFIGURE;– 开启xp_cmdshell EXEC sp_configure ‘show advanced options’, 1;RECONFIGURE;EXEC sp_configure ‘xp_cmdshell’, 0;RECONFIGURE;– 关毕xp_cmdshell EXEC sp_configure ‘show advanced options

weixin_38595528

SharpSQLTools:SharpSQLTools 和@Rcoil一起写的小工具,可上传下载文件,xp_cmdshell与sp_oacreate执行命令回显和clr加载程序集执行相应操作

简介 和一起写的小工具,可上传下载文件,xp_cmdshell与sp_oacreate双回显和clr加载程序集执行相应操作。功能参考,由于目前C#还不知如何获取SQL连接的socket,该项目中的mssqlproxy功能目前尚未实现。另外,Clr不适用于一些与线程进程相关的操作。 编译环境为net 4.0 吹一波,关注跟着大佬学C#!!! Usage λ SharpSQLTools.exe _____ _ _____ ____ _ _______ _ / ____| | / ____|/ __ \| | |__ __| | | | (___ | |__ __ _ _ __ _ __| (___ | | | | | | | ___ ___ |

雪地女王

sql oacreate

oacreate 用法主要是在入侵过程中恢复用的,先删除,在恢复,利用的名理工

wang123ss

SQL入侵恢复xp_cmdshell方法总结

恢复xp_cmdshell SQL Server阻止了对组件 'xp_cmdshell' 的过程'sys.xp_cmdshell' 启用

weixin_38666527

sa权限下无xp_cmdshell下取权限又一简单方法.txt

sa权限下无xp_cmdshell下取权限又一简单方法.txt

总有刁民想害朕WSG
评论 2
收藏 已收藏
分享
返回顶部
瘦身小蚂蚁
疑难问题 22,298 成员 121,727 内容