Gå til innhold

Script som mapper opp skrivere


Anbefalte innlegg

Videoannonse
Annonse

Du skal altså sette skriverne med rettigheten everyone? Det er ikke å anbefale, men gi meg to minutter så skal jeg skrive et vbs til deg.

 

Red.:

 

Set WshNetwork = CreateObject("WScript.Network")

PrinterPath = "\\server\skrivernavn"

PrinterDriver = "skriverdriver"

WshNetwork.AddWindowsPrinterConnection PrinterPath, PrinterDriver

WshNetwork.SetDefaultPrinter "\\server\skrivernavn"

 

Set WshNetwork = CreateObject("WScript.Network")

PrinterPath = "\\server\skrivernavn2"

PrinterDriver = "skriverdriver2"

WshNetwork.AddWindowsPrinterConnection PrinterPath, PrinterDriver

WshNetwork.SetDefaultPrinter "\\server\skrivernavn2"

Endret av NikkaYoichi
Lenke til kommentar
Du skal altså sette skriverne med rettigheten everyone? Det er ikke å anbefale, men gi meg to minutter så skal jeg skrive et vbs til deg.

 

Red.:

 

Set WshNetwork = CreateObject("WScript.Network")

PrinterPath = "\\server\skrivernavn"

PrinterDriver = "skriverdriver"

WshNetwork.AddWindowsPrinterConnection PrinterPath, PrinterDriver

WshNetwork.SetDefaultPrinter "\\server\skrivernavn"

 

Set WshNetwork = CreateObject("WScript.Network")

PrinterPath = "\\server\skrivernavn2"

PrinterDriver = "skriverdriver2"

WshNetwork.AddWindowsPrinterConnection PrinterPath, PrinterDriver

WshNetwork.SetDefaultPrinter "\\server\skrivernavn2"

 

Takk for svar, men tenkte mer på en batch fil.

 

Skriverene er i et domene sammen med andre pcer, og pcene får de gjennom group policy. Men vi har mange pcer som ikke skal i domene, men som skal få skrevet ut, og ha skriverene inne. Tenkte da på et script som mapper opp skriverene når pcen starter opp. Trenger ikke noe avansert..

 

Edit:

Kanskje man kan mappe de opp rett fra skriverenes ip?

Endret av Louigi
Lenke til kommentar

Du kan jo bare legge dette scriptet inn på den lokale policyen til maskinen, så er problemet løst. Men du må være klar over at du vil få problemer om skriverne ikke er delt ut til everyone, da DC-en vil be om identifikasjon når skriveren forsøkes mappet opp. Ellers vil skriveren være utilgjengelig for brukeren som benytter maskinen.

 

For en batch så vil det se slik ut:

 

START \\server\printer1

START \\server\printer2

 

Legg fila i oppstartsmappa til all users og den kjører for alle brukere som logger på.

 

Det er ikke spesielt gunstig å la de skrive direkte mot IP-adressen til skriveren.

 

Red.: Du kan også gjøre følgende:

 

net use lpt1: \\server\printer

Endret av NikkaYoichi
Lenke til kommentar
Du kan jo bare legge dette scriptet inn på den lokale policyen til maskinen, så er problemet løst. Men du må være klar over at du vil få problemer om skriverne ikke er delt ut til everyone, da DC-en vil be om identifikasjon når skriveren forsøkes mappet opp. Ellers vil skriveren være utilgjengelig for brukeren som benytter maskinen.

 

For en batch så vil det se slik ut:

 

START \\server\printer1

START \\server\printer2

 

Legg fila i oppstartsmappa til all users og den kjører for alle brukere som logger på.

 

Det er ikke spesielt gunstig å la de skrive direkte mot IP-adressen til skriveren.

 

Red.: Du kan også gjøre følgende:

 

net use lpt1: \\server\printer

 

Identifikasjon er ikke noe problem, da alle som skal bruke pcene til å skrive ut har bruker i ad i domenet.

 

Jeg får prøve meg litt fram, og så spør jeg igjen hvis jeg står fast på noe :) takk for all hjelp til nå :)

