powershell自动化结合数据库,处理员工离职(AD账号
发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,写了个powershell来针对离职的自动化执行。结合mssql数据库的目的是更自动化,并保存一些用户信息到数据库中powershell代码可手动执行,也可计划任务执行数据库(以下我所用的方法,不能直
千家信息网最后更新 2025年12月02日powershell自动化结合数据库,处理员工离职(AD账号
写了个powershell来针对离职的自动化执行。
结合mssql数据库的目的是更自动化,并保存一些用户信息到数据库中
powershell代码可手动执行,也可计划任务执行
数据库(以下我所用的方法,不能直接套用)
主要3张表
员工表Userlist记录员工在离职状态,加触发器,当是否离职状态改变自动加入离职员工表leftuser中
离职员工表leftuser结构如下,前提有工号和ad账号的对应关系表
离职用户所在组表leftusergroup,记录离职用户之前所在的组。
CREATE TABLE [dbo].[leftUser]( [lid] [int] NULL, ---i [wid] [varchar](3) NULL, --工号 [workStatus] [bit] NULL, --是否离职 [aduser] [nvarchar](5) NULL --ad账号) ON [PRIMARY]GOPowershell代码
#################Author:rp722#version:6#################配置信息$Database = 'DatabaseUserName'$Server = '"ipaddress"'$UserName = 'sa'$Password = 'password'#创建连接对象$SqlConn = New-Object System.Data.SqlClient.SqlConnection#使用账号连接MSSQL$SqlConn.ConnectionString = "Data Source=$Server;Initial Catalog=$Database;user id=$UserName;pwd=$Password"#打开数据库连接$SqlConn.open()#查询数据库,获取当前离职用户表中用户数量$SqlCmd = $SqlConn.CreateCommand()$SqlCmd.commandtext = 'select COUNT(aduser) from leftUser'$num=$SqlCmd.ExecuteScalar()#遍历用户for($i=1;$i -le $num;$i++){$SqlCmd = $SqlConn.CreateCommand()$SqlCmd.commandtext = "select aduser from leftUser where lid=$i"$user=$SqlCmd.ExecuteScalar()#获取用户$aduser=Get-ADUser -Identity $user#判断用户在AD中是否启用,若已禁用则跳过if ($aduser.enabled -eq $True){#获取用户所在组$groups=(get-aduser $user -properties memberof).memberof#遍历各组foreach($gp in $groups){#获取组的名称$gp1=$gp.Split(",")[0].Split("=")[1]#保存用户和组的对应关系到数据库$SqlCmd = New-Object System.Data.SqlClient.SqlCommand$SqlCmd.connection = $SqlConn$SqlCmd.commandtext = "insert into dbo.leftusergroup(aduser,gname) values('$user','$gp1')"$SqlCmd.ExecuteNonQuery()#当前组内移除用户remove-adgroupmember -Identity $gp -Members $user -Confirm:$false}#设置备注set-aduser $aduser -Description "user has left company"#已至禁用组Move-ADObject $aduser -TargetPath "OU=Disabled,DC=xxxx,DC=net"#禁用账户Disable-ADAccount $aduser}}#关闭数据库连接$SqlConn.close()
用户
数据
数据库
员工
账号
所在
自动化
代码
信息
工号
状态
任务
前提
名称
备注
对象
所用
手动
数量
方法
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
服务器启动出现bios
洪江软件开发项目管理
网络安全技术实践课程总结
网络存储服务器显示叹号
计算机网络技术陈阳
网络安全宣传周展位介绍
网站服务器选购
软件开发能失业吗
软件开发者 赚钱
全文电子期刊数据库
网络安全法对外包服务的作用
软件开发培训计划费用
硬科技领域权威数据库
科技感互联网公司名字
云服务器安全部署网
大道至简 软件开发
计算机网络技术微课
数据库 给性别加默认值
联网收费网络安全
服务器如何选择安装硬盘
麒麟源码数据库
移动互联网软件开发实例
3d数据库怎么使用
互联网科技服装
数据库三张表数据关联查询
公务员网络安全培训机构
郑州系统软件开发费用是多少
信息技术网络安全ppt课件
互联网科技对各国的意义
浙江app软件开发自学步骤