Installere Windowsdomeneskriver på Ubuntu, OSX og Windowsmaskiner utenfor domenet

Det hender seg man trenger å skrive ut på en skriver i et windowsdomene, selv om maskinen man sitter på ikke med i domenet. Hvis man da i tillegg vil at kun autentiserte brukere skal kunne skrive ut må man ty til noen triks.

Windows

Dette er den enkleste metoden jeg har funnet for Windows. Hvis noen vet om en enklere metode, tar jeg gladelig mot tips. Min erfaring er at uansett hva man gjør for å få dette til å fungere på Windows, så er løsningen midlertidig.

Ved hjelp av et vbs-skript kan man først koble seg til det skjulte området IPC$ på skriverserveren, deretter installere skriveren. Skriptet finnes i utallige varianter på nett. Denne versjonen kaller opp IE for at passord skal kunne tastes skjult, deretter fjerner skriveren for så å legge den inn på nytt.

Dim objIE
Set objIE = CreateObject( “InternetExplorer.Application” )
objIE.Navigate “about:blank”
objIE.Document.Title = “Ditt Brukernavn og Passord”
objIE.ToolBar        = False
objIE.Resizable      = False
objIE.StatusBar      = False
objIE.Width          = 290
objIE.Height         = 250
With objIE.Document.ParentWindow.Screen
objIE.Left = (.AvailWidth  – objIE.Width ) \ 2
objIE.Top  = (.Availheight – objIE.Height) \ 2
End With
objIE.Document.Body.InnerHTML = “<DIV align=””center””><P>” & “Brukernavn” _
& “</P>” & vbCrLf _
& “<P><INPUT TYPE=””text”” SIZE=””20″” ” _
& “ID=””Brukernavn””></P>” & vbCrLf _
& “Passord” _
& “<P><INPUT TYPE=””password”” SIZE=””20″” ” _
& “ID=””Password””></P>” & vbCrLf _
& “<P><INPUT TYPE=””hidden”” ID=””OK”” ” _
& “NAME=””OK”” VALUE=””0″”>” _
& “<INPUT TYPE=””submit”” VALUE=”” OK “” ” _
& “OnClick=””VBScript:OK.Value=1″”></P></DIV>”
objIE.Visible = True
Do While objIE.Document.All.OK.Value = 0
WScript.Sleep 200
Loop
on error resume next
Set WshShell = Wscript.CreateObject(“WScript.Shell”)
Set oNet = WScript.CreateObject(“WScript.Network”)
oNet.RemovePrinterConnection “\\dinserver.dittdomenenavn\DinSkriver”
wshshell.run “net use /DELETE * /YES”
oNet.MapNetworkDrive “”,”\\dinserver.dittdomenenavn\IPC$”,False,”dittdomenenavn\” & objIE.Document.All.Brukernavn.Value, objIE.Document.All.Password.Value
oNet.AddWindowsPrinterConnection “\\dinserver.dittdomenenavn\Navn på skriver”,”Nøyaktig drivernavn feks: RICOH Aficio MP C6000 PCL 6″
oNet.SetDefaultPrinter “\\dinserver.dittdomenenavn\Navn på skriver”
objIE.Quit
Set objIE = Nothing

Det hender seg at dette ikke fungerer på første forsøk. I tilfeller har omstart av Windows løst problemet. Etter at skriveren er installert fungerer den gjerne ikke lenge. Jeg er usikker på hva som gjør at dette slutter å fungere, men det kan være for eksempel tilkoblinger til andre nett, omstart, bytting av passord, dvale med mer.

Merk at hvis driveren angis som i tilfellet her, må driveren hete nøyaktig det samme som det vises til i .inf-fila til skriveren. Du kan også finne dette drivernavnet ved å gå gjennom en installasjon av skriveren manuelt.

OSX

Denne er skrevet etter husk, så småfeil kan forekomme. Prinsippet er riktig. Litt enklere løsning enn på Windows, da denne løsningen ikke slutter å fungere med ujevne mellomrom.

Velg System, Skrivere og klikk på lås for å låse opp. Klikk på liten pluss for å legge til skriver.

