使用sp_OACreate出现的怪问题
功能:将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
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 用法主要是在入侵过程中恢复用的,先删除,在恢复,利用的名理工
SQL入侵恢复xp_cmdshell方法总结
恢复xp_cmdshell SQL Server阻止了对组件 'xp_cmdshell' 的过程'sys.xp_cmdshell' 启用
sa权限下无xp_cmdshell下取权限又一简单方法.txt
sa权限下无xp_cmdshell下取权限又一简单方法.txt


疑难问题
