Archive

Articles taggués ‘Utilisateurs’

Lister les utilisateurs absents de groupes

Si vérifier qu’un utilisateur n’est pas membre d’un groupe est rapide

Get-QADUser -Identity "louis.defunes" -NotMemberOf "Gendarmerie"

ou si lister les utilisateurs d’un OU qui ne sont pas membres d’un groupe est facile,

Get-QADUser -SearchRoot "domain.local/StTropez" -SizeLimit 0 -NotMemberOf "Gendarmerie"

faire la même chose pour tous les utilisateurs d’une OU pour plusieurs groupes est plus compliquée.
Voici donc comment lister les utilisateurs d’un OU absents de deux groupes.

$ou = Read-Host "Enter the OU name"
$fullou = "domain.local/" + $ou
$group1 = "Gendarmerie"
$group2 = "Port"
Get-Mailbox -ResultSize Unlimited -OrganizationalUnit $ou | where {Get-QADUser $_.alias -NotMemberOf $group1 } | where {Get-QADUser $_.alias -NotMemberOf $group2 }

Compter le nombre de membres dans un groupe

Pour compter rapidement le nombre de membres dans un groupe.

$gp  = Read-Host "Enter group name"
$member = $null
Get-QADGroupMember -SizeLimit 0 -Identity $gp | foreach {
$member++
}
Write-Host $member " in " $gp

Afficher à distance les administrateurs locaux.

Permet d’afficher à les membres du groupe « Administrators » local d’un serveur distant.

$strComputer = Read-Host "Please enter the computer name"
 
$computer = [ADSI]("WinNT://" + $strComputer + ",computer")
$group = $computer.psbase.children.find("administrators")
 
Write-host ""
Write-host "Computer Name : "$computer.name
Write-Host "_____________________________________"
Write-host ""
Write-host "Group Name : "$Group.name
Write-Host "_____________________________________"
 
$domain = $group.path.split("/")[2]
$string1 = "WinNT://" + $domain + "/" + $strComputer + "/"
$string2 = $strComputer + "/"
$string3 = "WinNT://"
 
$members  = ($group.psbase.invoke(”Members”) | Foreach-Object {$_.GetType().InvokeMember(”Adspath”, ‘GetProperty’, $null, $_, $null)}) -replace ($string1,$string2) -replace ($string3,"") 
 
Write-host ""
Write-host "Members : "
Write-host ""
$members

Si vos serveurs sont en français, il faut remplacer « Administrators » par « Administrateurs » dans le script.

Traiter les membres d’un groupe

Permet d’effectuer une tache d’administration sur les membres d’un groupe.

Get-Group -Identity "Group_Name" |
	ForEach-Object {
		$groupdn=("LDAP://"+$_.DistinguishedName)
		$group = ([ADSI]$groupdn)
		""
		"Nom du groupe"
		"-------------"
		$_.DistinguishedName
		""
		"Liste des membres du groupe"
		"---------------------------"
 
		ForEach ($member in $group.member){
 
			$member
#	Desactivation du quota *EXCEPTION_QUOTA*
			Set-Mailbox -Identity $member -IssueWarningQuota Unlimited -ProhibitSendQuota Unlimited -ProhibitSendReceiveQuota Unlimited -UseDatabaseQuotaDefaults $false 
		}
	}

Afficher le Lastlogon des utilisateurs d’une OU

Affiche le lastlogon des utilisateurs d’un OU.

Get-QADUser -IncludeAllProperties -SizeLimit 0 -SearchRoot "domain.local/OU_01" | ft Name,SamAccountName,LastLogon
Categories: Active Directory Tags: ,

Supprimer une list d’utilisateurs d’un groupe

Permet de supprimer rapidement une liste d’utilisateurs d’un groupe AD.

Import-Csv -Path .\remove-usersfromgroup.txt | Foreach {Remove-QADGroupMember -Identity "Le_Groupe" -Member $_.alias }

Ajouter une liste d’utilisateurs dans une DL.

Permet d’ajouter une liste d’utilisateurs dans un groupe de distribution.

Import-Csv -Path .\users_compta.csv | foreach { Add-DistributionGroupMember -Identity Groupe_Compta -Member $_.identity }

Combien y a t’il de Christophe dans la boite.

Un p’tit truc rapide pour compter ne nombre Christophe dans la boite.

$christophe = get-mailbox *christophe*
$christophe.count

Il y en a tout de même 249. Pas mal…

Exporter les statistiques ActiveSync.

Permet de faire un export des statistiques ActiveSync de tous les utilisateurs actifs.

$result_file = New-Item -ItemType file -Path ActiveSyncStats.txt -Force
Add-Content -Path $result_file -Value "Identity,DeviceType,FirstSyncTime,LastSuccessSync"
$users = Get-CASMailbox -ResultSize unlimited | Where-Object { $_.ActiveSyncEnabled -eq "true" -and  $_.HasActiveSyncDevicePartnership -eq "true" } 
Foreach ($mb in $users) {
#Write-Host $_.identity
$stats = Get-ActiveSyncDeviceStatistics -Mailbox $mb.identity
Add-Content -Path $result_file -Value "$($mb.Name),$($stats.Identity),$($stats.DeviceType),$($stats.FirstSyncTime),$($stats.LastSuccessSync)"
}

Activer l’héritage de la sécurité sur des comptes AD

Permet de cocher la case « Allow inheritable permissions… » dans les propriétés avancées de la sécurité des comptes AD.

Get-QADUser -SizeLimit 0 -SearchRoot "domain.local/FI00_PAris" | where {$_.Security.PermissionInheritanceLocked} | Set-QADObjectSecurity -UnlockInheritance

Si cette case n’est pas cochée sur les comptes utilisateurs, il peuvent avoir des problèmes d’accès à OWA et ne sont pas traités lors de la mise en place de délégations.

Categories: Active Directory Tags: ,