Just nu i M3-nätverket
Gå till innehåll

skrivare problem!!!


mayar

Rekommendera Poster

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.

 

 

Länk till inlägg
Dela på andra webbplatser

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.

 

Länk till inlägg
Dela på andra webbplatser

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]

Länk till inlägg
Dela på andra webbplatser

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

 

Länk till inlägg
Dela på andra webbplatser

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?

 

 

Länk till inlägg
Dela på andra webbplatser

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]

 

 

Länk till inlägg
Dela på andra webbplatser

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]

Länk till inlägg
Dela på andra webbplatser

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]

Länk till inlägg
Dela på andra webbplatser

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

 

Länk till inlägg
Dela på andra webbplatser

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.

 

Länk till inlägg
Dela på andra webbplatser

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.

 

Länk till inlägg
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.



×
×
  • Skapa nytt...