Script côté client pour changer de serveur d'impression – le blog STONYWALL – Serveur d’impression
Author: Titanfall —
Short summary: Derek Bannard 4 avril 2017 Commentaire fermé Param ([parameter(Mandatory=$true,Position=0, HelpMessage="Old Server")] $ OldServer, [parameter(Mandatory=$true,Position=1, HelpMessage="New Server")] $ NewServer, [parameter(Mandatory=$true,Position=2, HelpMessage="Workstation Name")] $ ThisPC, [parameter(Mandatory=$true,Position=3, HelpMessage="Username")] $ ThisUser, [parameter(Mandatory=$true,Position=4, HelpMessage="Path to Log")] $ OutputLog) Clear-Host # Exemple de ligne de commande:. Run-PrintMigration.ps1 -ExecutionPolicy Unrestricted -command "& '\ domain.com scripts Run_PrintMigration.ps1' '\ oldserver' '\ newserver' '$ WkSta' […]
Quick overview
- Site
- Tutos GameServer
- Canonical URL
- https://tutos-gameserver.fr/2019/10/06/script-cote-client-pour-changer-de-serveur-dimpression-le-blog-stonywall-serveur-dimpression/
- LLM HTML version
- https://tutos-gameserver.fr/2019/10/06/script-cote-client-pour-changer-de-serveur-dimpression-le-blog-stonywall-serveur-dimpression/llm
- LLM JSON version
- https://tutos-gameserver.fr/2019/10/06/script-cote-client-pour-changer-de-serveur-dimpression-le-blog-stonywall-serveur-dimpression/llm.json
- Manifest
- https://tutos-gameserver.fr/llm-endpoints-manifest.json
- Estimated reading time
- 3 minutes (169 seconds)
- Word count
- 561
Key points
- Derek Bannard 4 avril 2017 Commentaire fermé Param ([parameter(Mandatory=$true,Position=0, HelpMessage="Old Server")] $ OldServer, [parameter(Mandatory=$true,Position=1, HelpMessage="New Server")] $ NewServer, [parameter(Mandatory=$true,Position=2, HelpMessage="Workstation Name")] $ ThisPC, [parameter(Mandatory=$true,Position=3, HelpMessage="Username")] $ ThisUser, [parameter(Mandatory=$true,Position=4, HelpMessage="Path to Log")] $ OutputLog) Clear-Host # Exemple de ligne de commande:.
- Run-PrintMigration.ps1 -ExecutionPolicy Unrestricted -command "& '\ domain.com scripts Run_PrintMigration.ps1' '\ oldserver' '\ newserver' '$ WkSta' '$ UserID '' \ domain.com logs $ '" # Cette procédure ajoute une nouvelle imprimante Fonction InstallNewPrinter Param ([string]$ currentPrinter, [string]$ newPrinter) $ Global: TextLog + = "++ Add:" + $ newPrinter #Ajouter une nouvelle imprimante $ global: net.AddWindowsPrinterConnection ($ newPrinter) #Ajouter l’imprimante actuelle à la liste TobeDeleted $ global: PrintersTobeDeleted + = $ currentPrinter # Cette procédure définit la nouvelle imprimante par défaut respectée.
- Fonction SetPrinterDefault Param ([string]$ defaultPrinter) #Si l'imprimante par défaut est la valeur par défaut, définissez la nouvelle comme imprimante par défaut $ global: net.SetDefaultPrinter ($ defaultPrinter) # Cette procédure supprime toutes les anciennes imprimantes remplacées par ce script.
- Fonction DeleteCurrentPrinters foreach ($ printerTodelete dans $ global: PrintersTobeDeleted) $ Global: TextLog + = "- Delete:" + $ printerTodelete $ global: net.RemovePrinterConnection ($ printerTodelete) # Définir le nom du serveur d'impression $ Printserver = "." # Décommentez l'utilisation de ces variables pour les nouveaux / anciens noms de serveur d'impression # $ newServer = "\ NEWPRINT" # $ oldServer = "\ OLDPRINT" $ Global: TextLog = @ () $ Imprimantes = @ () $ global: PrintersTobeDeleted = @ () $ OutputFile = $ OutputLog + $ ThisUser + "_" + $ ThisPC + "_" +[DateTime]:: Now.Year.ToString () +[DateTime]:: Now.Month.ToString () +[DateTime]:: Now.day.ToString () +[DateTime]:: Now.hour.ToString () +[DateTime]:: Now.Minute.ToString () +[DateTime]:: Now.Second.ToString () + ".txt" $ Global: TextLog + = "$ OldServer $ NewServer $ ThisPC $ ThisUser $ OutputLog" # Cette section identifiera toutes les imprimantes réseau installées sous le profil des utilisateurs connectés à l’aide de WMI.
Primary visual
Structured content
Derek Bannard 4 avril 2017 Commentaire fermé
Param ([parameter(Mandatory=$true,Position=0,
HelpMessage="Old Server")]
$ OldServer, [parameter(Mandatory=$true,Position=1,
HelpMessage="New Server")]
$ NewServer, [parameter(Mandatory=$true,Position=2,
HelpMessage="Workstation Name")]
$ ThisPC,
[parameter(Mandatory=$true,Position=3,
HelpMessage="Username")]
$ ThisUser, [parameter(Mandatory=$true,Position=4,
HelpMessage="Path to Log")]
$ OutputLog)
Clear-Host
# Exemple de ligne de commande:. Run-PrintMigration.ps1 -ExecutionPolicy Unrestricted -command "& '\ domain.com scripts Run_PrintMigration.ps1' '\ oldserver' '\ newserver' '$ WkSta' '$ UserID '' \ domain.com logs $ '"
# Cette procédure ajoute une nouvelle imprimante Fonction InstallNewPrinter Param ([string]$ currentPrinter, [string]$ newPrinter)
$ Global: TextLog + = "++ Add:" + $ newPrinter #Ajouter une nouvelle imprimante $ global: net.AddWindowsPrinterConnection ($ newPrinter)
#Ajouter l’imprimante actuelle à la liste TobeDeleted $ global: PrintersTobeDeleted + = $ currentPrinter
# Cette procédure définit la nouvelle imprimante par défaut respectée. Fonction SetPrinterDefault Param ([string]$ defaultPrinter)
#Si l'imprimante par défaut est la valeur par défaut, définissez la nouvelle comme imprimante par défaut $ global: net.SetDefaultPrinter ($ defaultPrinter)
# Cette procédure supprime toutes les anciennes imprimantes remplacées par ce script. Fonction DeleteCurrentPrinters foreach ($ printerTodelete dans $ global: PrintersTobeDeleted)
$ Global: TextLog + = "- Delete:" + $ printerTodelete
$ global: net.RemovePrinterConnection ($ printerTodelete)
# Définir le nom du serveur d'impression $ Printserver = "."
# Décommentez l'utilisation de ces variables pour les nouveaux / anciens noms de serveur d'impression # $ newServer = "\ NEWPRINT" # $ oldServer = "\ OLDPRINT"
$ Global: TextLog = @ () $ Imprimantes = @ () $ global: PrintersTobeDeleted = @ ()
$ OutputFile = $ OutputLog + $ ThisUser + "_" + $ ThisPC + "_" +[DateTime]:: Now.Year.ToString () +[DateTime]:: Now.Month.ToString () +[DateTime]:: Now.day.ToString () +[DateTime]:: Now.hour.ToString () +[DateTime]:: Now.Minute.ToString () +[DateTime]:: Now.Second.ToString () + ".txt"
$ Global: TextLog + = "$ OldServer $ NewServer $ ThisPC $ ThisUser $ OutputLog"
# Cette section identifiera toutes les imprimantes réseau installées sous le profil des utilisateurs connectés à l’aide de WMI. $ Printers = Get-WMIObject Win32_Printer -nom_ordinateur $ Printserver -Filter "Network = True" if ($ Imprimantes) { # Ceci est un tableau vierge pour stocker l’imprimante réseau installée sous le profil des utilisateurs connectés et le transmettre. $ PrintersTobeDeleted = @ () $ newPrinter = "" $ defaultPrinter = "" $ Global: TextLog + = "Log Start" # Obtenir un objet réseau $ global: net = new-Object -com WScript.Network
foreach ($ Imprimante dans $ Imprimantes) { #Check pour voir si c'est une imprimante connectée à l'ancien serveur if ($ Printer.SystemName - like "$ oldServer *")
#Une vérification pour savoir s'il faut ajouter une nouvelle imprimante $ AddNewPrinter = $ true
#Check pour voir si l'imprimante existe aussi dans le nouveau serveur Foreach ($ comparePrinter in $ Printers)
If (($ Printer.shareName -eq $ comparePrinter.shareName) -et ($ comparePrinter.SystemName -like "$ newServer *"))
#Retirer l'ancienne imprimante en ajoutant l'imprimante actuelle à la liste TobeDeleted $ global: PrintersTobeDeleted + = $ Printer.Name
# La nouvelle imprimante a déjà été créée, pas besoin d’en ajouter une autre. $ AddNewPrinter = $ false
#Si la nouvelle imprimante n'existe pas, créez-en une nouvelle if ($ AddNewPrinter) commutateur ($ Printer.ShareName)
"OLDPRN01" $ newPrinter = $ newServer + " NEWPRN01" "OLDPRN02" $ newPrinter = $ newServer + " NEWPRN02" "OLDPRN03" $ newPrinter = $ newServer + " NEWPRN03" "OLDPRN04" $ newPrinter = $ newServer + " NEWPRN04" default $ newPrinter = $ newServer + "" + $ Printer.Sharename
if ($ Printer.Default)
$ defaultPrinter = $ newPrinter
InstallNewPrinter $ Printer.Name $ newPrinter $ newPrinter = ""
Autre
$ Global: TextLog + = ".. NO Change:" + $ Printer.Name
if ($ defaultPrinter -ne "")
SetPrinterDefault $ defaultPrinter
}
DeleteCurrentPrinters $ Global: TextLog + = "Log End" # Écriture-sortie $ Global: TextLog # Write-Output $ OutputFile $ Global: TextLog | Fichier de sortie $ OutputFile }
Click to rate this post! [Total: 0 Average: 0]
Topics and keywords
Themes: Serveur d'impression
License & attribution
License: CC BY-ND 4.0.
Attribution required: yes.
Manifest: https://tutos-gameserver.fr/llm-endpoints-manifest.json
LLM Endpoints plugin version 1.1.2.