Logon script exlude computer

Dieses Thema Logon script exlude computer im Forum "Webentwicklung, Hosting & Programmierung" wurde erstellt von Rabadag, 14. Sep. 2005.

Thema: Logon script exlude computer Hallo Forum. Hallo Forum Ich kampfe hier mit einem Logonscript und komme einfach nicht ans ziel. Ziel ist es den...

  1. Hallo Forum.

    Hallo Forum
    Ich kampfe hier mit einem Logonscript und komme einfach nicht ans ziel.

    Ziel ist es den Terminal Server (lensv01) zu exluden so das die mappings nicht ausgefürt werden.
    respective ein seperaten vb-script ausgeführt wird.
    Leider will das nicht so.
    Hat jemand ne ide?

    Code:
    Dim WSHNetwork
    Dim WshShell
    Dim UserObj
    Dim objTimer
    Dim strUserID
    Dim strDomain
    
    
    Set WSHNetwork = WScript.CreateObject(WScript.Network)
    Set WshShell = WScript.CreateObject(WScript.Shell)
    Set FileSysObj = CreateObject(Scripting.FileSystemObject)
    
    strDomain = intra.dom.ch
    
    Do
    strUserID = WSHNetwork.UserName
    
    Loop Until strUserID <> 
    
    Set UserObj = GetObject(WinNT:// & strDomain & / & strUserID)
    
    '***Initialise Groups
    Dim UserGroups
    Dim GroupObj
    UserGroups=
    For Each GroupObj In UserObj.Groups
    UserGroups=UserGroups & [ & GroupObj.Name & ]
    Next
    
    
    
    '############################################################################ 
    '# Icon Arbeitsplatz mit Computername anschreiben
    '############################################################################
    
    MCPath = HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}
    WSHShell.RegWrite MCPath & \, strComputer, REG_SZ
    
    
    '############################################################################ 
    '# Zeit Mit Domäne Syncronisieren
    '############################################################################
    
    wshshell.run net time /domain /set /y
    
    '############################################################################ 
    '# Numlock Einschalten
    '############################################################################
    
    'WshShell.SendKeys {NUMLOCK} 
    
    
    '############################################################################ 
    '# Alle Netzlaufwerke Trennen 
    '############################################################################
    
    'F=102 Z=122
    Dim DelNetDrive
    Set WshNet = CreateObject(WScript.network)
    For DriveAsc = 104 To 122
    On Error Resume Next
    DelNetDrive = Chr(DriveAsc) & :
    WshNet.RemoveNetworkDrive DelNetDrive, True, True
    Next
    
    
    '############################################################################ 
    '# Therminal Server Excluden und Script beenden
    '############################################################################
    
    
    Dim net
    Set net = CreateObject(WScript.Network)
    Set WshNetwork = WScript.CreateObject(WScript.Network)
    
    If WshNetwork.ComputerName = (lensv01) Then
    WScript.Quit
    
    
    '############################################################################ 
    '# Home Netzlaufwerk Einbinden
    '############################################################################
    
    WSHNetwork.MapNetworkDrive H:, \\lensv01\daten\homes\ & WSHNetwork.UserName
    
    
    '############################################################################ 
    '# Gruppen Spezifische Netzlaufwerk einbinden
    '############################################################################
    
    '-------------------------------------------------------------------------
    '              Gruppen Daten Casual
    '------------------------------------------------------------------------- 
    
    If InGroup(Grpd_Casual_Admin) Then
    'KillDrive(O:)
    MapDrive O:,\\lensv01\daten\Firmen-Daten\Casual
    End If
    
    
    
    
    
    on error resume next
    
    Set objTimer = CreateObject(TimeObject.Time)
    objTimer.Timer (5)->Wait 5 seconds
    
    
    '-------------------------------------------------------------------------
    '-------------------------------Sub-Procedures---------------------------
    
    '-------------------------------------------------------------------------
    ' Sub: Disconnects Network Drives
    '-------------------------------------------------------------------------
    Sub KillDrive(strdrive)
    
    On Error Resume Next
    If FileSysObj.DriveExists(strDrive) = true then
    WshNetwork.RemoveNetworkDrive strDrive
    End If
    
    End Sub
    '-------------------------------------------------------------------------
    ' Sub: Drive Mapping Routine
    '-------------------------------------------------------------------------
    Sub MapDrive( strDrive, strShare )
    
    Dim Path
    If InStr(strShare,\) then
    Path=strShare
    Else
    Path=\\ & Authsvr & \ & strShare
    End If
    
    ' Map drive
    On Error Resume Next
    WSHNetwork.MapNetworkDrive strDrive, Path
    
    ' End Sub result
    If Err.Number <> 0 Then WriteErr( strUserID & : Mapping  & strDrive &  to  & Path &   & Err.Description &   & Now() )
    End Sub
    '-------------------------------------------------------------------------
    ' Function: InGroup
    '-------------------------------------------------------------------------
    Function InGroup(strGroup)
    InGroup=False
    If InStr(UserGroups,[ & strGroup & ]) Then
    InGroup=True
    End If
    End Function
    
    
     
  2. Hallo,

    was funktioniert denn konkret nicht?

    Ist es diese Anweisung:
    Code:
    If WshNetwork.ComputerName = (lensv01) Then
     WScript.Quit
    
    Wenn ja, solltest du diese Anweisung wie folgt formulieren:
    Code:
    If LCase(WshNetwork.ComputerName) = (lensv01) Then
     WScript.Quit
    
    Ansonsten läufst du Gefahr, das der Vergleich wg. Gross-/Kleinschreibung scheitert!

    Gruss

    Reiner
     
  3. Ja genau diese..

    Code:
    
    If WshNetwork.ComputerName = (lensv01) Then
    WScript.Quit
    Wenn ja, solltest du diese Anweisung wie folgt formulieren:
    -----------------------------------------------------------------------------
    If LCase(WshNetwork.ComputerName) = (lensv01) Then
    WScript.Quit
    Ansonsten läufst du Gefahr, das der Vergleich wg. Gross-/Kleinschreibung scheitert!
    
    Der Fehler ist das das script dennoch durchläuft und alles mapt.
    Ich versuchs gleich mal mit deinem Vorschlag.
     
  4. funktioniert..

    Besten dank.

    Hast du eventuel noch ne idee was hir falsch sein könnte...

    Code:
    
    Dim WSHNetwork
    Dim WshShell
    Dim UserObj
    Dim objTimer
    Dim strUserID
    Dim strDomain
    Dim net
    
    Set WSHNetwork = WScript.CreateObject(WScript.Network)
    Set WshShell = WScript.CreateObject(WScript.Shell)
    Set FileSysObj = CreateObject(Scripting.FileSystemObject)
    Set net = CreateObject(WScript.Network) 
    
    strDomain = intra.dom.ch
    
    Do
    strUserID = WSHNetwork.UserName
    
    Loop Until strUserID <> 
    
    Set UserObj = GetObject(WinNT:// & strDomain & / & strUserID)
    
    '***Initialise Groups
    Dim UserGroups
    Dim GroupObj
    UserGroups=
    For Each GroupObj In UserObj.Groups
    UserGroups=UserGroups & [ & GroupObj.Name & ]
    Next
    
    If InGroup(Grpp_Allgemein) Then
    net.AddWindowsPrinterConnection \\lensv01\HP4100
    net.SetDefaultPrinter \\lensv01\HP4100       
    End If 
    
    
    Ich erhalte hier immer fehler,
    für die Zeile
    net.AddWindowsPrinterConnection \\Lensv01\HP4100
     
  5. Hallo,

    hab dir im Code ein paar Anmerkungen geschrieben, vielleicht hilfst was.

    Code:
    Set WSHNetwork = WScript.CreateObject(WScript.Network)
    Set WshShell = WScript.CreateObject(WScript.Shell)
    Set FileSysObj = CreateObject(Scripting.FileSystemObject)
    rem Ueberfluessig --> Set net = CreateObject(WScript.Network) 
    rem WScript.Network wurde schon Variable WSHNetwork zugewiesen.
    
    strDomain = intra.dom.ch
    
    rem Warum der Loop hier?
    rem Sehr ueberfluessig!
    Do
    strUserID = WSHNetwork.UserName
    
    Loop Until strUserID <> 
    
    Gruss

    Reiner
     
  6. Besten Dank für deine Info das war der fehler.

    Nun Funktioniert das Logon script wunderbar.
     
Die Seite wird geladen...

Logon script exlude computer - Ähnliche Themen

Forum Datum
Logonscript / Logoffscript via registry key konfigurieren Windows XP Forum 10. Aug. 2008
Ländereinstellungen per Logon-Script Windows 95-2000 30. Mai 2008
[VBScript] Logon-Script um Registry-Einträge abfragen Windows XP Forum 22. März 2007
Logon Script BGINFO Webentwicklung, Hosting & Programmierung 22. Jan. 2007
Logon-Script über Gruppenrichtlinien festlegen Windows Server-Systeme 10. Dez. 2006