locked
TSE RDP et mappage imprimantes RRS feed

  • Question

  • Bonjour, je dispose d'un serveur TSE 2003 Enterprise avec lequel j'ai un petit soucis.
    J'utilise le mappage des imprimantes locales qui se fait sans soucis. Mon hic viens au niveau de l'imprimante mappée dans la session TSe.
    Je m'explique, l'imprimante est bien là, avec certaines applications ça fonctionne sans soucis, mais avec d'autres les imprimantes sons invisible et le soft se plaint de ne pas avoir d'imprimante installée ( exemple adobe reader ). Si je regarde dans les droits de l'imprimante mappée je vois que mon utilisateur courant ne dispose pas des droits de gestion de l'imprimante. Ce droit semble requis pour que certaines applications puissent accéder aux imprimantes ( en faisant le test en changeant les droit dans la session ça fonctionne. Evidement la modif n'est pas sauvegardée à la fermeture de session. )

    Je cherche donc le saint graal qui permettra de définir cette autorisation pour toutes les imprimantes qui seront connectées.

    ( En gros j'ai 20 utilisateurs disposant tous d'une imprimante locale qu'ils doivent absolument utiliser ( état civil dans une mairie ) . Ces utilisateurs font partis d'un groupe X et si je donne les droits de gestion à X tout est Ok jusqu'a la fermeture de session. Comment rendre ces droits permanents? Vus que ces utilisateurs change de poste physique chaque jour ( pas de machine attitrée ) je ne peux pas me permettre de scripter la connexion d'une imprimante qui ne serait alor splus spécifique à la machine où travail l'agent. )

    Merci des réponses à venir.
    • Déplacé Siddharth Chavan jeudi 4 février 2010 07:07 Forums Consolidation (Origine :Windows Server 2003 – Terminal Services)
    vendredi 16 mars 2007 16:18

Toutes les réponses

  • Bonsoir,

    A ma connaissance, il n'est pas possible de conserver tout ce qui est paramétrage de sécurité sur les imprimantes redirigés ...

    Il va donc falloir trouver une solution en mettant les imprimantes sur le réseau (boitier par exemple), en les partageant sur un serveur d'impression ...

    Ensuite il faut faire un script de connexion du type :

    if %clientname% == poste1

    net use LPTx: \\srv\imp1

    goto fin

    if %clientname% == poste2

    net use LPTx: \\srv\imp2

    goto fin

    fin:

    ça doit fonctionner

     

    vendredi 16 mars 2007 21:07
  • Bon merci de la réponse, je me susi donc tourné vers un script vbs qui me permet d'identifier les imprimantes partagées sur la machine locale et de les mapper.
    Mais j'ai un soucis au niveau de WMI lorsque je tente de récuperer la liste d'imprimante sur la machine cliente, je me prend une erreur permission refusée ( pas le même utilisateur donc pas les droits )...

    Comment faire pour pouvoir lire les objets wmi d'une machine distante ? ( donner les droits sur wmi via gpo ?? comment faire? autre solution ?? )

    voici le script

    'map_tse_printers
    'identification de la session tse ou locale

    Dim Sh, Clientname, Computername
    Set Sh = CreateObject("WScript.Shell")
    Set Net = WScript.CreateObject("WScript.Network")
    ClientName = Sh.ExpandEnvironmentStrings("%ClientName%")
    ComputerName = Sh.ExpandEnvironmentStrings("%ComputerName%")

    WScript.Echo "computer "&ComputerName
    WScript.Echo "client "&ClientName

    If (Clientname <> "%clientname%") And (Clientname <> Computername) Then
        'Session TSE OK
        IsTSSession = True
    Else
        'Session TSE NOK
        IsTSSession = False
    End If

    WScript.Echo "tse is "&istssession

    'listage et mappage des imprimantes
    If IsTSSEssion Then
       
        'listage imprimante
        'on error resume next
        Set PrinterSet = GetObject("winmgmts:{impersonationLevel=impersonate}!//" & ClientName & "/root/cimv2").ExecQuery("SELECT * FROM Win32_Printer")
        If err.number <> 0 Then
            wscript.echo "Erreur : " & err.description
            wscript.quit
        End If
       
        num = 0
            WScript.Echo "avant boucle"
        For Each Printer in PrinterSet
            'connexion des imprimantes
            WScript.Echo "boucle"
            num = num+1
            WScript.Echo "num = "&num
            If Printer.Sharename <> "" Then
                wscript.echo " Partage : " & "\\"&computername&"\"&Printer.Sharename
                Net.AddPrinterConnection "LPT" & num, "\\" & Computername & "\" & Printer.Sharename, FALSE
            End If   
        Next

    End If
    lundi 19 mars 2007 11:49
  • Bonsoir,

    La personne qui ouvre la session TS n'est pas la même que celle qui ouvre la session sur le poste en local ?

    Si c'est le même compte, ce compte est il admin local du poste client ?

     

    jeudi 22 mars 2007 20:17
  • Bon effectiviement il ne sagit pas du même utilisateur, le problème de permissions est reglé via l'ajout du groupe d'utilisateurs TSE dans le sutilisateurs avec pouvoirs de la machines.

    Je me heurte à un nouveau problème c'est que au niveau du moniker winmgmts de temps en temps je me prends un "cette connexion reseau n'existe pas" alors que si ... puisque je peux pinger/dns/netbios/ip et mapper a la main les imprimante. De plus avec un Echo l'erreur viens bien du winmgmts et là je bute car apre sun reboot serveur ça ne fonctionne pas jusqu'à, apparement je connecte une imprimante manuellement, ensuite reboot de la session et la le script fonctionne à merveille chez tous les utilisateurs... je suis largué !
    jeudi 29 mars 2007 10:25