Avatar billede hubertus Seniormester
01. december 2008 - 20:22 Der er 8 kommentarer og
1 løsning

tilføj printer ud fra maskinnavn

Vi har et netværk, hvor der er mange printere tilsluttet. Jeg har
derfor brug for at kunne aflæse maskinnavnet, således at det kan
være styrende for hvilken printer der sættes som default printer.
Det vil i praksis sige den nærmeste printer, som derfor sættes som default
printer.
Anden del af opgaven består i at fjerne printere fra listen som
ikke står i nærheden.
Er det muligt at gruppere maskinerne i et range, som f.eks.
kunne bestå af maskinerner i et lokale evt. delt i to grupper for at dele
belastnngen på printerne i lokalet. Disse maskiner skal så have lokalets printer
som default. Kan det lade sig gøre?
Avatar billede thygelarsen Nybegynder
07. december 2008 - 18:16 #1
Hej
Kører du i et windows miljø med AD, kunne du jo oprette en Gruppe med computernavne og så tildeleprinter udfra Gruppenavnet.
Avatar billede thygelarsen Nybegynder
07. december 2008 - 19:10 #2
en lille snas..


Set WshNetwork = WScript.CreateObject("WScript.Network")
Set oPrinters = WshNetwork.EnumPrinterConnections
For i = 0 to oPrinters.Count - 1 Step 2
    'WshNetwork.RemovePrinterConnection oprinters.item(i+1) 'Slet printerene (alle)
next i   

Set oSI = CreateObject("ADSystemInfo")
DomainString = oSi.DomainShortName
strComputer = oSI.ComputerName
Set ComputerObj = GetObject("LDAP://" & strComputer)
For Each GroupObj in ComputerObj.Groups
    select case ucase(groupobj.name)
        case "CN=Printer 1"  'Hvor "Printer 1" er navnet på gruppen
          WshNetwork.AddWindowsPrinterConnection "\\<printservernavn>\<printernavn1>"
          WshNetwork.setdefaultPrinter "\\<printerservernavn>\<printernavn1>"  'sætter printeren som default
          WshNetwork.AddWindowsPrinterConnection "\\<printservernavn>\<printernavn1a>"
        case "CN=Printer 2"
          WshNetwork.AddWindowsPrinterConnection "\\<printservernavn>\<printernavn2>"

        case "CN=Printer 3"
          WshNetwork.AddWindowsPrinterConnection "\\<printservernavn>\<printernavn3>"

        case "CN=Printer 4"
          WshNetwork.AddWindowsPrinterConnection "\\<printservernavn>\<printernavn4>"

    End Select
Next
Avatar billede hubertus Seniormester
09. december 2008 - 18:58 #3
Hej thygelarsen
Dejligt med en reaktion, havde næsten opgivet det.
Din kommentar ser godt ud, bringer mig et stykke af vejen - men ikke helt. Jeg ved godt at jeg kan gruppere computernavnene i AD, men jeg vil helst have at det hele foregår i scriptet, da vi har et externt firma til at vedligeholde AD. Vi er en del af et større netværk. Jeg vil derfor helst have at maskinerne grupperes i scriptet. Kan du også hjælpe med det, så vil det være helt perfekt
Avatar billede thygelarsen Nybegynder
10. december 2008 - 00:13 #4
Ok , du har jo computernavent (maskinenavnet)i env. så du kan bruge :

Set WshNetwork = WScript.CreateObject("WScript.Network")
strcomputernavn = Wshshell.computername
Select case strcomputernavn
  case  "maskine1","maskine2","maskine3"
    WshNetwork.AddWindowsPrinterConnection "\\<printservernavn>\<printernavn1>"
  case  "maskine4","maskine5","maskine6"
    WshNetwork.AddWindowsPrinterConnection "\\<printservernavn>\<printernavn2>"
end select

og så kan du selvfølgelig indføje "setdefaultprinter..." hvor det måtte være nødvendigt.
Avatar billede hubertus Seniormester
10. december 2008 - 06:51 #5
Det ser godt ud. Nu har jeg ikke meget erfarig i vb-script, men kan man ikke sætte maskinerne ind i er array, og så henvise til dette array i case sætningen? Tilsvarende kunne man vel også gruppere printerne i et område i et array og så henvise til dem i case sætningen. Kan du hjælpe her? :O)
Avatar billede thygelarsen Nybegynder
10. december 2008 - 17:40 #6
Joe man kan godt bruge array's men disse array's skal jo først "fyldes" med maskinenavn.

Hvor mange maskiner snakker vi om ?
Avatar billede hubertus Seniormester
10. december 2008 - 18:54 #7
Der er tale om ca. 90 maskiner
Avatar billede hubertus Seniormester
17. december 2008 - 09:36 #8
ups det var en fejl at dit svar blev afvist. Læg venligst et nyt - så du kan få dine velfortjente point.
Kan du give mig strukturen hvis der jeg vil anvende et array?
Avatar billede hubertus Seniormester
19. juli 2010 - 21:42 #9
lukker
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester