Ce script m’a permit de lister tous les serveurs gestionnaires de licences terminal server dans le domaine.
LSVIEW.EXE permet de faire cette recherche mais ne fouille pas recoins lointains d’un domaine important.
Le script ci-dessous est plus agressif, il vérifie la présence du service « TermServLicensing » sur tous les Windows Server du domaine.
$Input = Get-QADComputer -SizeLimit 0 | where {$_.OSName -match "Windows Server" }
$expfileok = New-Item -ItemType file -Path .\TermServLicensing.csv -Force
Add-Content -Path $expfileok -Value "Name,OK"
foreach ($server in $Input)
{
$version = $null
$version = Get-WmiObject Win32_OperatingSystem -ComputerName $server.name -ErrorAction SilentlyContinue
If ( $version -eq $null)
{
Write-Host $server.name " Inaccessible." -Separator "," -ForegroundColor Red
}
Else
{
$Service = Get-Service -ComputerName $server.name -Name "TermServLicensing" -ErrorAction SilentlyContinue
If ($Service.name -eq "TermServLicensing")
{
Write-Host $server.name "OK"-Separator "," -ForegroundColor Green
Add-Content -Path $expfileok -Value "$($server.name),$("OK")"
}
}
} |
Déplacez les membres d’un groupe vers un autre groupe Active Directory.
$groups = Read-Host "Entrez le nom du groupe source"
$groupt = Read-Host "Entrez le nom du groupe cible"
$members = Get-QADGroupMember -Identity $groups
Foreach ( $member in $members) {
if ( $member -ne $null) {
Add-QADGroupMember -Identity $groupt -Member $member.dn
Remove-QADGroupMember -Identity $groups -Member $member.dn
}
} |
Copie les membres d’un groupe dans une autre groupe Active Directory.
$groups = Read-Host "Entrez le nom du groupe source"
$groupt = Read-Host "Entrez le nom du groupe cible"
$members = Get-QADGroupMember -Identity $groups
Foreach ( $member in $members) {
Add-QADGroupMember -Identity $groupt -Member $member.dn
} |
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 } |
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 |
Permet d’ajouter les ordinateurs d’un OU dans un groupe.
Get-QADComputer -SizeLimit 0 -SearchRoot "domain.local/OU01_Paris" | foreach { Add-QADGroupMember -Identity "OU01-Paris-Comp" -Member $_.name } |
La même chose avec un filtrage sur le nom des ordinateurs.
Get-QADComputer -SizeLimit 0 -SearchRoot "domain.local/OU01_Paris" | Where-Object { $_.name -like "frlt*" -or $_.name -like "frdt*" } | foreach { Add-QADGroupMember -Identity "OU01-Paris-Comp" -Member $_.name } |

La méthode suivante permet de configurer une « Adresse de configuration automatique du proxy » dans Mozilla Firefox par GPO dans Active Directory.
Tout d’abord, préparer un batch pour la configuration.
cd "%userprofile%Application DataMozillaFirefoxProfiles*default"
c:
type prefs.js >> temp.txt
echo user_pref("network.proxy.autoconfig_url", "http://myproxy.domain.com/proxy.pac") >> temp.txt
echo user_pref("network.proxy.type", 2) >> temp.txt
move /y temp.txt prefs.js |
Ce batch ajoute deux lignes à la fin du fichier de configuration de Firefox présent dans le profil de l’utilisateur qui l’exécute.
A l’ouverture de Firefox, celui-ci remplace les lignes de configurations déjà existante par celle se trouvant à la fin du fichier. Il n’y aura donc pas de lignes en double dans le fichier.
En ajoutant uniquement ces deux lignes, cela évite également de modifier le reste de la configuration de l’utilisateur. (Préférences, page d’acceuil…)
Vous pouvez afficher la configuration de Firefox en tapants about:config dans la barre d’adresse.
Pour la mise en place de la GPO, il suffit de configurer l’exécution du script au logon dans la configuration utilisateur de la stratégie de groupe.
Cette méthode permet de configurer d’avantage d’options ou configurer différemment le proxy dans Firefox.
Permet de lister tous les serveurs membres du domaine présent dans une OU.
Cette liste exclut donc les contrôleurs de domaine.
Get-QADComputer -SearchRoot "domain.local/FI00_Paris" |
Foreach {
$start = $_.name.StartsWith("SRV")
if ( $start -eq "true" -and $_.ComputerRole -ne "DomainController" ){
Write-Host $_.name
}
else {}
} |
Renseigner individuellement les numéros de téléphone d’un utilisateur dans l’AD.
Cela me permet ensuite de pouvoir les appeler depuis Communciator sans systématiquement redemander le numéro.
Dans 10 ans, l’annuaire sera à jour.
Numéro du bureau.
$User = Read-Host "Enter user name or alias"
$number = Read-Host "Enter the phone number (+33 154876532)"
Set-User -Identity $User -Phone $number |
Numéro de portable:
$User = Read-Host "Enter user name or alias"
$number = Read-Host "Enter the phone number (+33 654876532)"
Set-User -Identity $User -MobilePhone $number |
Permet de activer rapidement l’héritage des permissions dans les sécurités d’un compte AD.
$user = Read-Host "Enter user's logon"
Get-QADUser $user | Set-QADObjectSecurity -UnlockInheritance |