Just nu i M3-nätverket
Jump to content

skrivare problem!!!


mayar

Recommended Posts

Hej

Jag har en windows server 2003 miljö med en DC och två TS serverar och en hel del tunna klienter. Det finns 3,4 datasalar som elever använder och i varje data sal så finns det en nätverk skrivare med fast IP(standard IP port) och även tunna klienter har fast IP som är reserverat i DHCP. Problemet är att eleverna måste välja skrivare när de ska skriva ut, och det gör de inte och detta orsakar att de skriver ut över allt. Det vill säga till olika data salar.

Går det på något sätt (script eller annat) att knyta IP-nummret eller tunna klienterna till en viss skrivare? Oavsett vem som loggar in på maskinen så används det rätta skrivare. Jag vill att elever som jobbar i sal 1 ska automatisk ska skriva ut på skrivaren i sal1, osv.

 

 

Link to comment
Share on other sites

Kan du inte bara lägga in rätt skrivare på varje dator? Eller ett inloggningsscript där du kollar datornamn eler IP o sedan använder "net use" för att lägga in skrivare.

 

Link to comment
Share on other sites

Mina klineter är tunna klienter, det går inte med att lägga till skrivare till tunna klienter. Det med inloggningsscript skulle kanske lösa problemet.

Jag är inte så bra med att scripta, skulle du kunna ge mig en exemple hur jag kan skriva en sådan script?

klienter använder sig av terminal services (RDP) för att logga in på servern, de kommer att see serverns ip adress!! Finns det ett sätt att kunna läsa nätverkskortets ip adress som är kopplat till tunna klienten?

[inlägget ändrat 2005-12-16 08:51:00 av mayar]

Link to comment
Share on other sites

Skapa en MapNetworkprinter.vbs och klipp in och redigera dessa kod-rader:

 

' Example VBScript to map a printer on a server

' ******************************

Option Explicit

Dim netPrinter, UNCpath

 

UNCpath = "\\YourServer\PrinterName" 'Redigera mig!

 

Set netPrinter = CreateObject("WScript.Network")

netPrinter.AddWindowsPrinterConnection UNCpath

 

'Ta bort denna rad om du inte vill få popup

WScript.Echo "Your printer is mapped from : " & UNCpath

 

WScript.Quit

' ******************************

' End of example VBScript

 

Link to comment
Share on other sites

Hur kollar jag om ip-adressen stämmer??

klienter använder sig av terminal services (RDP) för att logga in på servern, de kommer att see serverns ip adress!! Finns det ett sätt att kunna läsa nätverkskortets ip adress som är kopplat till tunna klienten?

 

 

Link to comment
Share on other sites

Jag gjorde en snabb googling på detta, och det verkar inte helt banalt att ta reda på.

 

Läs igenom dessa länkar så kanske du kan få fram klientens IP-adress.

 

Forumet som diskuterar problemet:

http://www.adminscripteditor.com/forum/tm.asp?m=9066&mpage=1&#9135

 

Programvaran de använder:

http://kixhelp.com/Downloads/wtsmanager.zip

 

Kodsnutten du möjligtvis behöver:

[log]Set WTS = Wscript.CreateObject("WTSManager.Shell")

MsgBox "My computer name: " + WTS.MyClientName + Chr(13) + "My IP address: " + WTS.MyIPAddress

 

S = "Total sessions: " & WTS.ClientCount

for i = 1 to WTS.ClientCount

S = S + Chr(13) + WTS.Clients(i).WinStationName + " User: " + WTS.Clients(i).UserName + " IP: " + WTS.Clients(i).IPAddress

Next

 

MsgBox S[/log]

 

 

Link to comment
Share on other sites

det verkar funka med den här:

 

Set WTS = Wscript.CreateObject("WTSManager.Shell")

MsgBox "My computer name: " + WTS.MyClientName + Chr(13) + "My IP address: " + WTS.MyIPAddress

 

om nu jag inte vill att msgbox ska dycka upp vad gör jag?

