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

VBScript Discussion :

SetDefaultPrinter sous TSE 2008 avec redirection imprimante Local


Sujet :

VBScript

  1. #1
    Membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Avril 2009
    Messages
    129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Avril 2009
    Messages : 129
    Points : 69
    Points
    69
    Par défaut SetDefaultPrinter sous TSE 2008 avec redirection imprimante Local
    Bonjour et bonne fêtes à tous !!!!

    Je me permets de vous consulter car je rencontre un problème au niveau de sélection d’imprimante.

    Ma problématique se trouve chez un de mes clients qui vient de passer sous TSE 2008 Serveur.

    J’ai un contrôleur de domaine avec prêt de 800 utilisateurs qui se trouvent tous dans une même OU
    Ce n’est pas moi ai choisi !
    Ces mêmes utilisateurs sont sur des sites différents avec chaque site plusieurs étages.
    Chaque utilisateur se connecte à une session TSE.
    Lors des connexions TSE, l’imprimante locale est remontée dans la session TSE

    J’ai un serveur d’impression avec tous les copieurs et les pilotes d’impressions.

    Ma problématique est simple :
    Je cherche à utiliser l’imprimante locale pour identifier quel imprimante du serveur d’impression doit être défini comme impression par défaut. (Encore une fois pas le choix, le client n’a aucune autre manière d’identifier le lieu.)

    Il y a encore quelques semaines, le serveur TSE était sous 2003 serveur. Et un script de ma composition fonctionnait très bien.
    Depuis que le client a passé ce serveur TSE en 2008, le script VBS ne fonctionne plus.

    Le script récupéré l’imprimante par défaut de la session TSE (qui est la redirection de l’imprimante de la session locale) puis allait chercher l’équivalent sur le serveur d’impression.

    Maintenant, sur 2008, le script installe bien mon imprimante mais refuse de la passer par défaut.
    La fonction VBS SetDefaultPrinter ne fonctionne pas.

    J’ai testé autre chose :
    Quand, lors de la connexion à TSE, l’imprimante local n’est pas récupéré, le SetDefaultPrinter fonctionne bien.

    Est-ce normal ?
    Pouvez-vous m’aider ?

    Ci-dessous le script VBS :

    Code : 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
     
    'instance WNetwork
    Set wshNetwork = WScript.CreateObject("WScript.Network")
     
    NomMachine = WshNetwork.ComputerName
     
    If NomMachine = "PC-DMEXIS" then
     
        'Recuperation des imprimantes
        strComputer = "."
        On Error Resume Next
        Set objWMIService = GetObject("winmgmts:" _
        & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
        Set colInstalledPrinters = objWMIService.ExecQuery _
        ("Select * from Win32_Printer")
     
        For Each objPrinter in colInstalledPrinters
     
            'si imp est par defaut
            If objPrinter.Default = True Then
                NomImpDef=objprinter.Name
     
                'expression reguliere
                set Modele = new RegExp
     
                'modele de recherche
                Modele.pattern=".*\("
                'application du modele
                Set correspondances = Modele.execute(NomImpDef)
     
                If correspondances.count<>0 Then
     
                    For i=0 To correspondances.count-1
                        'suppression des 2 dernier caractere
                        NewNomImp = Left(correspondances(i),Len(correspondances(i))-2)
                    Next
                End if
     
                'ajout de l'imp
                wshNetwork.addWindowsPrinterConnection "\\SERVEUR-TESTIMP.DOMAINETEST.LOCAL\" & NewNomImp
                'imp par defaut
                wshNetwork.setdefaultprinter "\\SERVEUR-TESTIMP.DOMAINETEST.LOCAL\" & NewNomImp
     
            Else
     
            End If
     
        Next
     
        Else
     
        wscript.echo "Pas sur TSE"
     
    End If
    KoRnicoti KoRnicota

    Mon site Starcraft II : tripsc2.lpdd.fr
    Ma mémoire wink : www.lpdd.fr

    Vous chercher de l'aide ?
    Ils sont au top --> http://chat.developpez.com/

  2. #2
    Membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Avril 2009
    Messages
    129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Avril 2009
    Messages : 129
    Points : 69
    Points
    69
    Par défaut
    Bonjour de nouveau

    J'ai trouvé comment faire !!
    Voici le script :

    Code : 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
     
    Set wshNetwork = WScript.CreateObject("WScript.Network")
     
    CheminServeurImp = "\\WIN-TM8OTUTU8GN\"
    NomMachine = WshNetwork.ComputerName
     
    'Si sur TSE
    If NomMachine = "2008TSETEST" or NomMachine = "TS1" or NomMachine = "TS2" or NomMachine = "TS3" or NomMachine = "VAPPLIS8" or NomMachine = "VTS1" or NomMachine = "VTS2" then
     
    	'WScript.Sleep 30000
    	'recuperation des imprimantes
    	strComputer = "."
    	On Error Resume Next
    	Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
    	Set colInstalledPrinters = objWMIService.ExecQuery ("Select * from Win32_Printer")
     
    	'Si imp par defaut
    	For Each objPrinter in colInstalledPrinters
    		If objPrinter.Default = True Then
    			NomImpDef=objprinter.Name
    			'exp reguliere pour formatage du nom
    			set Modele = new RegExp
    			Modele.pattern=".*\("
    			Set correspondances = Modele.execute(NomImpDef)
     
    			'si imp par defaut
    			If correspondances.count<>0 Then
    				For i=0 To correspondances.count-1
    					'application du modele d'expression reguliere
    					NewNomImp = Left(correspondances(i),Len(correspondances(i))-2)
    				Next
    			End if
     
    			'ajout de l'imp correspondant
    			wshNetwork.addWindowsPrinterConnection CheminServeurImp & NewNomImp
    			'passage en par defaut
    			Set ObjWShell = WScript.CreateObject("WScript.shell")
    			VarProg = "cscript c:\Windows\System32\Printing_Admin_Scripts\fr-FR\prnmngr.vbs -t -p "
    			VarImp = """" & CheminServeurImp & NewNomImp & """"
    			ObjWShell.run  VarProg & VarImp
    		End If
     
    	Next
     
    End If
    Comme vous pouvez le voir, je me suis appuyé sur le prnmngr.vbs fourni par Windows.

    Par contre pour mon information personnelle, quelqu'un pourrai m'expliqué pourquoi leurs SetDefaultPrinter fonction et pas le mien ?
    En analysant le vbs de Windows, il est passé en paramètre un login et user.
    Est ce ça ?

    PS : Je le passe pas en résolu pour avoir l'information
    KoRnicoti KoRnicota

    Mon site Starcraft II : tripsc2.lpdd.fr
    Ma mémoire wink : www.lpdd.fr

    Vous chercher de l'aide ?
    Ils sont au top --> http://chat.developpez.com/

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [WS 2008] Redirection Imprimante locale sur une session bureau à distance
    Par agrimault dans le forum Windows Serveur
    Réponses: 7
    Dernier message: 30/07/2014, 15h10
  2. Réponses: 0
    Dernier message: 25/11/2010, 10h36
  3. Restriction des applications visibles sous TSE 2008
    Par muppetshow dans le forum Windows Serveur
    Réponses: 0
    Dernier message: 20/05/2010, 17h31
  4. [WS 2008] PB ressources locale sous TSE 2008
    Par yves76 dans le forum Windows Serveur
    Réponses: 1
    Dernier message: 07/10/2009, 08h04
  5. [Win 2003]Imprimante Locale Tse
    Par yussuf dans le forum Windows Serveur
    Réponses: 17
    Dernier message: 21/03/2007, 09h55

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