Avatar billede camsti Seniormester
27. april 2007 - 12:15 Der er 6 kommentarer og
1 løsning

Script til at vælge printer

Jeg logger på forskellige computere forskellige steder, og får derfor tildelt forskellige printere afhængig af hvor jeg logger på via et login-script.

Dog har jeg en computer der uanset hvad skal tildeles en helt speciel printer.

Er det muligt og lave noget i retning af "hvis computernavn = XXX then assign printer navn "YYY" ?

Er det evt. et script eller en dos-kommando man kan køre efter det oprindelige start-script ?
Avatar billede nestle Nybegynder
30. april 2007 - 09:41 #1
Måske sådan her:

Dim strComputer : strComputer = "."
Dim objWMI : Set objWMI = GetObject("winmgmts:")
Dim colSettingsComp : Set colSettings = objWMI.ExecQuery("Select * from Win32_ComputerSystem")
Dim objNetwork : Set objNetwork = CreateObject("WScript.Network")


For Each objItem in colSettings
  strComputerSystem_Name = objItem.Name
Next

msgbox strComputerSystem_Name

If lcase(strComputerSystem_Name) = lcase("xxx") Then
objNetwork.AddWindowsPrinterConnection "\\printserver\yyy"
Else
objNetwork.AddWindowsPrinterConnection "\\printserver\zzz"
objNetwork.AddWindowsPrinterConnection "\\printserver\www"
End If

Set objNetwork = Nothing
Set colSettings = Nothing
Set objWMI = Nothing
Avatar billede nestle Nybegynder
01. maj 2007 - 08:17 #2
Lige et par rettelser.
\\printserver\zzz osv skal selvfølgelig erstattes med navnet på serveren hvor printeren er installeret og sharenavnet på printeren og ellers skal scriptet se sådan ud:

On Error Resume Next

Dim strComputer : strComputer = "."
Dim objWMI : Set objWMI = GetObject("winmgmts:")
Dim colSettingsComp : Set colSettings = objWMI.ExecQuery("Select * from Win32_ComputerSystem")
Dim objNetwork : Set objNetwork = CreateObject("WScript.Network")


For Each objItem in colSettings
  strComputerSystem_Name = objItem.Name
Next

If lcase(strComputerSystem_Name) = lcase("xxx") Then
objNetwork.AddWindowsPrinterConnection "\\printserver\yyy"
Else
objNetwork.AddWindowsPrinterConnection "\\printserver\zzz"
objNetwork.AddWindowsPrinterConnection "\\printserver\www"
End If

Set objNetwork = Nothing
Set colSettings = Nothing
Set objWMI = Nothing
Avatar billede killerclown Nybegynder
02. maj 2007 - 21:11 #3
Hey !
Da network-objektet alligevel benyttes, kan du lige så godt bruge det til, at finde navnet på computeren også. Det går lidt hurtigere, og giver et lidt mindre script :o)

set network = wscript.createobject("wscript.network")
cpunavn = lcase(network.computername)
If cpunavn = lcase("xxx") Then
objNetwork.AddWindowsPrinterConnection "\\printserver\yyy"
Else
objNetwork.AddWindowsPrinterConnection "\\printserver\zzz"
objNetwork.AddWindowsPrinterConnection "\\printserver\www"
End If
Set objNetwork = Nothing
Set colSettings = Nothing
Set objWMI = Nothing
Avatar billede nestle Nybegynder
03. maj 2007 - 09:08 #4
Ja da...
jeg er forholdvis ny i vbscript så det er rart at få en kommentar:-)
Avatar billede killerclown Nybegynder
04. maj 2007 - 11:40 #5
Hehe .. Har selv været der en gang :o)
Men der er egentlig ikke noget galt med det, du gør.
Det er bare en smule langsommere, og mere tastearbejde ;)

/Killer
Avatar billede camsti Seniormester
23. august 2010 - 08:38 #6
Points
Avatar billede camsti Seniormester
23. august 2010 - 08:38 #7
Points
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