Lenke til kommentar

Bare hyggelig. :) Når det kommer til autentiseringen, så gjelder den bare når skriveren legges til. Så hvis dette er maskiner som tas ut og inn i nettet, så husker ikke DC-en at brukeren er logget på. Dermed må man autentisere seg på nytt mot skriveren hver dag. Jeg har funnet det mest stabilt å fjerne og legge til skriveren, i alle fall om de ikke får kontakt med den. Da det at de ikke får kontakt skyldes i 99% av tilfellene at de ikke er autentisert mot domenekontrolleren. Private maskiner og tilganger til skrivere is a bitch. ^^

 

Jeg vil anbefale å bruke et vbs-script, som først fjerner skriveren og legger den til igjen, da det vil løse problemet med manglende autentisering og slikt. Vi har selv gjester som er her med private maskiner, som ikke meldes inn i domenet og som ikke får aksess til trådløsnettet før de har logget seg på med sin domenebruker. Dermed fungerer det ikke hos oss å legge inn scriptet i den lokale policyen. Har derfor laget et script som de må kjøre manuelt, dette sletter skriveren og mapper den opp på nytt. Dette må de selvsagt gjøre etter å ha autentisert seg/sin maskin mot det trådløse nettverket. Jeg knotet litt før jeg fikk det til og noen av de besøkende har litt problemer med å huske rekkefølgen i starten, men det ordner seg etterhvert.

 

Sånn just in case og for andre som måtte lure på dette så kan det gjøres slik:

Åpne notepad og lagre som vbs. Dobbeltklikk på fila og den utfører dette. Du kan selvsagt kommentere ut WScript.Echo, men jeg synes det er greit å ha det med, slik at brukeren ser hva som skjer og at det faktisk skjer/har skjedd noe. Dette i fall at tilgangen til skriveren ikke fungerer som den skal osv.

 

Option Explicit

Dim objNetwork, strUNCPrinter, bForce, bUpdateProfile

strUNCPrinter = "\\serverip\skriversomskalslettes"

bForce = "True"

bUpdateProfile = "False"

 

Set objNetwork = CreateObject("WScript.Network")

' Fjerner skriveren

objNetwork.RemovePrinterConnection strUNCPrinter, _

bForce, bUpdateProfile

 

WScript.Echo "Skriveren er fjernet: " & strUNCPrinter

 

Dim WshNetwork, PrinterPath, PrinterDriver

Set WshNetwork = CreateObject("WScript.Network")

PrinterPath = "\\serverip\skriversomskalleggestil"

PrinterDriver = "driver(finnes under egenskapene til skriveren)"

WshNetwork.AddWindowsPrinterConnection PrinterPath, PrinterDriver

WshNetwork.SetDefaultPrinter "\\serverip\skriversomskalleggestil"

 

WScript.Echo "Skriveren er nå klar til bruk"

Wscript.Quit

Lenke til kommentar
Bare hyggelig. :) Når det kommer til autentiseringen, så gjelder den bare når skriveren legges til. Så hvis dette er maskiner som tas ut og inn i nettet, så husker ikke DC-en at brukeren er logget på. Dermed må man autentisere seg på nytt mot skriveren hver dag. Jeg har funnet det mest stabilt å fjerne og legge til skriveren, i alle fall om de ikke får kontakt med den. Da det at de ikke får kontakt skyldes i 99% av tilfellene at de ikke er autentisert mot domenekontrolleren. Private maskiner og tilganger til skrivere is a bitch. ^^

 

Jeg vil anbefale å bruke et vbs-script, som først fjerner skriveren og legger den til igjen, da det vil løse problemet med manglende autentisering og slikt. Vi har selv gjester som er her med private maskiner, som ikke meldes inn i domenet og som ikke får aksess til trådløsnettet før de har logget seg på med sin domenebruker. Dermed fungerer det ikke hos oss å legge inn scriptet i den lokale policyen. Har derfor laget et script som de må kjøre manuelt, dette sletter skriveren og mapper den opp på nytt. Dette må de selvsagt gjøre etter å ha autentisert seg/sin maskin mot det trådløse nettverket. Jeg knotet litt før jeg fikk det til og noen av de besøkende har litt problemer med å huske rekkefølgen i starten, men det ordner seg etterhvert.

 

