05. september 2005 - 14:10Der er
3 kommentarer og 1 løsning
Styring af brugerens printeropsætning på Active Directory
Har problemer med følgende setup: 2 windows 2000 servere kører Citrix og er forbundet til et AD (windows 2003 server std.). Brugerne forbinder via Citrix til en vilkårlig af de 2 Citrix-maskiner, men login og rettigheder styres af AD. Nu vil jeg gerne have AD til også at styre printeropsætning. Denne er pt. afhængig af hvilken Citrix bruger bliver forbundet til - og det går jo ikke. Er klar over at løsningen nok skal findes i noget "home folder" setup på AD´etet, men kan ikke helt få det til at virke. Kunne nogen give en step-by-step løsning til dette (derfor de mange point)
Brugeren skal i princippet kunne vælge en vilkårlig standardprinter - brugerne har en række IP-printere til rådighed. Dette foregår pt. ved at brugerne får adgang til deres eget skrivebord og dermed printerindstillingerne i windows. Dette virker også fint så længe brugeren logger på samme citrix. Ryger han over på den anden, skal han vælge standardprinter en gang til.
Jeg plejer at gøre sådan for at man får lokalets printer som default:
Printertildeling foregår normalt efter brugerlogin. Sikkert velegnet mange steder, men ikke i undervisningsverdenen. Derfor den lille vejledning.
I Active Directory oprettes et OU kaldet computere eller lignende, herunder oprettes et nyt OU for hver lokale med en eller flere printere.
Alle computere flyttes fra Computers til de respektive OUer
For hvert OU laves nu et script efter følgende læst:
Set WshNetwork = CreateObject("WScript.Network") strComputername = WshNetwork.ComputerName
' foretage eventuelle ændringer i disse to linier: PrinterPaths = Array("\\server\hp2300", "\\server\hp2100") PrinterNames = Array("\\server\ HP LaserJet 2300 PCL6" , "\\server\HP LaserJet 2100 PCL6")
set oPrinters = WshNetwork.EnumPrinterConnections Set objArgs = WScript.Arguments DefPrint = objArgs(0)
p=0 For Each printer in PrinterPaths name = PrinterNames(p) printerExists = 0 For i =0 to oPrinters.count - 1 Step 2 If StrComp(oPrinters.Item(i+1),name) = 0 Then printerExists = 1 End If Next If printerExists = 0 Then WshNetwork.addWindowsPrinterConnection printer If StrComp(printer,DefPrint,1) = 0 Then WshNetwork.SetDefaultPrinter DefPrint End If End If p=p+1 Next
Gem scriptet med et bekrivende navn i stil med PrinterLokale1.vbs eller lignende.
I eksemplet her får alle der logger på i lokalet de to nævnte printere. Listen kan være lige så lang som du ønsker det.
PrinterPath er printerens sharenavn og PrinterNames er printerens navn som man ser det under Printere.
Derefter skal der så laves Group Policies for hver enkelt OU.
Under User Configuration | Windows Settings | Scripts | logon tilføjes UNC stien til scriptet med parameteren \\server\hp2300 for at gøre denne printer til default.
I den samme policy går du nu til Computer Configuration | Administrative Templates | System | Group Policy, dobbeltklikker på User Group Policy Loopback Processing mode setting og vælger Enable. Sæt den til Merge.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.