Question
map printer clientname
- jarry
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 2
- Remerciements reçus 0
il y a 12 ans 11 mois #14515
par jarry
map printer clientname a été créé par jarry
bonjour à tous,
voila je souhaite mapper une imprimante par défaut sous RDS j'ai créer un groupe dans lequel je retrouve les pcs qui doivent avoir l'imprimante par défaut.
exemple: imprimante imp-test
group: imp_test dans lequel il y a des pcs
lorsque je me connecte en rds je souhaite retrouver cette imprimante.
idée: récupérer la valeur de %clientname% et voir si elle est membre du groupe.
j'ai trouvé cela:
Import-Module PSTerminalServices
$result = Get-TSSession -Filter {$_.Username -like [Environment]::Username} | Select-Object ClientName -expandproperty ClientName
$printServer = \"\\printerserver\\"
if ($result.contains('IEC')) {
$printer = New-Object -ComObject WScript.Network
$printer.AddWindowsPrinterConnection($printServer + \"printername\")
$printer.SetDefaultPrinter($printServer + \"printername\")
et ceci
function GetLdapPath ($mymachine) {
$dom = [ADSI]\"LDAP://OU=Computers,DC=domain,DC=local\"
$filter = \"(&(cn=\"+ $mymachine +\"))\"
$ds = new-object System.DirectoryServices.DirectorySearcher($dom,$filter)
$result = $ds.Findall()
$myreturn = $result.get_Item(0).Path
return $myreturn
}
function GetGroups ($mymachine) {
$mygroup = @()
$Machines = [ADSI](\"\"+(GetLdapPath($mymachine))+\"\")
$Groups = $Machines.memberOf
foreach($group in $groups){
$strGroup = $group.split(',')[0]
$ThisGroup = $strGroup.split('=')[1]
$mygroup += $ThisGroup
}
return $mygroup
}
function MapPrinters ($printers) {
$first = 0
foreach ($printer in $printers) {
$PrinterPath = \"\\PrintSVR001\$printer\"
$net = new-Object -com WScript.Network
$net.AddWindowsPrinterConnection($PrinterPath)
if ($first -eq 0) {
$net.SetDefaultPrinter($PrinterPath)
}
$first += 1
}
}
avez vous une idée pour l'adapter à mon cas merci pour votre aide
voila je souhaite mapper une imprimante par défaut sous RDS j'ai créer un groupe dans lequel je retrouve les pcs qui doivent avoir l'imprimante par défaut.
exemple: imprimante imp-test
group: imp_test dans lequel il y a des pcs
lorsque je me connecte en rds je souhaite retrouver cette imprimante.
idée: récupérer la valeur de %clientname% et voir si elle est membre du groupe.
j'ai trouvé cela:
Import-Module PSTerminalServices
$result = Get-TSSession -Filter {$_.Username -like [Environment]::Username} | Select-Object ClientName -expandproperty ClientName
$printServer = \"\\printerserver\\"
if ($result.contains('IEC')) {
$printer = New-Object -ComObject WScript.Network
$printer.AddWindowsPrinterConnection($printServer + \"printername\")
$printer.SetDefaultPrinter($printServer + \"printername\")
et ceci
function GetLdapPath ($mymachine) {
$dom = [ADSI]\"LDAP://OU=Computers,DC=domain,DC=local\"
$filter = \"(&(cn=\"+ $mymachine +\"))\"
$ds = new-object System.DirectoryServices.DirectorySearcher($dom,$filter)
$result = $ds.Findall()
$myreturn = $result.get_Item(0).Path
return $myreturn
}
function GetGroups ($mymachine) {
$mygroup = @()
$Machines = [ADSI](\"\"+(GetLdapPath($mymachine))+\"\")
$Groups = $Machines.memberOf
foreach($group in $groups){
$strGroup = $group.split(',')[0]
$ThisGroup = $strGroup.split('=')[1]
$mygroup += $ThisGroup
}
return $mygroup
}
function MapPrinters ($printers) {
$first = 0
foreach ($printer in $printers) {
$PrinterPath = \"\\PrintSVR001\$printer\"
$net = new-Object -com WScript.Network
$net.AddWindowsPrinterConnection($PrinterPath)
if ($first -eq 0) {
$net.SetDefaultPrinter($PrinterPath)
}
$first += 1
}
}
avez vous une idée pour l'adapter à mon cas merci pour votre aide
Connexion ou Créer un compte pour participer à la conversation.
- COTTIN
- Hors Ligne
- Membre premium
-
Réduire
Plus d'informations
- Messages : 84
- Remerciements reçus 0
il y a 12 ans 11 mois #14520
par COTTIN
Réponse de COTTIN sur le sujet Re:map printer clientname
Sur ton AD c'est par PC qu'il faut la mapper mais par Utilisateurs.
Tu crée un groupe où tout les utilisateurs qui doivent avoir cette imprimante sont présent.
Tu configure ta stratégie pour qu'elle mappe ton imprimante.
Tu crée un groupe où tout les utilisateurs qui doivent avoir cette imprimante sont présent.
Tu configure ta stratégie pour qu'elle mappe ton imprimante.
Connexion ou Créer un compte pour participer à la conversation.
- jarry
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 2
- Remerciements reçus 0
il y a 12 ans 11 mois #14527
par jarry
Réponse de jarry sur le sujet Re:map printer clientname
bonjour,
j'ai bien pensé à cela mais je n'ai pas de mobilité par une stratégie par user
en local j'ai crée une GPP par USER mais la target je l’affecte à un groupe d'ordinateur.
Donc en local ça fonctionne correctement.
Sous RDS je suis obligé d’effectuer un target clientname qui peut prendre qu'une valeur mais pas un groupe!!!
Donc autant de réponse que de PC pas possible.
Donc l'idée c'est de créer un script pour ma ferme RDS
si valeur de clientname présent dans mon groupe de PC
alors je mappe et défini l'imprimante par défaut.
merci pour votre aide.
j'ai presque quelque chose sous vbs mais j'aimerai bien sous powershell.
j'ai bien pensé à cela mais je n'ai pas de mobilité par une stratégie par user
en local j'ai crée une GPP par USER mais la target je l’affecte à un groupe d'ordinateur.
Donc en local ça fonctionne correctement.
Sous RDS je suis obligé d’effectuer un target clientname qui peut prendre qu'une valeur mais pas un groupe!!!
Donc autant de réponse que de PC pas possible.
Donc l'idée c'est de créer un script pour ma ferme RDS
si valeur de clientname présent dans mon groupe de PC
alors je mappe et défini l'imprimante par défaut.
merci pour votre aide.
j'ai presque quelque chose sous vbs mais j'aimerai bien sous powershell.
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.038 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- map printer clientname