Sånn just in case og for andre som måtte lure på dette så kan det gjøres slik:

Åpne notepad og lagre som vbs. Dobbeltklikk på fila og den utfører dette. Du kan selvsagt kommentere ut WScript.Echo, men jeg synes det er greit å ha det med, slik at brukeren ser hva som skjer og at det faktisk skjer/har skjedd noe. Dette i fall at tilgangen til skriveren ikke fungerer som den skal osv.

 

Option Explicit

Dim objNetwork, strUNCPrinter, bForce, bUpdateProfile

strUNCPrinter = "\\serverip\skriversomskalslettes"

bForce = "True"

bUpdateProfile = "False"

 

Set objNetwork = CreateObject("WScript.Network")

' Fjerner skriveren

objNetwork.RemovePrinterConnection strUNCPrinter, _

bForce, bUpdateProfile

 

WScript.Echo "Skriveren er fjernet: " & strUNCPrinter

 

Dim WshNetwork, PrinterPath, PrinterDriver

Set WshNetwork = CreateObject("WScript.Network")

PrinterPath = "\\serverip\skriversomskalleggestil"

PrinterDriver = "driver(finnes under egenskapene til skriveren)"

WshNetwork.AddWindowsPrinterConnection PrinterPath, PrinterDriver

WshNetwork.SetDefaultPrinter "\\serverip\skriversomskalleggestil"

 

WScript.Echo "Skriveren er nå klar til bruk"

Wscript.Quit

 

Nå har jeg prøvd det, og det funka ikke først. Det kom feil på linje 9, tegn 1. Så fjerna jeg alt som ikke hadde med "legge til skriver", og da fikk jeg lagt den til perfekt i domene, men når jeg prøvde på en utenfor domene så kom det feil... Ingen tilgang... Så hvis du kan være vennlig å gjøre om scriptet slik at det scriptet du la ut virker på en pc som skriveren ikke er lagt inn fra før... Den funker fint når jeg først har lagt til skriveren da :) og den feilen med at den ikke har tilgang... hadde vært fint om du hadde funnet en løsning på dette også :) Jeg skulle gjerne gjort det selv, men har null peiling på vbs script.... :)

Lenke til kommentar

Set WshNetwork = CreateObject("WScript.Network")

PrinterPath = "\\serverip\skrivernavn"

PrinterDriver = "skriverdriver"

WshNetwork.AddWindowsPrinterConnection PrinterPath, PrinterDriver

WshNetwork.SetDefaultPrinter "\\serverip\skrivernavn"

 

 

Denne lille snutten skal legge til skriveren husk å endre det som er skrevet i bold. Merk også at "" skal være med der de står for at skriptet skal tolkes riktig. Der hvor det står skriverdriver, erstatter du med eks. Hp LaserJet5 PCL. Du finner det under egenskaper og fanen avansert, på den aktuelle skriveren.

 

Hvis jeg tør spørre, hvordan i alle dager har du klart å bli drifter for et nettverk, uten å kunne noe som helst om vbs? Jeg trodde alle var avhengige av det for å få gjort jobben sin jeg. :)

 

Håper dette hjelper i alle fall, det er jo ingen vits i å sitte å finne opp kruttet på nytt som det heter så pent. Det er bare å spørre, så skal jeg alltids finne en løsning som passer.

Lenke til kommentar
Set WshNetwork = CreateObject("WScript.Network")

PrinterPath = "\\serverip\skrivernavn"

PrinterDriver = "skriverdriver"

WshNetwork.AddWindowsPrinterConnection PrinterPath, PrinterDriver

WshNetwork.SetDefaultPrinter "\\serverip\skrivernavn"

 

 

Denne lille snutten skal legge til skriveren husk å endre det som er skrevet i bold. Merk også at "" skal være med der de står for at skriptet skal tolkes riktig. Der hvor det står skriverdriver, erstatter du med eks. Hp LaserJet5 PCL. Du finner det under egenskaper og fanen avansert, på den aktuelle skriveren.

 

