Skip navigation.

digital-nation

Blog-note d'un informaticien procrastinate...

Posts tagged with "active directory"

Déblocage de comptes en masse

, , , ...

Il arrive que pour des raisons de sécurité, une multitude de compte soient bloqués (Account is locked out) dans l’Active Directory.
Il faut donc par la suite les débloquer et on ne dispose pas toujours d’une console etc. Et un script en VBS peut nous aider.

'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
'Début de la déclaration des variables
Set objConnection = CreateObject("ADODB.Connection")
Set objCommand = CreateObject("ADODB.Command")
objConnection.Provider = "ADsDSOObject"
objConnection.Open "Active Directory Provider"
Set objCommand.ActiveConnection = objConnection
objCommand.CommandText = "Select AdsPath from 'LDAP://OU=Mes-Users,DC=Mon-Reseau,DC=Mon-Reseau-Connexion " & "where objectClass='user'"
Set objRecordSet = objCommand.Execute
'Fin de la déclaration des variables
'Compteur
monCompteur = 0
'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

'Sélection des comptes bloqués (boucle)
With objRecordSet
While Not .EOF
AdsPath = .Fields("AdsPath")
Set objItem = GetObject(AdsPath)
If objItem.IsAccountLocked = True Then ' True peut aussi avoir la valeur-1
' Routine pour débloquer les comptes'
objItem.isAccountLocked = 0 ' False
objItem.setInfo
'Fin de la routine pour débloquer les comptes
monCompteur = monCompteur + 1
Dim maVariable
If maVariable = "" Then
maVariable = objItem.sAMAccountName & " unlocked" & vbCRLF
else
maVariable = objItem.sAMAccountName & " unlocked" & vbCRLF & maVariable
End If
Else
'ADS_UF_LOCKOUT desactive
End If
.Movenext
Wend
End With

WScript.Echo Date() & vbTab & Time() & vbTab & "Nb. de compte désactivé:" & monCompteur & vbCRLF & _
"Liste des comptes désactivé: " & VbCRLF & maVariable

A lancer avec un compte administrateur et bien entendu il faut personnaliser le chemin LDAP… Cela peut se faire via Adsi Edit pour avoir le chemin complet !


Active Directory : changer les permissions et sécurités d'un fichier ou dossier

, , , ...

Alors que je viens d'éditer un billet sur comment changer les propriétés et sécurités d'un dossier ou fichier via la commande CACLS, j'ai oublié de compléter mon billet par le fait qu'il est tout à fait possible via d'autres outils intégré à l'Active Directory.

Cela peut se faire via SUBINACL...
Mais nous avons aussi d'autres outils mis à notre disposition :

Et j'en passe...
Pourquoi me suis-je cassé la tête avec tout ce charabia de commande ?

AutoIt

, , , ...

Je l'avais promis, voici le « feedback » du pourquoi du comment que j'utilise AutoIt.

Le but initial était d'avoir un langage de script performant et non dépendant de l'éditeur du système d'exploitation Microsoft (sinon j'aurais pris VBS) afin d'automatiser simplement certaines actions sur le PC, le réseau, l'AD.

J'ai bien entendu cherché divers languages (aussi au niveau BATCH), mais je suis rapidement tombé sur le charme de AutoIt car il permettais non seulement d'être son propre language, mais aussi de la combiner avec d'autres (notament le VBS, les DLL et les ActiveX).

Je l'ai donc installé sur un PC portable de type ACER 1700 sous Microsoft Windows XP et l'installation s'est déroulée sans incident particulier. D'ailleur les installeurs sont fait via des logiciels libres (NSIS de NullSoft). Le language se « décompose » en 3 ou 5 paquets selon ce que l'on désire : le language seul (version production et beta) avec son éditeur (SciTE), le language (production et beta), l'éditeur (SciTE), le CVS (CVSWrapper Add-on) accompagné de Tortoise et le dernier package WinMerge qui permet de faire les comparaisons de fichiers.
J'ai choisis en premier temps la « version 3 paquets », et suis passé rapidement à la version 5 paquets car je la trouvais très pratique !

L'éditeur SciTE remplit parfaitement son role avec une aide syntaxique, une aide (fichier CHM) relié à la touche F1, etc. et se montre très (voir trop) complet (mais c'est aussi personnalisable). Bien entendu les autres logiciels sont parfaitement intégré et s'ouvrent en nouvelle fenêtre ; un petit inconvéniant toutefois devant la multitude de fenêtre.

Il a parfaitement remplis ses fonctions jusqu'à maintenant mais les a aussi remarquablement dépassé car dans sa v3 (actuelle) il permet d'avoir des GUI et donc de faire des applications complètes (exécutable etc.).

Je le considère donc autrement qu'un language script mais bien comme un language complet ! Et je ne compte pas m'en séparer de si tôt !

Ajout utilisateur à distance sous Linux

, , , ...

Une petite ligne de commande que j'ai découverte... Je suis toujours aussi néophyte sous Linux, mais peut-être que cela pourrait aider quelques-uns dans un réseau.
ssh -XC root@0.0.0.0
Note : remplacer 0.0.0.0 par l'adresse IP correspondante
Répondre YES à la question, ensuite introduire le mot de passe au prompt le demandant !
sudo /sbin/yast2/ users

L'interface de YAST2 s'ouvre sur votre poste, et vous pouvez aisément rajouter un USER comme dans l'AD.
December 2009
M T W T F S S
November 2009January 2010
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31