powershell自动化结合数据库,处理员工离职(AD账号
发表于:2024-11-24 作者:千家信息网编辑
千家信息网最后更新 2024年11月24日,写了个powershell来针对离职的自动化执行。结合mssql数据库的目的是更自动化,并保存一些用户信息到数据库中powershell代码可手动执行,也可计划任务执行数据库(以下我所用的方法,不能直
千家信息网最后更新 2024年11月24日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]GO
Powershell代码
#################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安全错误
数据库的锁怎样保障安全
岳阳软件开发店
口碑好的软件开发方案
长沙大学智能公寓网络安全设计
如何选择软件数据库
不是网络安全审计系统的功能
sql2008数据库连接
怎样查找数据库没有的书籍
河南安卓软件开发收费报价表
个人承包软件开发要交哪些税
服务器两根网线接在一个路由器
民航网络安全管理制度
软件开发费用统计表
云服务器能代替显卡么
无线网络技术现状发展
金蝶 sql数据库 密码
中山网络技术有限公司
网络安全的实验方法
鼎捷服务器
列能完成邮件发送的服务器的
今年的网络安全宣传周漫画
戴尔机架式服务器排名
对比两种网络安全模型
三级网络技术证书
软件开发平台的型号
温州服务器机柜导轨安装图
如何赞美软件开发人员
数据库防窜货系统定做价格
河南濮阳服务器名称
与数据库有关的技术
网络技术公司实习日记