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 :

Créer un script avec les saisies utilisateur [PowerShell]


Sujet :

Scripts/Batch

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Février 2021
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Février 2021
    Messages : 9
    Par défaut Créer un script avec les saisies utilisateur
    Bonjour,

    Je suis en train de faire un script pour m'aider dans l'installation d'imprimantes en local.
    Je demande 3 informations au début du script :
    - le langage d'impression
    - l'adresse IP de la machine à installer
    - le nom de la file d'impression à créer

    Pour éviter d'avoir à retaper ces informations lorsque j'installe via ce script une imprimante sur plusieurs postes, je souhaiterai pouvoir obtenir, à l'issu du lancement du script, un second script.
    Dans ce second script, les variables demandées à l'utilisateur seraient remplacées par la saisie précédente.

    Le problème est que je ne sais absolument pas comment procéder. Pouvez-vous m'aider ?

    Merci.

  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
    Oui nous le pouvons, pose un bout de script.
    Dans l'idée tu stock les saisies dans un fichier à coté du script, lu au démarrage.

  3. #3
    Membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Février 2021
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Février 2021
    Messages : 9
    Par défaut
    Merci de vous intéresser à mon problème.
    Voici une partie de 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
    $Langage = Read-Host -Prompt "PS ou PCL6"
    $driver = "Xerox GPD PS V5.759.5.0"
    $address = Read-Host -Prompt "Saisir l'adresse de la machine"
    $address_name = "Xerox_$address"
    $name = Read-Host -Prompt "Entrer le nom de la file d'impression"
    $sleep = "3"
     
     
    if ( $Langage -ieq "PCL6" )
    {
    Invoke-Command {pnputil.exe -a "C:\Copieur_Instal\UNIV_5.759.5.0_PCL6_x64\UNIV_5.759.5.0_PCL6_x64_Driver.inf\x3UNIVX.inf" }
    Add-PrinterDriver -Name $driver
    Start-Sleep $sleep
    Add-PrinterPort -Name $address_name -PrinterHostAddress $address -SNMP "1" -SNMPCommunity "public"
    start-sleep $sleep
    Add-Printer -DriverName $driver -Name $name -PortName $address_name
    Start-Sleep $sleep 
    }

  4. #4
    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
    Je ferai cela simplement comme ca

    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
    53
    54
    55
    56
    57
    58
    # Fichier de conf
    $fileconf = (Get-Item $PSCommandPath).DirectoryName + "\" + (Get-Item $PSCommandPath).BaseName + ".json"
     
    # Si le fichier existe on le charge
    if (Test-Path -LiteralPath $fileconf -PathType Leaf)
    {
        Write-Host "fichier existe"
        $conf = Get-Content -LiteralPath $fileconf -Encoding UTF8 | ConvertFrom-Json
    }
    # Sinon valeur par defaut
    else
    {
        $conf = [PSCustomObject]@{
            langage     = ''
            address     = ''
            name        = ''
        }
    }
     
    # Question à l'utilisateur
    $rep = Read-Host -Prompt "PS ou PCL6 (valeur par defaut : $($conf.langage))"
    # Si une réponse à été saisie on la stocke dans $conf
    if ($rep -ne "")
    {
        $conf.langage = $rep
    }
     
    $rep = Read-Host -Prompt "Saisir l'adresse de la machine (valeur par defaut : $($conf.address))"
    if ($rep -ne "")
    {
        $conf.address = $rep
    }
     
    $rep = Read-Host -Prompt "Entrer le nom de la file d'impression (valeur par defaut : $($conf.name))"
    if ($rep -ne "")
    {
        $conf.name = $rep
    }
     
    # Sauvegarde la conf
    $conf | ConvertTo-Json | Set-Content -LiteralPath $fileconf -Encoding UTF8
     
     
    $driver = "Xerox GPD PS V5.759.5.0"
    $address_name = "Xerox_$address"
    $sleep = "3"
     
     
    if ( $conf.langage -ieq "PCL6" )
    {
        Invoke-Command {pnputil.exe -a "C:\Copieur_Instal\UNIV_5.759.5.0_PCL6_x64\UNIV_5.759.5.0_PCL6_x64_Driver.inf\x3UNIVX.inf" }
        Add-PrinterDriver -Name $driver
        Start-Sleep $sleep
        Add-PrinterPort -Name $address_name -PrinterHostAddress $conf.address -SNMP "1" -SNMPCommunity "public"
        start-sleep $sleep
        Add-Printer -DriverName $driver -Name $conf.name -PortName $address_name
        Start-Sleep $sleep 
    }

  5. #5
    Membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Février 2021
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Février 2021
    Messages : 9
    Par défaut
    Merci pour votre aide.
    Cela marche parfaitement.

    J'aurais juste une dernière question :
    Est-il possible de stocker plusieurs fichiers de conf, et pouvoir rappeler celui que je souhaite ?

  6. #6
    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
    Oui il n'y a pas de problème, comment souhaitez vous pourvoir rappeler celui que vous souhaitez ?

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 16/04/2008, 08h39
  2. créer un script avec plusieurs fonctions
    Par kimi33 dans le forum Oracle
    Réponses: 3
    Dernier message: 15/01/2008, 17h03
  3. Réponses: 2
    Dernier message: 15/12/2006, 14h22
  4. [Eclipse] [VE] Créer des menus avec les classes SWT de VE
    Par jbcorens dans le forum SWT/JFace
    Réponses: 3
    Dernier message: 30/08/2005, 12h25
  5. [Struts] Créer un id avec les <html:text ..>
    Par jak0 dans le forum Struts 1
    Réponses: 3
    Dernier message: 18/05/2005, 14h19

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