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 :

Script Powershell fichier texte


Sujet :

Scripts/Batch

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Etudiants
    Inscrit en
    Avril 2020
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Etudiants
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Avril 2020
    Messages : 6
    Par défaut Script Powershell fichier texte
    Bonjour, je suis débutant a Powershell et j'aimerais faire ceci :

    1)Créez un fichier texte de 250 lignes contenant sur chaque ligne un utilisateur.
    Voici ce que j'ai fait pour cette consigne :

    Code PowerShell : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    for ($i = 1; $i -le 250; $i++)
    {
       ADD-content -path "D:\dossier_essai\utilisateur.txt" -value "user$i" 
    }

    2)Créez un fichier texte de 25 lignes contenant sur chaque ligne un groupe de 10 utilisateurs.

    Voici mon code :

    Code PowerShell : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    $u = 1
    for ($i = 1; $i -le 25; $i++)
    {
       for ($a=1; $a -le 10; $a++)
       {
         "Utilisateur$u," | Out-File -FilePath "c:\temp\groupe.txt" -Append -NoNewline
         $u++
       }
         "" |Out-File -FilePath "c:\temp\groupe.txt" -Append
    }

    3)Développez un script qui reçoit en paramètres les deux fichiers textes, créée les utilisateurs et les affecte au groupe cible.

    Pour le script j'ai essayer de faire quelque chose mais ce la ne fonctionne pas.

    Voici mon 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
    Set-Location 'AD:\OU=Users,OU=Accounts, OU=Contoso, DC=contoso,DC=com'
     
    $a = Get-Content D:\dossier_essai\utilisateur.txt
    $listegroups = Get-Content D:\dossier_essai\groupe.txt
     
    foreach ($c in $a) 
    {
        New-ADUser $c | Out-File -FilePath "D:\dossier_essai\utilisateur.txt" -Append
     
       foreach ($groupe in $listegroups) 
       {
            New-ADGroup "groupe" -GroupScope Global
            Add-ADGroupMember -Identity groupe -Members $a
            "" |Out-File -FilePath "D:\dossier_essai\groupe.txt" -Append
     
        }
     
        "" |Out-File -FilePath "D:\dossier_essai\utilisateur.txt" -Append
    }

    Merci beaucoup

    fa2302

  2. #2
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    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 218
    Par défaut
    Pour la création du fichier groupe je ferais comme ceci car il est toujours bon de limiter les écritures disque
    Code powershell : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    $output = ""
    for ($i = 1; $i -le 250; $i++)
    {
       $output += "Utilisateur$i,"
       if ($i%10 -eq 0)
       {
        $output += "`n"
       }
    }
    Set-Content -Path "c:\temp\groupe.txt" -Force -Value $output
    Pourquoi as tu mis des retours ligne dans ce fichier ? J'ai du mal à en voir l'interet



    3)Développez un script qui reçoit en paramètres les deux fichiers textes, créée les utilisateurs et les affecte au groupe cible
    Pour le troisième script :
    - Ton script n'utilise pas les paramètres ce sont juste des variables définis dans le script
    - Comment connais tu les groupes cibles pour chaque utilisateur ?
    - A quoi te sert tous les Out-File
    - Tu n'utilise pas la variable $groupe
    - Il n'y a pas de split sur le séparateur virgule du fichier groupe.txt
    - D'après ton deuxième script D:\dossier_essai\groupe.txt ne semble pas exister
    - Il est toujours préférable de spécifier l'emplacement de la création plutôt que d'utiliser le path courant (utilise New-ADGroup -Path et New-ADUser -Path)

  3. #3
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    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 218
    Par défaut
    Ou comme ceci, bien que le résultat soit légèrement différent je pense qu'il est préférable :

    Code powershell : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $output = @()
    for ($i = 1; $i -le 250; $i = $i + 10)
    {
        $output += (($i..($i+9) | ForEach-Object {"utilisateur$_"}) -join ",")
    }
    Set-Content -Path "c:\temp\groupe.txt" -Force -Value $output

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Etudiants
    Inscrit en
    Avril 2020
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Etudiants
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Avril 2020
    Messages : 6
    Par défaut Powershell
    Citation Envoyé par ericlm128 Voir le message
    Pour la création du fichier groupe je ferais comme ceci car il est toujours bon de limiter les écritures disque
    Code powershell : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    $output = ""
    for ($i = 1; $i -le 250; $i++)
    {
       $output += "Utilisateur$i,"
       if ($i%10 -eq 0)
       {
        $output += "`n"
       }
    }
    Set-Content -Path "c:\temp\groupe.txt" -Force -Value $output
    Pourquoi as tu mis des retours ligne dans ce fichier ? J'ai du mal à en voir l'interet




    Pour le troisième script :
    - Ton script n'utilise pas les paramètres ce sont juste des variables définis dans le script
    - Comment connais tu les groupes cibles pour chaque utilisateur ?
    - A quoi te sert tous les Out-File
    - Tu n'utilise pas la variable $groupe
    - Il n'y a pas de split sur le séparateur virgule du fichier groupe.txt
    - D'après ton deuxième script D:\dossier_essai\groupe.txt ne semble pas exister
    - Il est toujours préférable de spécifier l'emplacement de la création plutôt que d'utiliser le path courant (utilise New-ADGroup -Path et New-ADUser -Path)





    Salut,
    J'ai mis des retours de ligne dans lefichier pour qu'il un utilisateur par ligne dans le fichier
    Par exemple :

    User1
    User2

    Pour le troisième script :
    D'accord alors comment on peut les definir comme paramètre ?
    Pour le premier fichier texte, il faut juste créer 250 utilisateurs a partir du fichier et pour le deuxieme faut créer 25 groupes ou il y 10 utilisateurs dans chaque groupe

    Merci beaucoup

    fa2302

  5. #5
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    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 218
    Par défaut
    J'ai mis des retours de ligne dans lefichier pour qu'il un utilisateur par ligne dans le fichier
    Par exemple :
    User1
    User2
    Tu répond à coté, je parle du fichier de groupe



    D'accord alors comment on peut les définir comme paramètre ?
    Je ne pense pas que tu souhaites réellement utiliser des paramètres



    Pour le premier fichier texte, il faut juste créer 250 utilisateurs a partir du fichier et pour le deuxieme faut créer 25 groupes ou il y 10 utilisateurs dans chaque groupe
    Et donc, "Comment connais tu les groupes cibles pour chaque utilisateur ?"


    Y a t'il aussi un interet de passer par des fichiers textes, en l’occurrence non ?

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    Etudiants
    Inscrit en
    Avril 2020
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Etudiants
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Avril 2020
    Messages : 6
    Par défaut
    Citation Envoyé par ericlm128 Voir le message

    Tu répond à coté, je parle du fichier de groupe



    Je ne pense pas que tu souhaites réellement utiliser des paramètres




    Et donc, "Comment connais tu les groupes cibles pour chaque utilisateur ?"

    Dans le fichier groupe, je pense pas qu'ils sont utiles.

    Si je souhaite utiliser des paramètres et ici ce sont les deux fichiers textes.

    En fait je crées les 2 fichiers et mon script doit ce baser sur les deux fichiers pour créer automatiquement les 250 utilisateurs inscrit dans le premier fichier.
    Ensuite, il crée les 25 groupes pour ensuite organiser les utilisateurs selon ce qui est inscrit dans le deuxième fichier.


    Merci

  7. #7
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    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 218
    Par défaut
    Tu trouvera des informations te permettant d'ajouter des paramètres ici :
    http://nicolaslang.blogspot.com/2013...-avec-des.html
    https://pwrshell.net/travailler-avec...on-powershell/
    Il existe 2 types de paramètres, script ou fonction. A toi de voir ce que tu veux.

    As tu intégré ma proposition du 26/04/2020, 10h07 ?

Discussions similaires

  1. Création d'un fichier texte à partir d'un script powershell
    Par DD4477 dans le forum Programmation système
    Réponses: 0
    Dernier message: 01/10/2018, 16h53
  2. Réponses: 0
    Dernier message: 27/04/2018, 12h46
  3. Script modification fichier texte
    Par como10 dans le forum Scripts/Batch
    Réponses: 2
    Dernier message: 15/09/2017, 17h42
  4. Création des comptes utilisateurs a partir d'un script et fichier texte
    Par hocine1978 dans le forum Administration système
    Réponses: 2
    Dernier message: 26/12/2006, 14h11
  5. Imprimer un fichier texte avec un script vbs
    Par Persons dans le forum Windows
    Réponses: 3
    Dernier message: 23/12/2004, 16h47

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