You are not logged in.

Announcement

 Téléchargez la dernière version stable de GLPI      -     Et vous, que pouvez vous faire pour le projet GLPI ? :  Contribuer
 Download last stable version of GLPI                      -     What can you do for GLPI ? :  Contribute

#1 2012-04-27 13:59:45

000Alucard000
Member
Registered: 2011-08-19
Posts: 14

Script qui permet d'installer et générer un TAG en fonction du DN.

Bonjour,


Après maint effort j'ai réussi à mettre au point un script que je trouve sympathique. Je pensais le partager pour en faire profiter la communauté.
Alors voilà le principe de ce script et d'installer OCS en mettant comme TAG le DN AD de la machine (ce qui permet de plus facilement ranger ces machine ensuite)

@echo off
REM ********************************************************************************
REM **** OCSAgentSetup.exe install by GPO                                       ****
REM **** by Philippe BEAUMONT
REM **** Updated by @lucard                                                   ****
REM **** You must use it in a logon script in your Active Directory             ****
REM ********************************************************************************

REM **** This is the fully qualified domain name of your OCS Inventory ng server.
set OCSSERVER=http://X.X.X.X/ocsinventory

REM **** You must put here the address of your file server where OCSAgentSetup.exe is.
REM **** For exemple :
REM **** If OCSAgentSetup.exe is on \\filesserver\public\ocs\OCSAgentSetup.exe
REM **** you must put : fileserver\public\ocs
set INSTALLSERVER=test.lan\NETLOGON

REM **** Arrêt du services OCS
net stop "OCS Inventory Service"

REM **** Supression du TAG ocs
del "C:\Documents and Settings\All Users\Application Data\OCS Inventory NG\Agent\admininfo.conf" /F /S
del  "C:\ProgramData\OCS Inventory NG\Agent\admininfo.conf" /F /S

\\wonderbox.lan\NETLOGON\dsqueryX86\dsquery.exe computer -name %COMPUTERNAME%

REM **** Test pour vérifier la version de Windows (X86 ou X64)
REM **** Recupèration du DN pour le TAG ocs
if %PROCESSOR_ARCHITECTURE% EQU "AMD64" (for /f "delims=" %%i in ('\\%INSTALLSERVER%\dsqueryX64\dsquery.exe computer -name %COMPUTERNAME%') do Set OCSTAG=%%i) else (for /f "delims=" %%i in ('\\%INSTALLSERVER%\dsqueryX86\dsquery.exe computer -name %COMPUTERNAME%') do Set OCSTAG=%%i)

:install
\\%INSTALLSERVER%\OcsAgentSetup.exe /S /SERVER=%OCSSERVER% /NOSPLASH /DEBUG=0 /NOW /NO_SYSTRAY /TAG=%OCSTAG%

Une petite explication s'impose, en fait la commande "\\%INSTALLSERVER%\dsqueryX64\dsquery.exe computer -name %COMPUTERNAME%" est celle qui permet de récupérer le DN de l'ordinateur c'est un utilitaire qui se trouvent dans system32 une fois que l'on a installé le adminpack pour XP ou le Remote Server Administration Tools pour Win7.


Attention cependant il existe deux version (pour 32bits et 64 bits).


Il suffit de récupérer l'exe "dsquery.exe" et puis voic son utilistaion :

Description : l'ensemble de commandes de cet outil vous permet d'effectuer des
requêtes sur l'annuaire selon des critères spécifiés. Chacune des commandes
dsquery suivantes permet de rechercher des objets d'un type spécifique, à
l'exception de la commande dsquery *, qui permet d'effectuer des requêtes pour
n'importe quel type d'objet :

dsquery computer - recherche des ordinateurs dans l'annuaire.
dsquery contact - recherche des contacts dans l'annuaire.
dsquery subnet - recherche des sous-réseaux dans l'annuaire.
dsquery group - recherche des groupes dans l'annuaire.
dsquery ou - recherche des unités d'organisation dans l'annuaire.
dsquery site - recherche des sites dans l'annuaire.
dsquery server - recherche des contrôleurs de domaine/instances des services
                     LDS Active Directory dans l'annuaire.
