Question
installation et automatisation d'imprimantes
- lagon
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 2
- Remerciements reçus 0
il y a 8 mois 4 semaines #32913
par lagon
installation et automatisation d'imprimantes a été créé par lagon
Bonjour,
Je suis vraiment débutant sur PowerShell. J'ai créé ce script avec bcp d'aide mais malheureusement il ne fonctionne pas.
Mon objectif serait d'automatiser l'installation d'imprimantes d'un parc informatique.
Pour le moment, j'essai de faire fonctionner mon script "juste" avec le 1er choix (si j'arrive à faire fonctionner le 1er choix (Imprimante Brother), je pourrais ensuite faire le nécessaire sur les choix suivants).
Je cherche à faire fonctionner ce script sous PowerShell mais j'ai plusieurs soucis.
1er souci : j'aimerai qu'il test avant l'installation de l'imprimante si l'imprimante n'est pas déjà installé. La vérification ne se fait pas.
2eme souci : j'ai l'erreur suivante lors de l'installation de l'imprimante : Le jeu de paramètres ne peut pas être résolu à l'aide des paramètres nommés spécifiés.
Je pense que le 2eme souci se situe sur ma ligne de commande add-printer mais je n'arrive pas à voir ou exactement.
Je suis vraiment débutant sur PowerShell...du coup, si une personne comprends mes erreurs, je veux bien qu'il m'explique le problème...
Merci d'avance.
Voici mon script :
Je suis vraiment débutant sur PowerShell. J'ai créé ce script avec bcp d'aide mais malheureusement il ne fonctionne pas.
Mon objectif serait d'automatiser l'installation d'imprimantes d'un parc informatique.
Pour le moment, j'essai de faire fonctionner mon script "juste" avec le 1er choix (si j'arrive à faire fonctionner le 1er choix (Imprimante Brother), je pourrais ensuite faire le nécessaire sur les choix suivants).
Je cherche à faire fonctionner ce script sous PowerShell mais j'ai plusieurs soucis.
1er souci : j'aimerai qu'il test avant l'installation de l'imprimante si l'imprimante n'est pas déjà installé. La vérification ne se fait pas.
2eme souci : j'ai l'erreur suivante lors de l'installation de l'imprimante : Le jeu de paramètres ne peut pas être résolu à l'aide des paramètres nommés spécifiés.
Je pense que le 2eme souci se situe sur ma ligne de commande add-printer mais je n'arrive pas à voir ou exactement.
Je suis vraiment débutant sur PowerShell...du coup, si une personne comprends mes erreurs, je veux bien qu'il m'explique le problème...
Merci d'avance.
Voici mon script :
# Demande le type d'imprimante à installer
$printerType = Read-Host -Prompt "Choisissez le type d'imprimante à installer :
1. Imprimante BROTHER
2. Imprimante jet d'encre
3. Imprimante multifonction
Entrez le numéro de votre choix "
# Initialise la variable qui indique si l'entrée de l'utilisateur est valide à False
$inputIsValidIP = $False
# Boucle jusqu'à ce que l'entrée de l'utilisateur soit valide
while ($inputIsValidIP -eq $False) {
# Demande à l'utilisateur d'entrer l'adresse IP
$ipAddress = Read-Host -Prompt "Entrez l'adresse IP "
# Vérifie si l'adresse IP entrée correspond au format d'une adresse IP valide
if ($ipAddress -match "^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$") {
# Si l'adresse IP est valide, affiche un message de confirmation
$inputIsValidIP = $True
}
else {
# Si l'adresse IP n'est pas valide, affiche un message d'erreur et recommence la boucle
Write-Host "Adresse IP non valide. Veuillez entrer une adresse IP valide."
}
}
# Affiche un message de confirmation une fois que l'entrée de l'utilisateur est valide
Write-Host "Adresse IP valide"
# Initialise la variable qui indique si l'entrée de l'utilisateur est valide à False
$inputIsValidNom = $False
# Boucle jusqu'à ce que l'entrée de l'utilisateur soit valide
while ($inputIsValidNom -eq $False) {
# Demande à l'utilisateur d'entrer le nom de l'imprimante
$printerName = Read-Host -Prompt "Entrez le nom de l'imprimante "
# Vérifie si le nom de l'imprimante correspond au format d'un nom valide
if ($printerName -match "^[a-zA-Z0-9]+$") {
# Si le nom d'imprimante est valide, affiche un message de confirmation
$inputIsValidNom = $True
}
else {
# Si le nom d'imprimante n'est pas valide, affiche un message d'erreur et recommence la boucle
Write-Host "Nom d'imprimante non valide. Veuillez entrer un nom valide."
}
}
# Importe le module d'installation de périphérique
Import-Module PrintManagement
# Selon le type d'imprimante choisi, essaie d'installer l'imprimante en utilisant le pilote approprié
# Récupère les noms des imprimantes locales
$localPrinters = Get-Printer | Select-Object -ExpandProperty Name
# Vérifie si l'imprimante est déjà présente parmi les imprimantes locales
if ($localPrinters -contains "$printerName") {
# Si l'imprimante est déjà présente, affiche un message d'erreur
Write-Host "L'imprimante $printerName est déjà présente sur le système."
}
else {
# Si l'imprimante n'est pas déjà présente, continue l'installation
try {
if ($printerType -eq "1") {
Add-Printer -ConnectionName "\\$ipAddress" -Name "$printerName" -DriverName "C:\Temp\TestTemp\BRPRI16A.INF"
}
elseif ($printerType -eq "2") {
Add-Printer -ConnectionName "\\$ipAddress" -Name $printerName -DriverName "driver_inkjet"
}
elseif ($printerType -eq "3") {
Add-Printer -ConnectionName "\\$ipAddress" -Name $printerName -DriverName "driver_multifunction"
}
Set-Printer -Name $printerName -AsDefault $true
Write-Host "Installation de l'imprimante réussie !"
}
# Si l'installation échoue, affiche un message d'erreur
catch {
Write-Host "Erreur lors de l'installation de l'imprimante : $($_.Exception.Message)"
}
}
Connexion ou Créer un compte pour participer à la conversation.
- rhiwotar
- Hors Ligne
- Membre premium
-
Réduire
Plus d'informations
- Messages : 96
- Remerciements reçus 1
il y a 8 mois 4 semaines #32915
par rhiwotar
Réponse de rhiwotar sur le sujet installation et automatisation d'imprimantes
Bonjour,
Je ne te serais pas d'une grande aide car j'ai toujours pas réussi et finalement abandonné le projet mais je suis intéressé par la réponse si elle apparait
Au cas ou, je te donne une partie du script que j'avais fait, la partie qui coince pour moi, c'est le driver
Je ne te serais pas d'une grande aide car j'ai toujours pas réussi et finalement abandonné le projet mais je suis intéressé par la réponse si elle apparait
Au cas ou, je te donne une partie du script que j'avais fait, la partie qui coince pour moi, c'est le driver
$printer= "Nom_IMP"
$port = "10.20.30.40"
$driver = "Canon iR-ADV C5045/5051 PCL6"
$inf = "\\Serveur\Drivers Imprimantes\canon ir C5051\Driver\Cnp60MA64.INF"
if(-not(Get-PrinterDriver $driver -ErrorAction SilentlyContinue)){
pnputil.exe /a /i $inf
Add-PrinterDriver -Name $driver -InfPath $inf
}
if(-not(Get-PrinterPort -Name $port -ErrorAction SilentlyContinue)){
Add-PrinterPort -Name $port -PrinterHostAddress $port
}
if(-not(Get-Printer -name $printer -ErrorAction SilentlyContinue)){
Add-Printer -DriverName $driver -Name $printer -PortName $port
}
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.040 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- installation et automatisation d'imprimantes