Script PowerShell pour l'audit des serveurs d'impression Windows 2003 et 2008 / R2 – Bien choisir son serveur d impression

Author: Titanfall —

Short summary: # @ ========================================== # @ Nom du script: Get-PrintServerAudit.ps1# @ Auteur: Praveenraj T# @ ==========================================# @# @# @# @ ========================================== #Définir le chemin de sortie et formater le fichier de sortie ici… $ outfilename = ”Entrez le chemin du fichier de sortie ici printlog ”+ (get-date -Format ddMMyyyHHmmss) +". csv "Write-Output “PrintServerName, PrintServerOs, Date, ID […]

Quick overview

Site
Tutos GameServer
Canonical URL
https://tutos-gameserver.fr/2019/07/21/script-powershell-pour-laudit-des-serveurs-dimpression-windows-2003-et-2008-r2-bien-choisir-son-serveur-d-impression/
LLM HTML version
https://tutos-gameserver.fr/2019/07/21/script-powershell-pour-laudit-des-serveurs-dimpression-windows-2003-et-2008-r2-bien-choisir-son-serveur-d-impression/llm
LLM JSON version
https://tutos-gameserver.fr/2019/07/21/script-powershell-pour-laudit-des-serveurs-dimpression-windows-2003-et-2008-r2-bien-choisir-son-serveur-d-impression/llm.json
Manifest
https://tutos-gameserver.fr/llm-endpoints-manifest.json
Estimated reading time
3 minutes (156 seconds)
Word count
519

Key points

Primary visual

Script PowerShell pour l'audit des serveurs d'impression Windows 2003 et 2008 / R2

 – Bien choisir son serveur d impression
Main illustration associated with the content.

Structured content

# @ ========================================== # @ Nom du script: Get-PrintServerAudit.ps1# @ Auteur: Praveenraj T# @ ==========================================# @# @# @# @ ========================================== #Définir le chemin de sortie et formater le fichier de sortie ici… $ outfilename = ”Entrez le chemin du fichier de sortie ici printlog ”+ (get-date -Format ddMMyyyHHmmss) +". csv "Write-Output “PrintServerName, PrintServerOs, Date, ID du travail d'impression, ID utilisateur, Nom du PC client, Nom de l'imprimante, Nom de la file d'attente, Nom du document, Taille du travail d'impression en octets, Nombre de pages pour une copie, Nombre de copies, Nombre total de pages” | Out-File $ outfilename -Encoding ASCII ################# La fonction GetStatusCode commence ici ################## Fonction GetStatusCode Param ([int] $ StatusCode)commutateur ($ StatusCode) 0 “succès”11001 «Tampon trop petit»11002 “Destination réseau inaccessible”11003 “Hôte de destination inaccessible”11004 “Protocole de destination inaccessible”11005 “Port inaccessible”11006 «Pas de ressources»11007 “Mauvaise option”11008 “Erreur matérielle”11009 «Paquet trop gros»11010 “Demande expirée”11011 «Requête incorrecte»11012 «Bad Route»11013 “Transit expiré par TimeToLive”11014 “Réassemblage TimeToLive expiré”11015 “Problème de paramètre”11016 “Source Quench”11017 “Option trop grosse”11018 «Mauvaise destination»11032 “IPSEC en négociation”11050 “Échec général”default “Failed” ############# Fonction GetStatusCode se termine ici ########################### ############# Get-windows2003serverprintlogs se termine ici ####################### Fonction Get-windows2003serverprintlogs sélectionnez Nom d'utilisateur, Heure générée, Message # Utilisez des expressions régulières pour obtenir des informations utilesforeach ($ éléments dans $ événements) # Si le nom d'utilisateur n'est pas videif ($ items.Username) out-file $ outfilename -Encoding ASCII -Append# $ TimeGenerated = $ UserName = $ DomainName = $ DocumentName = $ PrintQueue = $ Port = $ Size = $ Pages = $ null ############# Get-windows2003serverprintlogs se termine ici ####################### ############# Get-windows2008serverprintlogs commence ici ####################### Fonction Get-windows2008serverprintlogs $ starttime = (Get-Date) .Addhours (-1)$ osversion = Get-WmiObject -Class win32_operatingsystem -ComputerName $ server$ PrintEntries = Get-WinEvent -ComputerName $ server -FilterHashTable @ LogName = "Microsoft-Windows-PrintService / Operational"; ID = 307; Heure de début = $ heure de début$ PrintEntriesNumberofCopies = Get-WinEvent -ErrorAction SilentlyContinue -ComputerName $ server -FilterHashTable @ ProviderName = "Microsoft-Windows-PrintService"; StartTime = $ starttime; ID = 805 ForEach ($ PrintEntry in $ PrintEntries) Where-Object $ _. TimeCreated -le $ StartDate_Time -et $ _. TimeCreated -ge ($ StartDate_Time – (New-Timespan -second 5)) -et $ _. Message -eq "Rendu du travail $ PrintJobId."if ($ PrintEntryNumberofCopies) # récupérer les champs restants du contenu du journal des événements$ entry = [xml]$ PrintEntryNumberofCopies.ToXml ()$ NumberOfCopies = $ entry.Event.UserData.RenderJobDiag.Copies# certains pilotes d'imprimante défectueux signalent toujours 0 copie pour chaque travail d'impression; émettez un avertissement afin que cela puisse faire l'objet d'une enquête supplémentaire et définissez le nombre de copies égal à 1 dans ce cas, afin de deviner le nombre exact de copies # calculer le nombre total de pages pour le travail d'impression entier$ TotalPages = [int]$ PrintPagesOneCopy * [int]$ NumberOfCopies $ Output = $ PrintServername + “,” + $ PrintServerOS + “,” + $ StartDate_Time.ToString () + “,” + $ PrintJobId + “,” + $ UserName + “,” + $ ClientPCName + “,” + $ PrinterName + “,” + $ PrintQueueName + ”,` ”” + ($ DocumentName -replace “,”, “_”) + “` ”,” + $ PrintSizeBytes + “,” + $ PrintPagesOneCopy + “,” + $ NumberOfCopies + “,” + $ TotalPages$ output ############# Get-windows2008serverprintlogs se termine ici ################################### Exécution du script en appelant le nécessaire ######################### $ servers = Get-Content “E: Scripts CmdLine JOURNAL DES EVENEMENTS COMBINER SERVEUR D'IMPRESSION PrintServers.txt” foreach ($ serveur dans $ serveurs) $ pingStatus = Get-WmiObject -Query “Sélectionnez * dans win32_PingStatus où Address = '$ serveur'” if ($ pingStatus.StatusCode -eq 0) $ Status = GetStatusCode ($ pingStatus.StatusCode)write-host “Le serveur $ est accessible” $ osversion = Get-WmiObject -Class win32_operatingsystem -ComputerName $ serverif ($ osversion.caption -like “* serveur 2003 *”) Get-windows2003serverprintlogs autre Get-windows2008serverprintlogs autre $ Status = “Le serveur $ est inaccessible”$ status

####################### Script se termine ici ######################## ##

Comme ça: Comme Chargement…

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.