dsquery user - recherche des utilisateurs dans l'annuaire.
dsquery quota - recherche les spécifications de quotas dans l'annuaire.
dsquery partition - recherche les partitions dans l'annuaire.
dsquery * - recherche n'importe quel objet dans l'annuaire à l'aide d'une
                requête LDAP générique.

Pour obtenir de l'aide sur une commande spécifique, entrez
« dsquery <Type_objet> /? », où <Type_objet> est l'un des types d'objets pris
en charge et indiqués ci-dessus.
Par exemple, dsquery ou /?.

Remarques :
Les commandes dsquery vous aident à rechercher des objets dans l'annuaire en
fonction des critères spécifiés : l'entrée de dsquery est un critère de
recherche et sa sortie est une liste d'objets correspondant à ce critère.
Pour obtenir les propriétés d'un objet, utilisez les commandes dsget
(dsget /?).

Les résultats d'une commande dsquery peuvent être utilisés (par canal) comme
entrée d'un autre outil en ligne de commande des services d'annuaire, tel que
dsmod, dsget, dsrm ou dsmove.

Les virgules non utilisées comme séparateurs dans les noms uniques doivent
être précédées d'une barre oblique inverse (« \ »)
(par exemple, "CN=Société\, S.A.,CN=users,DC=microsoft,DC=com").

Les barres obliques inverses utilisées dans les noms uniques doivent être
précédées d'une autre barre oblique inverse (par exemple,
"CN=Ventes\\ Amérique Latine,OU=Listes de distribution,DC=microsoft,DC=com").


Exemples :
Pour rechercher tous les ordinateurs qui ont été inactifs pendant les quatre
dernières semaines et les supprimer de l'annuaire :

        dsquery computer -inactive 4 | dsrm

Pour rechercher tous les utilisateurs de l'unité d'organisation
"ou=Marketing,dc=microsoft,dc=com" et les ajouter au groupe Équipe marketing :

        dsquery user ou=Marketing,dc=microsoft,dc=com | dsmod group
        "cn=Équipe marketing,ou=Marketing,dc=microsoft,dc=com" -addmbr

Pour rechercher tous les utilisateurs dont le nom commence par "Albert" et
afficher leur numéro de bureau :

        dsquery user -name Albert* | dsget user -office

Pour afficher un jeu arbitraire d'attributs d'un objet quelconque donné dans
l'annuaire, utilisez la commande dsquery *. Par exemple, pour afficher les
attributs sAMAccountName, userPrincipalName et department de l'objet
dont le nom unique est ou=Test,dc=microsoft,dc=com :

        dsquery * ou=Test,dc=microsoft,dc=com -scope base
        -attr sAMAccountName userPrincipalName department

Pour lire tous les attributs de l'objet dont le nom unique est
ou=Test,dc=microsoft,dc=com :

        dsquery * ou=Test,dc=microsoft,dc=com -scope base -attr *

Aide sur les outils en ligne de commande du service d'annuaire :
dsadd /? : aide pour l'ajout d'objets.
dsget /? : aide pour l'affichage d'objets.
dsmod /? : aide pour la modification d'objets.
dsmove /? : aide pour le déplacement d'objets.
dsquery /? : aide pour la recherche d'objets en fonction de critères de
recherche.
dsrm /? : aide pour la suppression d'objets.

Ma commande récupèrer le DN de la façon suivante :

"CN=ORIDXXX,OU=XXXX,OU=Ordinateurs,OU=France,DC=test,DC=lan"

Cela peut différer selon vos OU.


Et tout cela ma permis par exemple de automatiquement ranger mes ordinateur dans les bonnes entité dans GLI (qui est très souvent utilisé avec OCS ^^) et cela et continuellement à jour.


EN espérant que ce script sera aussi utile que pour moi pour une personnes.



PS : Oui en effet j'ai repris une parti d'un script existant, mais bon je vais pas réinventer la roue lol.

Last edited by 000Alucard000 (2012-04-27 14:02:41)

Offline

Board footer

Powered by FluxBB