Question map printer clientname

Plus d'informations
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

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
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.

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
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.

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.038 secondes
Propulsé par Kunena