Powershell管理系列(四十)PowerShell查询
发表于:2025-02-23 作者:千家信息网编辑
千家信息网最后更新 2025年02月23日,-----提供AD\Exchange\Lync\Sharepoint\CRM\SC\O365等微软产品实施及外包,QQ:185426445.电话18666943750需求:根据要求对集团AD域及下属3
千家信息网最后更新 2025年02月23日Powershell管理系列(四十)PowerShell查询
-----提供AD\Exchange\Lync\Sharepoint\CRM\SC\O365等微软产品实施及外包,QQ:185426445.电话18666943750
需求:根据要求对集团AD域及下属3个子域的所有AD账号进行统计,查询所有锁定的账号,解锁,并每天早上发送邮件到指向邮箱。(之前三十九的基础上略作调整,只发一封邮件即可)
Remove-Item C:\get_locked_user\ -Recurse -Forceif(!(test-path C:\get_locked_user)) {New-Item C:\get_locked_user -type directory}Import-Module activedirectory$yuntcloud_Lockeduser=Search-ADAccount -LockedOut -SearchBase "dc=yuntcloud,dc=com" -server dc01|select name,samaccountname$aaa_Lockeduser=Search-ADAccount -LockedOut -SearchBase "dc=aaa,dc=yuntcloud,dc=com" -server aaaDC1|select name,samaccountname$bbb_Lockeduser=Search-ADAccount -LockedOut -SearchBase "dc=bbb,dc=yuntcloud,dc=com" -server bbbdc1|select name,samaccountname$ccc_Lockeduser=Search-ADAccount -LockedOut -SearchBase "dc=ccc,dc=yuntcloud,dc=com" -server cccDC1|select name,samaccountname#send email$UserName = "test01@yuntcloud.com" #定义管理员账户名称$Password = ConvertTo-SecureString "Anvf20170708" -AsPlainText -Force$cred = New-Object System.Management.Automation.PSCredential($UserName,$Password)$nFrom="test01@yuntcloud.com"$nTo="zhouping@yuntcloud.com"$lockeduser=@()#Unlock yuntcloud Locked userif ([string]::IsNullOrEmpty($($yuntcloud_Lockeduser|%{$_.name}))){Write-Host "yuntcloud no locked user"Start-Sleep 5Set-Content C:\get_locked_user\locked.txt -Value "yuntcloud no locked user"#Send-MailMessage -From $nFrom -To $nTo -Subject "yuntcloud no locked user" -Body "yuntcloud no locked user" -Credential $cred -SmtpServer "mail.yuntcloud.com" -Encoding ([System.Text.Encoding]::UTF8)}else{Write-Host "yuntcloud Locked user"foreach($i in $yuntcloud_Lockeduser){Write-Host $i.name$lockeduser+=$i}Start-Sleep 5Search-ADAccount -LockedOut -SearchBase "dc=yuntcloud,dc=com" -server dc01 |Unlock-ADAccountWrite-Host "yuntcloud all locked account were unlocked"$lockeduser |Export-Csv -Path C:\get_locked_user\yuntcloud_lockeduser.csv -NoTypeInformation -Encoding utf8 add-Content C:\get_locked_user\locked.txt -Value "yuntcloud Locked user"add-Content C:\get_locked_user\locked.txt -Value $($yuntcloud_Lockeduser|%{$_.name})#Send-MailMessage -From $nfrom -To $nto -Subject "yuntcloud locked user" -Body "yuntcloud locked user" -Attachments "C:\get_locked_user\yuntcloud_lockeduser.csv" -Credential $cred -SmtpServer mail.yuntcloud.com -Encoding ([System.Text.Encoding]::UTF8) Start-Sleep 3}#Unlock aaa.yuntcloud.com Locked user$lockeduser=@()if ([string]::IsNullOrEmpty($($aaa_Lockeduser|%{$_.name}))){Write-Host "aaa no locked user"Start-Sleep 5add-Content C:\get_locked_user\locked.txt -Value "aaa no locked user"#Send-MailMessage -From $nfrom -To $nto -Subject "aaa no locked user" -Body "aaa no locked user" -Credential $cred -SmtpServer mail.yuntcloud.com -Encoding ([System.Text.Encoding]::UTF8)}else{Write-Host "aaa Locked user"foreach($i in $aaa_Lockeduser){Write-Host $i.name$lockeduser+=$i}Start-Sleep 5Search-ADAccount -LockedOut -SearchBase "dc=aaa,dc=yuntcloud,dc=com" -server aaaDC1 |Unlock-ADAccountWrite-Host "aaa all locked account were unlocked" $lockeduser |Export-Csv -Path C:\get_locked_user\aaa_lockeduser.csv -NoTypeInformation -Encoding utf8add-Content C:\get_locked_user\locked.txt -Value "aaa Locked user"add-Content C:\get_locked_user\locked.txt -Value $($aaa_Lockeduser|%{$_.name})#Send-MailMessage -From $nfrom -To $nto -Subject "aaa locked user" -Body "aaa locked user" -Attachments "C:\get_locked_user\aaa_lockeduser.csv" -Credential $cred -SmtpServer mail.yuntcloud.com -Encoding ([System.Text.Encoding]::UTF8) Start-Sleep 3}#Unlock bbb.yuntcloud.com Locked user$lockeduser=@()if ([string]::IsNullOrEmpty($($bbb_Lockeduser|%{$_.name}))){Write-Host "bbb no locked user"Start-Sleep 5add-Content C:\get_locked_user\locked.txt -Value "bbb no locked user"#Send-MailMessage -From $nfrom -To $nto -Subject "bbb no locked user" -Body "bbb no locked user" -Credential $cred -SmtpServer mail.yuntcloud.com -Encoding ([System.Text.Encoding]::UTF8)}else{Write-Host "bbb Locked user"foreach($i in $bbb_Lockeduser){Write-Host $i.name$lockeduser+=$i}Start-Sleep 5Search-ADAccount -LockedOut -SearchBase "dc=bbb,dc=yuntcloud,dc=com" -server bbbdc1 |Unlock-ADAccountWrite-Host "bbb all locked account were unlocked" $lockeduser |Export-Csv -Path C:\get_locked_user\bbb_lockeduser.csv -NoTypeInformation -Encoding utf8 add-Content C:\get_locked_user\locked.txt -Value "bbb Locked user"add-Content C:\get_locked_user\locked.txt -Value $($bbb_Lockeduser|%{$_.name})#Send-MailMessage -From $nfrom -To $nto -Subject "bbb locked user" -Body "bbb locked user" -Attachments "C:\get_locked_user\bbb_lockeduser.csv" -Credential $cred -SmtpServer mail.yuntcloud.com -Encoding ([System.Text.Encoding]::UTF8) Start-Sleep 3}#Unlock ccc.yuntcloud.com Locked user$lockeduser=@()if ([string]::IsNullOrEmpty($($ccc_Lockeduser|%{$_.name}))){Write-Host "ccc no locked user"Start-Sleep 5add-Content C:\get_locked_user\locked.txt -Value "ccc no locked user"#Send-MailMessage -From $nfrom -To $nto -Subject "ccc no locked user" -Body "ccc no locked user" -Credential $cred -SmtpServer mail.yuntcloud.com -Encoding ([System.Text.Encoding]::UTF8)}else{Write-Host "ccc Locked user"foreach($i in $ccc_Lockeduser){Write-Host $i.name$lockeduser+=$i}Start-Sleep 5Search-ADAccount -LockedOut -SearchBase "dc=ccc,dc=yuntcloud,dc=com" -server cccDC1 |Unlock-ADAccountWrite-Host "ccc all locked account were unlocked" $lockeduser |Export-Csv -Path C:\get_locked_user\ccc_lockeduser.csv -NoTypeInformation -Encoding utf8 add-Content C:\get_locked_user\locked.txt -Value "ccc Locked user"add-Content C:\get_locked_user\locked.txt -Value $($ccc_Lockeduser|%{$_.name})#Send-MailMessage -From $nfrom -To $nto -Subject "ccc locked user" -Body "ccc locked user" -Attachments "C:\get_locked_user\ccc_lockeduser.csv" -Credential $cred -SmtpServer mail.yuntcloud.com -Encoding ([System.Text.Encoding]::UTF8) Start-Sleep 3}$body=get-Content C:\get_locked_user\locked.txt|Out-Stringif (((Test-Path C:\get_locked_user\yuntcloud_lockeduser.csv) -eq $true) -and ((Test-Path C:\get_locked_user\aaa_lockeduser.csv) -eq $false) -and ((Test-Path C:\get_locked_user\bbb_lockeduser.csv) -eq $false) -and ((Test-Path C:\get_locked_user\ccc_lockeduser.csv) -eq $false)) {Send-MailMessage -From $nfrom -To $nto -Subject "yuntcloud 4 domains all locked user information total" -Body $body -Attachments "C:\get_locked_user\yuntcloud_lockeduser.csv" -Credential $cred -SmtpServer mail.yuntcloud.com -Encoding ([System.Text.Encoding]::UTF8) }elseif (((Test-Path C:\get_locked_user\yuntcloud_lockeduser.csv) -eq $true) -and ((Test-Path C:\get_locked_user\aaa_lockeduser.csv) -eq $true) -and ((Test-Path C:\get_locked_user\bbb_lockeduser.csv) -eq $false) -and ((Test-Path C:\get_locked_user\ccc_lockeduser.csv) -eq $false)) {Send-MailMessage -From $nfrom -To $nto -Subject "yuntcloud 4 domains all locked user information total" -Body $body -Attachments "C:\get_locked_user\yuntcloud_lockeduser.csv","C:\get_locked_user\aaa_lockeduser.csv" -Credential $cred -SmtpServer mail.yuntcloud.com -Encoding ([System.Text.Encoding]::UTF8) }elseif (((Test-Path C:\get_locked_user\yuntcloud_lockeduser.csv) -eq $true) -and ((Test-Path C:\get_locked_user\aaa_lockeduser.csv) -eq $true) -and ((Test-Path C:\get_locked_user\bbb_lockeduser.csv) -eq $true) -and ((Test-Path C:\get_locked_user\ccc_lockeduser.csv) -eq $false)) {Send-MailMessage -From $nfrom -To $nto -Subject "yuntcloud 4 domains all locked user information total" -Body $body -Attachments "C:\get_locked_user\yuntcloud_lockeduser.csv","C:\get_locked_user\aaa_lockeduser.csv","C:\get_locked_user\bbb_lockeduser.csv" -Credential $cred -SmtpServer mail.yuntcloud.com -Encoding ([System.Text.Encoding]::UTF8) }elseif (((Test-Path C:\get_locked_user\yuntcloud_lockeduser.csv) -eq $true) -and ((Test-Path C:\get_locked_user\aaa_lockeduser.csv) -eq $true) -and ((Test-Path C:\get_locked_user\bbb_lockeduser.csv) -eq $true) -and ((Test-Path C:\get_locked_user\ccc_lockeduser.csv) -eq $true)) {Send-MailMessage -From $nfrom -To $nto -Subject "yuntcloud 4 domains all locked user information total" -Body $body -Attachments "C:\get_locked_user\yuntcloud_lockeduser.csv","C:\get_locked_user\aaa_lockeduser.csv","C:\get_locked_user\bbb_lockeduser.csv","C:\get_locked_user\ccc_lockeduser.csv" -Credential $cred -SmtpServer mail.yuntcloud.com -Encoding ([System.Text.Encoding]::UTF8) }else{Send-MailMessage -From $nfrom -To $nto -Subject "yuntcloud 4 domains all locked user information total" -Body $body -Credential $cred -SmtpServer mail.yuntcloud.com -Encoding ([System.Text.Encoding]::UTF8) }
账号
邮件
查询
管理
个子
产品
名称
基础
指向
电话
管理员
账户
邮箱
集团
需求
微软
统计
调整
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
无锡重型软件开发生产过程
手机网络安全概念
阿里云服务器有ip防护
软件开发属于什么公司吗
软件开发零基础
生化危机6如何连接服务器
应用软件开发解决方案
我的世界如何设置连接服务器
车联网络技术解析
湖北浪潮服务器维修调试哪家好
上海卓雅网络技术有限公司
利用网络技术和其他技术
数据库中储的是数据吗
城乡住房bim大数据库
从事网络安全需要哪些基础
服务器创建联机平台
roblox服务器出现问题
干货满满快来开启网络安全大作战
东莞短视频软件开发运营
跳板服务器
华为服务器的管理口
酷盈分销软件开发怎么样
云计算技术与应用网络安全方向
服务器迁境外
软件开发应该开什么税种发票
字节网络安全
关于互联网与科技创新
如何建立宏 数据库
高速网络技术是什么
数据库系统安全问题的核心