Jag vill kunna ha en if argument som ska mappa rätt skrivare till klienten.

ex.

--jag tog bort Msgbox!!!kommer det att funka??--

Set WTS = Wscript.CreateObject("WTSManager.Shell")

"My computer name: " + WTS.MyClientName + Chr(13) + "My IP address: " + WTS.MyIPAddress

--jag vill kunna lägga till flera ip address--

if WTS.MyIPAddress 192.168.0.10-192.168.0.10-192.168.0.10-192.168.0.10

then

--kommer det här göra skrivaren som standardskrivare???--

Option Explicit

Dim netPrinter, UNCpath

 

UNCpath = "\\YourServer\PrinterName"

 

Set netPrinter = CreateObject("WScript.Network")

netPrinter.AddWindowsPrinterConnection UNCpath

 

 

WScript.Quit

-- jag vet att if och then funkar inte i VBscript!! som sagt jag kan inte mycket om VBscript. Det jag vill få att funka är att användaren inte ska see något alls!! och broende på vilket klient användaren skriver ut på ska utskriften hamna på rätt skrivare.

 

 

 

 

[inlägget ändrat 2005-12-16 11:38:06 av mayar]

[inlägget ändrat 2005-12-16 11:39:33 av mayar]

[inlägget ändrat 2005-12-16 11:40:50 av mayar]

Link to comment
Share on other sites

Testa något liknande som det här:

 

[log]Option Explicit

Dim ClientIP, netPrinter, UNCpath

 

'Ta reda på IP-adress

Set WTS = Wscript.CreateObject("WTSManager.Shell")

ClientIP = WTS.MyIPAddress

 

 

If ClientIP = "192.168.0.10" OR ClientIP = "192.168.0.15" OR ClientIP = "192.168.0.14" then

UNCpath = "\\YourServer\skrivare1"

 

elseif ClientIP = "192.168.0.11" OR ClientIP = "192.168.0.12" then

UNCpath = "\\YourServer\skrivare2"

 

elseif ClientIP = "192.168.0.22" OR ClientIP = "192.168.0.23" then

UNCpath = "\\YourServer\skrivare3"

 

else 'Annars sätt standardskrivare

UNCpath = "\\YourServer\standardskrivare"

End if

 

 

'Mappa skrivaren

Set netPrinter = CreateObject("WScript.Network")

netPrinter.AddWindowsPrinterConnection UNCpath

 

WScript.Quit[/log]

 

 

Man kan skriva skriptet smartare så det känner igen IP-ranges så som 192.168.0.1 till 192.168.0.10, men det kräver lite mer kod. Beror på hur många tunna klienter du använder, om det behövs eller inte.

 

 

 

[inlägget ändrat 2005-12-16 12:39:33 av Loverman]

Link to comment
Share on other sites

Johan Sandqvist

Jag hade installerat rätt skrivare lokalt på varje tunn klient, och sen låtit användaren skriva ut via RDP printer redirection. Dvs ha inga skrivare konfigurerade direkt på terminalservern, utan bara på klienterna. När användarna således loggar in på servern kommer de automagiskt ha rätt skrivare ansluten.

 

// Johan

 

Link to comment
Share on other sites

Hej igen

Tack för hjälpen, det funkar bra men jag fick ta bort "Option Explicit". Jag fick felmedelande att variable is undefined :'WTS'

 

En sak till jag tänkte på Hur gör man om man vill sätta skrivaren som standard skrivare. för att det kan vara så att nästa gång de loggar in på en annan dator kommer den andra skrivaren fortfarande vara standard skrivare!!

Jag vill helst skapa en loggut script som tar bort alla skrivare som är kopplade till användaren när användaren loggar ut.

 

Link to comment
Share on other sites

Jag har 55 st tunna klienter och 50 gamla datorer utan hårdisk som jag bootar från nätverket(PXE), det går inte att lägga till skrivare till de som tunna klienter.

 

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.



×
×
  • Create New...