IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Scripts/Batch Discussion :

Compteurs imprimantes Réseaux / USB


Sujet :

Scripts/Batch

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Technicien de proximité
    Inscrit en
    Décembre 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Technicien de proximité
    Secteur : Service public

    Informations forums :
    Inscription : Décembre 2014
    Messages : 7
    Points : 5
    Points
    5
    Par défaut Compteurs imprimantes Réseaux / USB
    Bonjour,

    Je sors à peine de formation powershell et j'aurais besoin de votre aide pour faire un script qui récupère les compteurs des imprimantes USB et Réseaux. Il existe déjà plusieurs outils pour faire cela mais mon script l'automatiserait, la personne qui va l'utiliser est un non informaticien et je souhaite pas lui faire sa requête chaque mois ^^

    Pour cela, je voulais attaquer notre DNS ou DHCP mais comme nous sommes centralisés ... nous n'avons plus les droits pour y accéder .... j'ai donc pensé à lister les imprimantes recensés dans l'AD pour ensuite récupérer l'adresse IP de chaque imprimante via un get-wmiobject sur les classes Win32_printer et TCPIPPrinterPort ( comparer les port afin de retrouver l'adresse ip de chaque imprimante ) mais vu le nombre le script met énormément de temps car les 2 get-wmiobject étaient réalisés par imprimantes.

    J'ai donc pensé à faire l'inverse, j'ai listé tous les serveurs/stations d'impressions ( purgé grâce au get-unique ) puis j'ai lancé une seul fois les 2 get-wmiobject sur chaque serveur/station d'impression, puis je cherche à comparaitre les valeurs des 2 résultats afin de retrouver les ip des imprimantes.

    Je cherche donc à attaquer les imprimante USB, pour l'instant je fais un message, en attendant la solution.

    Write-Host "Sur le Serveur " $srv "l'imprimante " $IMP.Name " est en USB"

    Voici ce que j'ai commencé à scripter :


    Code powershell : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    $listprint = ""
    $list = ""
    $serveur = ""
    $listserveur = @()
     
    ##### Liste des Imprimantes AD ####
     
    $listprint = Get-ADObject -Filter {objectclass -like "printQueue"} | sort Name -Descending
    $listprint = $listprint.Name
     
     
    ##### Liste des serveurs/stations d'impression ####
     
    ForEach ($printer in $listprint){
     
    $debut = 0
    $milieu = $printer.IndexOf("-")
    $fin = ($printer.Length) - ($milieu+1)
     
    $serveur = $printer.Substring($debut,($milieu))
    $nom = $printer.Substring(($milieu+1),$fin)
     
    $listserveur = $listserveur + $printer.Substring($debut,($milieu))
    $listserveurU = $listserveur | Get-Unique
     
    }
     
     
    ##### Test si Reseau ou USB #####
     
    Foreach ($srv in $listserveurU){
     
    $srv = $srv.ToUpper()
     
        If ($srv.StartsWith("S")){
     
    ##### Récupération du imprimante/port et port/ip #####
     
        $PortsIMP = Get-WmiObject -Class Win32_Printer -ComputerName $srv | sort Name,Portname 
        $PortsIP = Get-WmiObject -Class Win32_TCPIPPrinterPort -ComputerName $srv | sort Name,Hostaddress
     
    ##### Association imprimante/ip #####
     
            Foreach($IMP in $PortsIMP){
                ForEach($IPs in $PortsIP){
     
                    if ($IMP.portname -eq $IPs.Name){
                    $IP=""
                    $IP= $IPs.hostaddress
     
    ##### Test si l'imprimante est allumé #####
     
                        If (Test-Connection $IP -quiet) {
     
    ##### Récupération Compteur #####
     
                    $SNMP = new-object -ComObject olePrn.OleSNMP
                    $SNMP.open($IP,"public",2,3000)
     
                    Write-Host "Sur le Serveur " $srv  "l'imprimante " $IMP.Name ", port " $IMP.portname " soit " $IPs.Name " a pour adresse ip " $IPs.hostaddress ", Compteur : "$snmp.Get(".1.3.6.1.2.1.43.10.2.1.4.1.1")
                        }else{
                    Write-Host "Sur le Serveur " $srv  "l'imprimante " $IMP.Name " Ping KO, l'imprimante doit être éteinte"
                    }
     
                }
     
            }
     
        }
     
    }else{
     
        Write-Host "Sur le Serveur " $srv  "l'imprimante " $IMP.Name " est en USB"
     
        }
    }

    En tout cas, je vous remercie d'avance de votre aide

  2. #2
    Futur Membre du Club
    Homme Profil pro
    Technicien de proximité
    Inscrit en
    Décembre 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Technicien de proximité
    Secteur : Service public

    Informations forums :
    Inscription : Décembre 2014
    Messages : 7
    Points : 5
    Points
    5
    Par défaut
    Quelqu'un aurait une petite idée ?

Discussions similaires

  1. Generic text et imprimante en USB
    Par waspy59 dans le forum VB.NET
    Réponses: 2
    Dernier message: 21/10/2008, 01h04
  2. Réponses: 2
    Dernier message: 19/02/2008, 09h28
  3. Arrêt imprimante sur USB
    Par Foromus dans le forum Périphériques
    Réponses: 4
    Dernier message: 11/10/2006, 13h01
  4. Installation imprimante réseaux /xp pro
    Par jcaspar dans le forum Windows Serveur
    Réponses: 3
    Dernier message: 03/09/2006, 23h59
  5. Configuration d'une imprimante réseaux accessible de l'ext
    Par Tartenpion dans le forum Développement
    Réponses: 1
    Dernier message: 20/03/2005, 21h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo