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

Primary visual

Script côté client pour changer de serveur d'impression – le blog STONYWALL

 – Serveur d’impression
Main illustration associated with the content.

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.