Question
Probleme d’imprimante par défaut sur TSE
- djinlemage
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 1
- Remerciements reçus 0
il y a 13 ans 3 mois #13436
par djinlemage
Probleme d’imprimante par défaut sur TSE a été créé par djinlemage
Bonjour,
Je débute en PS et rencontre un souci (qui peut paraître bête mais bon
)
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 ! Il s’agit d’un de nos clients.
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.
Apres bcp de recherche, je me suis rendu compte que le script ne différencie plus les imprimantes.
Le script récupéré l’imprimante par défaut de la session TSE (qui est la redirection de la session locale) puis allait chercher l’équivalent sur le serveur d’impression.
Maintenant, sur 2008, le script ne fait plus la différence entre l’imprimante locale et l’imprimante du serveur d’impression alors que quand je fais un « echo » sur le nom de l’imprimante, ils sont bien diffèrent.
J’ai même tenté de changer le nom de l’imprimante sur le serveur d’impression mais je crois comprendre que quand une redirection est récupérer depuis la session locale, la fonction VBS SetDefaultPrinter ne fonctionne pas.
Je teste donc ce type de fonction sous PowerShell qui me donne le même résultat.
Est-ce normal ?
PS : Techniquement, je sais ajouter l’imprimante en question depuis mon serveur mais je n’arrive pas à la passer par défaut.
Pouvez-vous m’aider ?
Ci-dessous le script VBS :
[code:1]
'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[/code:1]
Je débute en PS et rencontre un souci (qui peut paraître bête mais bon
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 ! Il s’agit d’un de nos clients.
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.
Apres bcp de recherche, je me suis rendu compte que le script ne différencie plus les imprimantes.
Le script récupéré l’imprimante par défaut de la session TSE (qui est la redirection de la session locale) puis allait chercher l’équivalent sur le serveur d’impression.
Maintenant, sur 2008, le script ne fait plus la différence entre l’imprimante locale et l’imprimante du serveur d’impression alors que quand je fais un « echo » sur le nom de l’imprimante, ils sont bien diffèrent.
J’ai même tenté de changer le nom de l’imprimante sur le serveur d’impression mais je crois comprendre que quand une redirection est récupérer depuis la session locale, la fonction VBS SetDefaultPrinter ne fonctionne pas.
Je teste donc ce type de fonction sous PowerShell qui me donne le même résultat.
Est-ce normal ?
PS : Techniquement, je sais ajouter l’imprimante en question depuis mon serveur mais je n’arrive pas à la passer par défaut.
Pouvez-vous m’aider ?
Ci-dessous le script VBS :
[code:1]
'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[/code:1]
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.034 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- Probleme d’imprimante par défaut sur TSE