IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Scripts/Batch Discussion :

Lister les Unités d'organisation d'un domaine AD non connu à l'avance .. [PowerShell]


Sujet :

Scripts/Batch

  1. #1
    Futur Membre du Club
    Femme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juin 2018
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2018
    Messages : 15
    Points : 6
    Points
    6
    Par défaut Lister les Unités d'organisation d'un domaine AD non connu à l'avance ..
    Bonjour à tous,

    Etant formateur pour Windows 2008 R2 Serveur , je voudrais lancer un script Powershell sur chaque machine de mes élèves qui "scanne" les OU d'un domaine AD.
    Le but étant de reproduire l'arborescence qui se trouve dans 'utilisateurs et ordinateurs active Directory".
    Exemple d'arborecence d'OU (noms d'OU fictifs) :

    Groupes-DL
    ||
    ===> Groupes-01

    Entreprise-X
    ||
    ===> DRH
    ||
    ===> Production
    ||
    ===> Outils



    J'ai donc opté pour une boucle récursive qui scanne les OU du domaine, voici mon script :
    Code PowerShell : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    32
    33
    # Import du module AD
    Import-Module ActiveDirectory
     
    # Récupération du DN du domaine courant
    $dom = (Get-AdDomainController).defaultpartition
     
    function Scan-OU
    {
        param
        (
        [Parameter(Mandatory=$true)][string]$PATH
        )
     
    	$ou = Get-ADOrganizationalUnit -filter * -SearchBase $path -SearchScope onelevel
     
    	Foreach ($item in $ou)
    	{
    		if ($item.name -ne "Domain Controllers")
            {
                if ($item.name -ne $null)
                {
                write-host $item.name
                }
            }
        }
    write-host
    if ($item.name -ne $null)
    {
    Scan-OU -path $item.DistinguishedName
    }
    }
     
    Scan-ou -path $dom
    Résultat :
    le script fonctionne mais me liste les OU de la façon suivante:

    Groupes-DL
    Entreprise-X

    Groupes-01
    DRH
    Production

    Outils

    je sens que je ne suis pas loin , il me manque l'affichage et le décalage des "||" et des "====>"

    Merci d'avance pour votre éventuelle aide..
    Gros Bisous.

  2. #2
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement (SCCM, InTune, GPO)
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3 184
    Points : 5 755
    Points
    5 755
    Par défaut
    Il nous faut connaitre le niveau de l'OU pour la mise en page.

    J'ai modifié légèrement la logique de récursivité et devine le niveau à partir du nombre "\" présent dans la propriété "CanonicalName".
    Je n'ai pas d'AD sous la main aussi ce code est à débuger/adapter.


    Code powershell : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    # Import du module AD
    Import-Module ActiveDirectory
     
    # Récupération du DN du domaine courant
    $dom = (Get-AdDomainController).defaultpartition
     
    function Scan-OU
    {
    	param
    	(
    	[Parameter(Mandatory=$true)][string]$PATH
    	)
     
    	$ou = Get-ADOrganizationalUnit -filter * -SearchBase $path -SearchScope onelevel -Properties CanonicalName, name, DistinguishedName
     
    	Foreach ($item in $ou)
    	{
    		if ($item.name -ne "Domain Controllers" -and $item.name -ne $null)
    		{
    			$level = ($item.CanonicalName.Split("\\")).count - 1
     
    			if ($level -eq 0)
    			{
    				write-host $item.name
    			}
    			else
    			{
    				write-host "||".PadLeft($level * 5, " ")
    				write-host ("===> " + $item.name).PadLeft($level * 5, " ")
    			}
     
    			Scan-OU -path $item.DistinguishedName
     
    			if ($level -eq 0)
    			{
    				write-host
    			}
    		}
     
    	}
    }
     
    Scan-ou -path $dom

  3. #3
    Futur Membre du Club
    Femme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juin 2018
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2018
    Messages : 15
    Points : 6
    Points
    6
    Par défaut
    Salut ericlm128,

    merci de ta réponse,

    voila ce que me script m'affiche :
    Groupes-DL
    Groupes-01

    Entreprise-X
    DRH
    Production
    Outils

    j'ai testé il me scanne bien l'arbo mais ne m'affiche pas les "||" et les "=====>" et donc ne décale pas...
    je bosse un peu ça pour essayer de décaler et je reviens vers toi...

    N.B super idée de compter les \ dans la propriété "CanonicalName"

  4. #4
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement (SCCM, InTune, GPO)
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3 184
    Points : 5 755
    Points
    5 755
    Par défaut
    Ok comme ci que $level valait toujours 0.
    Essai avec un seul \ peut être dans ...Split("\"))... ou en l’échappent ...Split("`\"))...

    Je ne suis pas un féru de PowerShell mais l'idée est la.

  5. #5
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement (SCCM, InTune, GPO)
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3 184
    Points : 5 755
    Points
    5 755
    Par défaut
    Quoique non sinon tu aurai toujours le retour ligne ... faut tester en pas à pas je pense.

  6. #6
    Futur Membre du Club
    Femme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juin 2018
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2018
    Messages : 15
    Points : 6
    Points
    6
    Par défaut
    oui j'ai testé le compteur est tjs egal à o donc il n'execute pas le if et n'afiche pas les "||" et les "====>"

  7. #7
    Futur Membre du Club
    Femme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juin 2018
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2018
    Messages : 15
    Points : 6
    Points
    6
    Par défaut
    il me faudrait un autre compteur...

  8. #8
    Futur Membre du Club
    Femme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juin 2018
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2018
    Messages : 15
    Points : 6
    Points
    6
    Par défaut
    pff marche pas avec un compteur..

    3 semaines a bosser sur ce truc.. j'abandonne.

  9. #9
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement (SCCM, InTune, GPO)
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3 184
    Points : 5 755
    Points
    5 755
    Par défaut
    Voici, j'ai testé pour toi sur mon AD et corrigé le script

    Code powershell : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    # Import du module AD
    Import-Module ActiveDirectory
     
    # Récupération du DN du domaine courant
    $dom = (Get-AdDomainController).defaultpartition
     
    function Scan-OU
    {
    	param
    	(
    	[Parameter(Mandatory=$true)][string]$PATH
    	)
     
    	$ou = Get-ADOrganizationalUnit -filter * -SearchBase $path -SearchScope onelevel -Properties CanonicalName, name, DistinguishedName
     
    	Foreach ($item in $ou)
    	{
    		if ($item.name -ne "Domain Controllers" -and $item.name -ne $null)
    		{
    			$level = ($item.CanonicalName.Split("/")).count - 2
     
    			if ($level -eq 0)
    			{
    				write-host $item.name
    			}
    			else
    			{
    				write-host $((" " * ($level * 5)) +"||")
    				write-host $((" " * ($level * 5)) + "===> " + $item.name)
    			}
     
    			Scan-OU -path $item.DistinguishedName
     
    			if ($level -eq 0)
    			{
    				write-host
    			}
    		}
     
    	}
    }
     
    Scan-ou -path $dom

  10. #10
    Futur Membre du Club
    Femme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juin 2018
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2018
    Messages : 15
    Points : 6
    Points
    6
    Par défaut
    Salut ,

    merci d'avoir cherché pour moi.
    Du coup j'ai modifié aussi et j'ai travaillé sur la virgule du DN..
    Ca marche aussi,

    Au cas ou voila le code :


    Code PowerShell : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    function Scan-OU
    {
    	param
    	(
    	[Parameter(Mandatory=$true)][string]$path
    	)
     
    	$ou = Get-ADOrganizationalUnit -filter * -SearchBase $path -SearchScope onelevel
     
    	Foreach ($item in $ou)
    	{
    		if ($item.name -ne "Domain Controllers" -and $item.name -ne $null)
    		{
            $level = ($item.DistinguishedName.Split(",").count - $leveldom)
     
    			if ($level -eq 1)
    			{
    			write-host $item.name
    			}
    			else
    			{
                #write-host "||".PadLeft($level * 5, " ")
    			write-host ("     ===> " + $item.name).PadLeft($level+$level*8)
    			}
     
    			Scan-OU -path $item.DistinguishedName
            }
     
        }
    }



    J'ai testé le tiens il fonction enickel aussi..

    Merci d'avoir pris du temps pou rmoi.
    Résolu et bonne soirée..

    Valéry,

  11. #11
    Candidat au Club
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Décembre 2016
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Assistant aux utilisateurs

    Informations forums :
    Inscription : Décembre 2016
    Messages : 3
    Points : 4
    Points
    4
    Par défaut
    Bonjour,

    Je sais que c'est un vieux poste, mais c'est exactement ce qu'il me faut. Je cherche justement ce genre de script dans l'espoir de récupérer le nom et le chemin de l'OU pour qu'un néophyte puisse mettre un pc dans l'OU qu'il a sélectionné et sans connaitre de mot de passe.

    Malheureusement je suis moi même un débutant en powershell, j'ai simplement copier/coller ce script dans un fichier texte renommé en .ps1, mais cela ne fonctionne pas, j'obtient tout ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Import-Module : Le module «*ActiveDirectory*» spécifié n'a pas été chargé, car aucun fichier de module valide n'a été trouvé dans un répertoire 
    de module.
    Au niveau de C:\Users\HESCH-03603\Desktop\listeOU.Ps1*: 2 Caractère*: 14
    + Import-Module <<<<  ActiveDirectory
        + CategoryInfo          : ResourceUnavailable: (ActiveDirectory:String) [Import-Module], FileNotFoundException
        + FullyQualifiedErrorId : Modules_ModuleNotFound,Microsoft.PowerShell.Commands.ImportModuleCommand
     
    Le terme «*Get-AdDomainController*» n'est pas reconnu comme nom d'applet de commande, fonction, fichier de script ou programme exécutable. Vérif
    iez l'orthographe du nom, ou si un chemin d'accès existe, vérifiez que le chemin d'accès est correct et réessayez.
    Au niveau de C:\Users\DUPONT-03603\Desktop\listeOU.Ps1*: 5 Caractère*: 31
    + $dom = (Get-AdDomainController <<<< ).defaultpartition
        + CategoryInfo          : ObjectNotFound: (Get-AdDomainController:String) [], CommandNotFoundException
        + FullyQualifiedErrorId : CommandNotFoundException est ce que vous pouvez m'aidez ?
    Je suis sous windows 7.

    Code utilisé :
    Code PowerShell : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    32
    33
    34
    35
    36
    # Import du module AD
    Import-Module ActiveDirectory
     
    # Récupération du DN du domaine courant
    $dom = (Get-AdDomainController).defaultpartition
     
    function Scan-OU
    {
    	param
    	(
    	[Parameter(Mandatory=$true)][string]$path
    	)
     
    	$ou = Get-ADOrganizationalUnit -filter * -SearchBase $path -SearchScope onelevel
     
    	Foreach ($item in $ou)
    	{
    		if ($item.name -ne "Domain Controllers" -and $item.name -ne $null)
    		{
            $level = ($item.DistinguishedName.Split(",").count - $leveldom)
     
    			if ($level -eq 1)
    			{
    			write-host $item.name
    			}
    			else
    			{
                #write-host "||".PadLeft($level * 5, " ")
    			write-host ("     ===> " + $item.name).PadLeft($level+$level*8)
    			}
     
    			Scan-OU -path $item.DistinguishedName
            }
     
        }
    }

  12. #12
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement (SCCM, InTune, GPO)
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3 184
    Points : 5 755
    Points
    5 755
    Par défaut
    Tu doit installer rsat pour avoir le module active directory

  13. #13
    Futur Membre du Club
    Femme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juin 2018
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2018
    Messages : 15
    Points : 6
    Points
    6
    Par défaut Coucou
    j'ai un peu modifié le code ca marche bien sur un DC. En effet sur une station du domaine (win7) il faut installer les outils RSAT pour win7 (tuto easy sur internet) et se loguer en admin du domaine pour tester.

    j'utilse des espaces " " et je multiplie par le niveau (DN) de l'OU a afficher.

    Code PowerShell : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    # Import du module AD
    Import-Module ActiveDirectory
     
    # Récupération du DN du domaine courant
    $dom = (Get-AdDomain).DistinguishedName
     
    Affiche le niveau du domaine ( ex: dc=gouv,dc=fr ===> 2 )
    $level_dom = $dom.split(",").count
     
    function Scan-OU
    {
    # parametre obligatoire $path ( DN de l'OU a scanner)
    	param
    	(
    	[Parameter(Mandatory=$true)][string]$path
    	)
     
     $blanc = "     "
     
    	$ou = Get-ADOrganizationalUnit -filter * -SearchBase $path -SearchScope onelevel
     
    	Foreach ($item in $ou)
    	{
    		if ( $item.name -ne $null)
    		{
            $level = ($item.DistinguishedName.Split(",").count - $level_dom)
            $espace = $blanc * $level
     
    			if ($level -eq 1)
    			{
    			write-host " $($item.name)"
    			}
    			else
    			{
                #write-host "||".PadLeft($level * 5, " ")
    			write-host "$espace ===> $($item.name)"
    			}
     
    		Scan-OU -path $item.DistinguishedName
            } 
        }
    }
     
    #DN de l'OUà scanner
    $path = "OU=PCBFOR35,DC=Rennes,DC=fr"
     
    #appel de la fonction
    scan-ou $path

  14. #14
    Futur Membre du Club
    Femme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juin 2018
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2018
    Messages : 15
    Points : 6
    Points
    6
    Par défaut
    par contre j evois pas trop ce que veux faire:

    "Je cherche justement ce genre de script dans l'espoir de récupérer le nom et le chemin de l'OU pour qu'un néophyte puisse mettre un pc dans l'OU qu'il a sélectionné et sans connaitre de mot de passe."

    tu peux preciser ta pensée ???

    ==> qui peut mettre un compte ordinateur dans tel ou tel ou.
    pas un utilisateur du domaine je pense...

  15. #15
    Futur Membre du Club
    Femme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juin 2018
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2018
    Messages : 15
    Points : 6
    Points
    6
    Par défaut
    nouvelle version (un peu mieux..)

    Code PowerShell : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
     
    cls
    # Import du module AD
    Import-Module ActiveDirectory
     
    # Récupération du DN du domaine courant
    $dom = (Get-AdDomain).DistinguishedName
     
    #Affiche le niveau du domaine ( ex: dc=gouv,dc=fr ===> 2 )
    $level_dom = $dom.split(",").count
     
    function Scan-OU
    {
    # parametre obligatoire $path ( DN de l'OU a scanner)
    	param
    	(
    	[Parameter(Mandatory=$true)][string]$path
    	)
     
     $blanc = "       "
     
    	$ou = Get-ADOrganizationalUnit -filter * -SearchBase $path -SearchScope onelevel
     
    	Foreach ($item in $ou)
    	{
    		if ( $item.name -ne $null)
    		{
            $level = ($item.DistinguishedName.Split(",").count - $level_dom)
            $espace = $blanc * $level
     
    			if ($level -eq 1)
    			{
    			write-host " $($item.name)"
                Write-host
    			}
    			else
    			{
                #write-host "||".PadLeft($level * 5, " ")
    			write-host "$espace ===> $($item.name)"
                Write-host
    			}
     
    		Scan-OU -path $item.DistinguishedName
            } 
        }
    }
     
    #DN de l'OUà scanner
    $path = "OU=PCBFOR35,DC=Rennes,DC=fr"
     
    #appel de la fonction
    scan-ou $path

  16. #16
    Candidat au Club
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Décembre 2016
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Assistant aux utilisateurs

    Informations forums :
    Inscription : Décembre 2016
    Messages : 3
    Points : 4
    Points
    4
    Par défaut
    Citation Envoyé par 00-Pegasus-00 Voir le message
    par contre j evois pas trop ce que veux faire:

    "Je cherche justement ce genre de script dans l'espoir de récupérer le nom et le chemin de l'OU pour qu'un néophyte puisse mettre un pc dans l'OU qu'il a sélectionné et sans connaitre de mot de passe."

    tu peux preciser ta pensée ???

    ==> qui peut mettre un compte ordinateur dans tel ou tel ou.
    pas un utilisateur du domaine je pense...
    oui ça ne sera pas un utilisateur avec un compte l'ambda, mais un informaticien. Bien sur cette personne pourrait ouvrir l'AD, mettre le pc à la main dans la bonne OU, en se connectant à l'ad, mettre les mots de passe, faire la manœuvre cela prendre du temps quand on les faits par 5, pour en faire un total de 400 à repartir sur plusieurs OU. De plus le mettre dans un script permet temporiser et de redémarrer automatiquement le pc après 15min, laissant le temps aux serveurs AD de se synchroniser entre eux et d'assurer une bonne redescente et aussi un bon fonctionnement des scripts divers. Le faire par un script permet éventuellement de faire un suivi dans un fichier txt ou plein d'autre chose.

    donc l'informaticien pourra lancer ce script, sous une session admin, depuis le pc à installer se script affiche les OU de l'AD, il aura plus qu'a entrer l'OU voulu, le script se charge de le déplacer... et de faire bien d'autre choses d'en le but d'automatiser l'installation du pc dans l'entreprise (mais c'est pas le but de ce post).

    ok pour l'installation du rsat, mais apparemment il doit me manquer d'autre chose car j'ai pas ce qu'il faut dans ajout/suppression de programme windows. Mais du coup ça me pause un problème, car il faudrait installer ça sur toutes les machines , et ça je peux pas me le permettre.

    C'est quand même bien la merde powershell pour ce coté, on a besoin de tout un tas de truc pour que cela fonctionne, faut bien se renseigner sur la version... alors que batch sa marche sans rien.
    J'ai essayer avec un NETDOM move, mais sa semble pas marcher et c'est plus le sujet du post.

  17. #17
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement (SCCM, InTune, GPO)
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3 184
    Points : 5 755
    Points
    5 755
    Par défaut
    C'est quand même bien la merde powershell pour ce coté, on a besoin de tout un tas de truc pour que cela fonctionne, faut bien se renseigner sur la version... alors que batch sa marche sans rien.
    J'ai essayer avec un NETDOM move, mais sa semble pas marcher et c'est plus le sujet du post.
    Cela dépend de ton niveau de compétence les cmdlet proposé par RSAT sont la pour te simplifier la vie.
    Ce que tu souhaites faire peux être réalisé nativement à l'aide de ADSI ou en appelant les librairies .Net

    https://www.reddit.com/r/PowerShell/...ou_using_adsi/

  18. #18
    Futur Membre du Club
    Femme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juin 2018
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2018
    Messages : 15
    Points : 6
    Points
    6
    Par défaut
    Citation Envoyé par jioseng Voir le message
    oui ça ne sera pas un utilisateur avec un compte l'ambda, mais un informaticien. Bien sur cette personne pourrait ouvrir l'AD, mettre le pc à la main dans la bonne OU, en se connectant à l'ad, mettre les mots de passe, faire la manœuvre cela prendre du temps quand on les faits par 5, pour en faire un total de 400 à repartir sur plusieurs OU. De plus le mettre dans un script permet temporiser et de redémarrer automatiquement le pc après 15min, laissant le temps aux serveurs AD de se synchroniser entre eux et d'assurer une bonne redescente et aussi un bon fonctionnement des scripts divers. Le faire par un script permet éventuellement de faire un suivi dans un fichier txt ou plein d'autre chose.

    donc l'informaticien pourra lancer ce script, sous une session admin, depuis le pc à installer se script affiche les OU de l'AD, il aura plus qu'a entrer l'OU voulu, le script se charge de le déplacer... et de faire bien d'autre choses d'en le but d'automatiser l'installation du pc dans l'entreprise (mais c'est pas le but de ce post).

    ok pour l'installation du rsat, mais apparemment il doit me manquer d'autre chose car j'ai pas ce qu'il faut dans ajout/suppression de programme windows. Mais du coup ça me pause un problème, car il faudrait installer ça sur toutes les machines , et ça je peux pas me le permettre.

    C'est quand même bien la merde powershell pour ce coté, on a besoin de tout un tas de truc pour que cela fonctionne, faut bien se renseigner sur la version... alors que batch sa marche sans rien.
    J'ai essayer avec un NETDOM move, mais sa semble pas marcher et c'est plus le sujet du post.

    Si a l'avance l'admin crée les comptes ordinateurs dans les bons OUs avec le meme nom de la machine cliente, (ex dans l'AD ==> W1010-01 / nom du client: Win10-01) pendant la phase d'integration au domaine de la machine cliente lle lien se fait tout seul.
    Ensuite uil existe des scripts pour preparer le client:
    Nom de machine
    Conf IP (@ip / masque / passerelle /DNspref ==> @ip du serveur AD)
    Integration au domaine

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. lister les ordinateurs d'un domaine
    Par dimainfo dans le forum Langage
    Réponses: 2
    Dernier message: 15/12/2011, 15h53
  2. Lister les domaines d'une adresse IP
    Par Fobec dans le forum Langage
    Réponses: 0
    Dernier message: 01/07/2010, 15h18
  3. Réponses: 0
    Dernier message: 20/04/2010, 14h14
  4. [VB6] Comment lister les serveurs SQL d'un domaine ?
    Par WOLO Laurent dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 29/01/2004, 08h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo