Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save sekorotkov/dfced32142812e77fec6196fc2bdec1a to your computer and use it in GitHub Desktop.
Save sekorotkov/dfced32142812e77fec6196fc2bdec1a to your computer and use it in GitHub Desktop.
## День добрый
## Сначала добавляете всем новую группу "Uvolennie" и делаете её дефолтной, потом отрываем все остальные.
##
## Как то так:
## Остановится в случае любой ошибки
$ErrorActionPreference = 'Stop'
## OU для поиска и изменения пользователей
$SearchBase = 'OU=Users,DC=domain,DC=local'
## Группа которая должна быть по умолчанию
$DefaultGroup = Get-ADGroup 'Uvolennie' -Property primaryGroupToken
## Получаем всех пользователей $SearchBase чтобы добавить в группу $DefaultGroup
$BadUsers = Get-ADUser -Filter * -SearchBase $SearchBase -Properties primaryGroupID
## Добавляем всех в группу $DefaultGroup
Add-ADGroupMember -Identity $DefaultGroup -Members $BadUsers
## Меняем Primary Group на $DefaultGroup
$BadUsers | Set-ADUser -Replace @{primaryGroupID = $DefaultGroup.primaryGroupToken }
## Отрываем все не $DefaultGroup группы
$BadUsers = Get-ADUser -Filter * -SearchBase $SearchBase -Properties primaryGroupID, MemberOf
foreach ($User in $BadUsers) {
"Edit $($User.SamAccountName)"
$User.MemberOf | Remove-ADGroupMember -Members $User
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment