interactif
This commit is contained in:
@@ -0,0 +1,38 @@
|
||||
# Afficher la liste des imprimantes installées
|
||||
Write-Host "Imprimantes installees :"
|
||||
$installedPrinters = Get-WmiObject -Query "SELECT * FROM Win32_Printer" | Select-Object Name, DriverName, PortName | Sort-Object Name
|
||||
for ($i = 0; $i -lt $installedPrinters.Count; $i++) {
|
||||
Write-Host "$($i + 1). $($installedPrinters[$i].Name)"
|
||||
}
|
||||
|
||||
# Laisser l'utilisateur choisir les imprimantes à désinstaller (séparées par des virgules)
|
||||
$choices = Read-Host "Entrez le numero des imprimantes a desinstaller (separes par des virgules)"
|
||||
|
||||
$selectedChoices = $choices -split ","
|
||||
$successMessages = @()
|
||||
|
||||
foreach ($choice in $selectedChoices) {
|
||||
$choice = $choice.Trim()
|
||||
if ($choice -match '^\d+$' -and [int]$choice -ge 1 -and [int]$choice -le $installedPrinters.Count) {
|
||||
$selectedPrinter = $installedPrinters[[int]$choice - 1]
|
||||
|
||||
# Supprimer l'imprimante et son port associé
|
||||
Write-Host "Desinstallation de l'imprimante $($selectedPrinter.Name) en cours..." -ForegroundColor Yellow
|
||||
Get-WmiObject -Query "SELECT * FROM Win32_Printer WHERE Name = '$($selectedPrinter.Name)'" | ForEach-Object { $_.Delete() }
|
||||
Start-Sleep -Seconds 10
|
||||
Get-WmiObject -Query "SELECT * FROM Win32_TCPIPPrinterPort WHERE Name = '$($selectedPrinter.Name)'" | ForEach-Object { $_.Delete() }
|
||||
|
||||
# Ajouter un message de succès
|
||||
$successMessages += "L'imprimante $($selectedPrinter.Name) a ete desinstallee avec succes."
|
||||
} else {
|
||||
Write-Host "Choix invalide : $choice. Ignore." -ForegroundColor Red
|
||||
}
|
||||
}
|
||||
|
||||
# Afficher les messages de succès
|
||||
foreach ($message in $successMessages) {
|
||||
Write-Host $message -ForegroundColor Green
|
||||
}
|
||||
|
||||
# Pause de 3 secondes
|
||||
Start-Sleep -Seconds 3
|
||||
Reference in New Issue
Block a user