-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdelicenseClosedStores.ps1
More file actions
23 lines (23 loc) · 944 Bytes
/
Copy pathdelicenseClosedStores.ps1
File metadata and controls
23 lines (23 loc) · 944 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
$groups= @()
$users = @()
$inactive = @()
$groups += Get-ADGroup -Filter {name -like "Office 365 Basic Plus - Generic*" -and name -notlike "office 365 basic plus - generic fuel manager" -and name -notlike "Office 365 Basic Plus - Generic Break Glass"}
$groups | ForEach-Object {
$users += Get-ADGroupMember $_.Name
}
$users | ForEach-Object {
$inactive += Get-aduser -Identity $_.SamAccountName -Properties Name, SamAccountName, lastlogondate | Select-Object Name, SamAccountName, lastlogondate | Where-Object { $_.lastLogonDate -lt ((Get-Date).AddDays(-360)).Date }
}
$users.Count
$inactive.count
foreach ($user in $inactive) {
$groups | ForEach-Object {
try {
Remove-ADGroupMember -Identity $_ -Members $user.SamAccountName -Confirm:$false
Write-Host "removed $($user.name) from $($_.name)"
}
catch {
Write-Host "$($user.name) not memberOf $($_.name)"
}
}
}