Jump to content

Anmeldescript Netzwerkdrucker W2K Server


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Original geschrieben von Uli

Leider funzen doppelte Freigabe nicht.

 

Nein, das tun sie in der Tat nicht. Du musst zur Lösung deines Problems einen anderen Weg gehen.

 

1.) Du lässt bei jedem!! User ein Anmeldescript laufen, in dem du mit dem Namen des einen Users auf dem Printserver ein Mapping auf eine Freigabe auf dem Printserver selber machst. Dann haben die User unter diesem Namen auch Zugriff auf den Freigebenen Drucker.

 

2.) Du erstellst jeden User mit selbem Namen und Kennwort auf dem Druckserver

 

3.) Blödsinn, und nicht im Sinne des Erfinders, spricxh Druckservers, aber technisch machbar: Du richtest auf dem Fileserver einen LOKALEN!!! Drucker ein. Diesen Drucker gibst du frei, aber über die Druckereigenschaften/Anschlüsse leitest du den Anschluss um auf die Freigabe auf dem Printserver. Geht zwar, aber vergiss es, dann muss der Fileserver das Spooling machen -> für was hätte man dann den Druckserver?

 

grizzly999

Link zu diesem Kommentar

Hallo,

Ich habe nachfolgendes Script gemacht (für W2K und XP,

das zu jedem 'Standort' (eine Umgebungsvariable)

aus einer gleichnamigen txt-Datei

der Struktur:

Drucker01=Freigabe1

Drucker02=Freigabe2

Standard=Freigabe2

(Zuerst werden mit dem Schlüsselwort 'Drucker' alle Drucker gelistet, daach steht der Standartdrucker)

die Drucker ausliest und mappt.

alles muss im \logon-Verzeichnis stehen.

 

hoffe, das hilft.

 

grutschmööhh

 

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

' * AUTOR: Gruschmööhh Nov. 2002

' * Script zum Mappen von Netzwerkdruckern

' * benötigt eine Textdatei %Standort%.TXT,

' * in der die zuzuordnenden Drucker und

' * Standarddrucker gelistet sind

' * Last Modified: 26.11.2002

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

 

dim fertig

Dim oFileSystem

Dim Drucker

Dim sArray

Set oFileSystem = CreateObject("Scripting.FileSystemObject")

Set oWshShell = CreateObject("WScript.Shell")

Set oWshEnvironment = oWshShell.Environment("Process")

wscript.timeout=20

fertig = 0

Do while fertig = 0

sComputername = oWshEnvironment("COMPUTERNAME")

sStandort = oWshEnvironment("STANDORT")

If sStandort = "NOPRINTER" then

'es gibt nur einen lokalen Drucker ->Raus

fertig = 1

exit do

end if

 

sDruckserver = "PServer" 'oWshEnvironment("DRUCKSERVER")

Dim oDrucker

Dim oStandardDrucker

 

'1 zuerst bisherige Druckerzuordnungen löschen

On Error Resume Next 'Wird benötigt, da das script keine lokalen Drucker löscht.

Set WshNetwork = Wscript.CreateObject("Wscript.Network")

 

For x = 0 To j - 1 'der index beginnt bei 0

WshNetwork.RemovePrinterConnection oDrucker.Item(x)

Next

x = ""

Set oDrucker = Nothing

' Ende 11

 

'2 Liste erstellen der Drucker und Standarzuordnungen

Set oDrucker = CreateObject("Scripting.Dictionary")

oDrucker.CompareMode = TextCompare

Set oStandardDrucker = CreateObject("Scripting.Dictionary")

oStandardDrucker.CompareMode = TextCompare

Pfad = oFileSystem.GetAbsolutePathName(".") & sStandort & ".txt"

Set oTextStream = oFileSystem.GetFile(Pfad)

Set oText = oTextStream.OpenAsTextStream(1)

 

Do While Not oText.AtEndOfStream

Do

x = Trim(oText.Readline)

If InStr(x, "'") = 1 Or Len(x) = 0 Then Exit Do

If Left(x, 7) = "Drucker" Then

sArray = Split(x, "=", -1, 1)

oDrucker.Add sArray(0), sArray(1)

Exit Do

End If

If InStr(x, "=") > 1 Then

sArray = Split(x, "=", -1, 1)

oStandardDrucker.Add sArray(0), sArray(1)

End If

Loop

Loop

'2 Ende

 

'3 dann zuordnen:

For Each Item In oDrucker.Items

Druckerpfad = "\\" & sDruckserver & "\" & Item

WshNetwork.AddWindowsPrinterConnection(Druckerpfad)

Next

 

'dann Standarddrucker setzen:

 

oWshShell.Popup Druckerpfad & " Standarddrucker setzten.........",3,"gleich geht es weiter",64

If oStandardDrucker.exists(sComputername) Then WshNetwork.SetDefaultPrinter "\\" & sDruckserver & "\" & oStandardDrucker.Item(sComputername)

If err.Number > 0 then MsgBox("Standard-Drucker konnte nicht festgelegt werden: " & vbCrLf & err.description)

fertig = 1

'3 Ende

loop

Link zu diesem Kommentar

@grizzley: Deine Variante 1 hatte ich auch vorgehabt. Habe das Testweise mal eingerichtet. Allerdings stört mich noch etwas daran: Da die Kollegen die diesen Drucker nur 2 Tage die WOche da sind und den Rest der WOche beim Kunden, bekommen die doch sicher wenn das Script beiim Kunden ( also ohne Lan) läuft immer eine Fehlermeldung. Und das ist doch schon etwas störend.

 

@wean : Hast recht, mit dem Gastkonto gehts, ist wahrscheinlich die eleganteste Variante. Obwohl, wie sieht das eigentlich aus, enthält die Usergruppe Jeder auch den Gastuser ?

Link zu diesem Kommentar

download here - äh - hier: http://www.kixtart.org/

 

@grizzly999

Vor einiger Zeit war die Zukunft von Kix ungewiss - es war nur für win95 programmiert und läuft auch unter NT.

MS hat es meines Wissens verkauft.

 

wir hatten damals entschieden, die benötigten Funktionen im WSH zu machen -

und dabei sind eine ganze Reihe von nützlichen Tools entstanden (Server-Überwachung, User-Verwaltung, etc.)

so gesehen war es nicht schlecht.

 

Aber Kixtart ist ohne Zweifel ein gutes Tool!.

 

grutschmööhh.

Link zu diesem Kommentar
  • 10 Monate später...
Original geschrieben von grutsch

Hallo,

Ich habe nachfolgendes Script gemacht (für W2K und XP,

das zu jedem 'Standort' (eine Umgebungsvariable)

aus einer gleichnamigen txt-Datei

der Struktur:

Drucker01=Freigabe1

Drucker02=Freigabe2

Standard=Freigabe2

(Zuerst werden mit dem Schlüsselwort 'Drucker' alle Drucker gelistet, daach steht der Standartdrucker)

die Drucker ausliest und mappt.

alles muss im \logon-Verzeichnis stehen.

 

hoffe, das hilft.

 

grutschmööhh

 

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

' * AUTOR: Gruschmööhh Nov. 2002

' * Script zum Mappen von Netzwerkdruckern

' * benötigt eine Textdatei %Standort%.TXT,

' * in der die zuzuordnenden Drucker und

' * Standarddrucker gelistet sind

' * Last Modified: 26.11.2002

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

 

dim fertig

Dim oFileSystem

Dim Drucker

Dim sArray

Set oFileSystem = CreateObject("Scripting.FileSystemObject")

Set oWshShell = CreateObject("WScript.Shell")

Set oWshEnvironment = oWshShell.Environment("Process")

wscript.timeout=20

fertig = 0

Do while fertig = 0

sComputername = oWshEnvironment("COMPUTERNAME")

sStandort = oWshEnvironment("STANDORT")

If sStandort = "NOPRINTER" then

'es gibt nur einen lokalen Drucker ->Raus

fertig = 1

exit do

end if

 

sDruckserver = "PServer" 'oWshEnvironment("DRUCKSERVER")

Dim oDrucker

Dim oStandardDrucker

 

'1 zuerst bisherige Druckerzuordnungen löschen

On Error Resume Next 'Wird benötigt, da das script keine lokalen Drucker löscht.

Set WshNetwork = Wscript.CreateObject("Wscript.Network")

 

For x = 0 To j - 1 'der index beginnt bei 0

WshNetwork.RemovePrinterConnection oDrucker.Item(x)

Next

x = ""

Set oDrucker = Nothing

' Ende 11

 

'2 Liste erstellen der Drucker und Standarzuordnungen

Set oDrucker = CreateObject("Scripting.Dictionary")

oDrucker.CompareMode = TextCompare

Set oStandardDrucker = CreateObject("Scripting.Dictionary")

oStandardDrucker.CompareMode = TextCompare

Pfad = oFileSystem.GetAbsolutePathName(".") & sStandort & ".txt"

Set oTextStream = oFileSystem.GetFile(Pfad)

Set oText = oTextStream.OpenAsTextStream(1)

 

Do While Not oText.AtEndOfStream

Do

x = Trim(oText.Readline)

If InStr(x, "'") = 1 Or Len(x) = 0 Then Exit Do

If Left(x, 7) = "Drucker" Then

sArray = Split(x, "=", -1, 1)

oDrucker.Add sArray(0), sArray(1)

Exit Do

End If

If InStr(x, "=") > 1 Then

sArray = Split(x, "=", -1, 1)

oStandardDrucker.Add sArray(0), sArray(1)

End If

Loop

Loop

'2 Ende

 

'3 dann zuordnen:

For Each Item In oDrucker.Items

Druckerpfad = "\\" & sDruckserver & "\" & Item

WshNetwork.AddWindowsPrinterConnection(Druckerpfad)

Next

 

'dann Standarddrucker setzen:

 

oWshShell.Popup Druckerpfad & " Standarddrucker setzten.........",3,"gleich geht es weiter",64

If oStandardDrucker.exists(sComputername) Then WshNetwork.SetDefaultPrinter "\\" & sDruckserver & "\" & oStandardDrucker.Item(sComputername)

If err.Number > 0 then MsgBox("Standard-Drucker konnte nicht festgelegt werden: " & vbCrLf & err.description)

fertig = 1

'3 Ende

loop

 

Diesen Vorschlag finde ich ja ganz gut.

Aber als was (Erweiterung) muss man das Script dann speichern?

*Anfängerbin*

 

Stefan

Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...