Du trenger en ny knapp på verktøylinjen som heter “Avansert”. Den finner du ved å Ctrl+klikke på verktøylinjen og velg “Tilpass”. Klikk og dra Avansert-knappen til verktøylinjen.

Klikk Avansert og velg Windows-skriver som blir på adresse smb://dinprintserver.dittdomene/DinSkriver

Velg type og driver. Hvis driveren du trenger ikke er listet kan du a) forsøke en driver fra skriverprodusentens hjemmeside eller b) bruke Generic PCL eller Generic PS. Jeg har hatt mest hell med Generic PCL.

Etter at det blir skrevet ut kommer det en hoppetuss-skriver på verktøylinjen, man må da klikke på “Fortsett”, og man får spørsmål om brukernavn og passord. Brukernavn er på formen DITTDOMENE/brukernavn.

edit 24.08.2012:

Hjelp! Metoden fungerer ikke lengre! OSX ber nå om brukernavn og passord idet det trykkes skriv ut. Hoppetuss-skriveren dukker opp like etterpå, og jobben står som Stoppet midlertidig (godkjenning kreves). Etter at jeg klikker Fortsett går skriverjobben i heng og PrinterProxy må tvangsavsluttes. Med mindre det er meningen dette skal ta mer enn et kvarter.

/edit

Ubuntu

Enklest løsning, rett frem: System, Administrasjon, Skrivere. Klikk Legg til, og velg Nettverksskriver, Windows-skriver via SAMBA. Tast inn dinprintserver.dittdomene/DinSkriver. Velg modell og driver fra listen, eventuelt “Søk for nedlasting” hvis den ikke ligger der. Når du skriver ut får du spørsmål om brukernavn og passord. Brukernavn er på formen DITTDOMENE/brukernavn.

Dim objIE
Set objIE = CreateObject( “InternetExplorer.Application” )
objIE.Navigate “about:blank”
objIE.Document.Title = “Ditt Brukernavn og Passord”
objIE.ToolBar        = False
objIE.Resizable      = False
objIE.StatusBar      = False
objIE.Width          = 290
objIE.Height         = 250
With objIE.Document.ParentWindow.Screen
objIE.Left = (.AvailWidth  – objIE.Width ) \ 2
objIE.Top  = (.Availheight – objIE.Height) \ 2
End With
objIE.Document.Body.InnerHTML = “<DIV align=””center””><P>” & “Brukernavn” _
& “</P>” & vbCrLf _
& “<P><INPUT TYPE=””text”” SIZE=””20″” ” _
& “ID=””Brukernavn””></P>” & vbCrLf _
& “Passord” _
& “<P><INPUT TYPE=””password”” SIZE=””20″” ” _
& “ID=””Password””></P>” & vbCrLf _
& “<P><INPUT TYPE=””hidden”” ID=””OK”” ” _
& “NAME=””OK”” VALUE=””0″”>” _
& “<INPUT TYPE=””submit”” VALUE=”” OK “” ” _
& “OnClick=””VBScript:OK.Value=1″”></P></DIV>”
objIE.Visible = True
Do While objIE.Document.All.OK.Value = 0
WScript.Sleep 200
Loop
on error resume next
Set WshShell = Wscript.CreateObject(“WScript.Shell”)
Set oNet = WScript.CreateObject(“WScript.Network”)
oNet.RemovePrinterConnection “\\dinserver.eventuelltdittdomenenavn\DinSkriver”
wshshell.run “net use /DELETE * /YES”
oNet.MapNetworkDrive “”,”\\dinserver.eventuelltdittdomenenavn\IPC$”,False,”hedmark\” & objIE.Document.All.Brukernavn.Value, objIE.Document.All.Password.Value
oNet.AddWindowsPrinterConnection “\\dinserver.eventuelltdittdomenenavn\Navn på skriver”,”Nøyaktig drivernavn feks: RICOH Aficio MP C6000 PCL 6″
oNet.SetDefaultPrinter “\\dinserver.eventuelltdittdomenenavn\Navn på skriver”
objIE.Quit
Set objIE = Nothing

Leave a Reply

Your email address will not be published. Required fields are marked *