Jump to content

TUIT

Members
  • Gesamte Inhalte

    1
  • Registriert seit

  • Letzter Besuch

Beiträge erstellt von TUIT

  1. 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

×
×
  • Neu erstellen...