none
map printer clientname RRS feed

  • Question

  • 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

    ou sinon un script qui récupère les imprimantes du poste en local pour les mapper dans la session rds d'un utilisateur

    merci

    vendredi 5 avril 2013 13:03

Réponses