Hvis jeg tør spørre, hvordan i alle dager har du klart å bli drifter for et nettverk, uten å kunne noe som helst om vbs? Jeg trodde alle var avhengige av det for å få gjort jobben sin jeg. :)

 

Håper dette hjelper i alle fall, det er jo ingen vits i å sitte å finne opp kruttet på nytt som det heter så pent. Det er bare å spørre, så skal jeg alltids finne en løsning som passer.

 

Jeg tok bort alt slik at bare det du skrev nå ble igjen, og da fikk jeg den feilen... Og ja, jeg endra alt som skulle endres i scriptet.

 

Jeg er lærling :p

Lenke til kommentar

Merkelig, det fungerer fint her hos meg.

Aha, samme som lærlingen her hos meg, så bare dumt på meg når jeg ba ham om å fikse et script til oppmapping av skrivere. :wee:

 

Så det fungerer fortsatt ikke hos deg? Du bruker ip-adressen til serveren og ikke hostname? Samt at du er sikker på at du ikke mangler ett eneste tegn i scriptet?

Lenke til kommentar

NikkaYoichi: ser ut som om scripting er døende utenom de som virkelig trenger det.

jobber på en større drift-avdeling, og scripting er stort sett ukjent for alle, men det er 0 problem å drifte uten å scripte :)

 

 

men, over til saken, funka det?

ellers har jeg en latterlig enkel sak som garantert funker, må bare finne det igjen :p

Lenke til kommentar
NikkaYoichi: ser ut som om scripting er døende utenom de som virkelig trenger det.

jobber på en større drift-avdeling, og scripting er stort sett ukjent for alle, men det er 0 problem å drifte uten å scripte :)

 

Det er for meg totalt uforståelig. Hvordan i alle dager mapper dere opp nettverksdrev, skrivere, avinstallerer programvare o.l for deres brukere? Har dere noen trylleformular som gjør dette for dere? Eller kanskje dere har brukere som klarer dette på egen hånd? :)

 

Å si at scripting er utdøende er vel å ta hardt i:

http://www.microsoft.com/windowsserver2003...ll/default.mspx

 

Lurer forresten også på hvordan dere får utført ldap spørringer og slikt, f.eks for å legge til ferdiglagede signaturer, som er standard for alle brukerne i nettet. Det er for meg helt uforståelig hvordan dere klarer dere uten, kanskje man ikke er klar over hvor enkel arbeidsdagen blir om man skripter litt. :)

Lenke til kommentar
Nå har jeg testet med ipen til serveren, men får fortsatt ingen tilgang...

 

Ingen tilgang? Altså, feiler skriptet eller får ikke brukeren tilgang til å skrive ut? Eller får ikke brukeren lagt inn skriveren i det hele tatt? Svarer ikke serveren? Kan du ikke beskrive problemet ditt LITT bedre? :)

Lenke til kommentar
Nå har jeg testet med ipen til serveren, men får fortsatt ingen tilgang...

 

Ingen tilgang? Altså, feiler skriptet eller får ikke brukeren tilgang til å skrive ut? Eller får ikke brukeren lagt inn skriveren i det hele tatt? Svarer ikke serveren? Kan du ikke beskrive problemet ditt LITT bedre? :)

 

Når jeg prøver å kjøre scriptet kommer det en feilmelding fra det om at det ikke er tilgang, og en feil på linje 11, tegn 1... Feilkode 800A0046

Da har jeg tatt bort det med å fjerne skriveren først i scriptet.

Lenke til kommentar
NikkaYoichi: ser ut som om scripting er døende utenom de som virkelig trenger det.

jobber på en større drift-avdeling, og scripting er stort sett ukjent for alle, men det er 0 problem å drifte uten å scripte :)

 

hvis scripting er ukjent for hele hurven vet jeg ikek helt om det sier litt om dere eller hvordan dere jobber. scripting er alfa omega uansett hvordan du ser på det.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...