Jump to content

Slupor

Members
  • Gesamte Inhalte

    28
  • Registriert seit

  • Letzter Besuch

Beiträge erstellt von Slupor

  1. Ich weiß, man soll keine Antiquitäten in einem Forum wieder ausgraben, aber ich hatte eben auch dieses Problem und habe es wie folgt gelöst... Vielleicht hilft es ja dem nächsten der die SuFu benutzt :)

     

    - Setze den Drucker, welcher als Standarddrucker gesetzt werden soll an die letzte Stelle der Richtlinie

    - cmd --> gpupdate /force

    - Standard-Drucker wurde gesetzt und war auch noch nach Anmeldung vorhanden

     

  2. http://www.gruppenrichtlinien.de/artikel/bereitgestellte-drucker-drucker-veroeffentlichung/

     

     

     

    Dem einfachen Bereistellen folgen noch eine paar offene Fragen:

    (Achtung! Ironie und Sarkasmus Detektor aktivieren)
     

    1. Wie definiere ich einen Standarddrucker, wenn mehrere Drucker über die Gruppenrichtlinien verteilt werden?
      Mit irgendeiner anderen intelligenten Lösung, da MS es versäumt hat, diese Option zu hinterlegen.

     

    Soviel dazu... Ich bin nach wie vor der Meinung, dass ich mit meinem Script alles an einer Stelle habe, auch wenn nicht für jeden Blödmann (oder hießen die Leute User :D ) der nur eine GUI lesen kann ersichtlich.

  3. Du solltest aber hier niemanden deswegen persönlich angreifen.

     

     

    Ich habe niemanden persönlich angegriffen, ich erwarte in so einem Forum lediglich Antworten auf das was ich auch gefragt habe!

    Zum anderen wiederholt hier der eine den Beitrag des anderen und ich habe das Gefühl, dass meine Beiträge garnicht erst gelesen wurden, sonst wäre klar gewesen: Ich will ein Script basteln, nicht mehr und nicht weniger! Habe ich so auch mehrfach betont! Wofür und ob das so nun in den Einsatz kommt oder nicht kann jedem doch völlig egal sein.

     

    Mal im Ernst eine Gegenfrage an dich: Wenn du jemanden fragst der Ahnungs hat (wovon ich hier ja ausgehe) welches Auto er dir empfehlen kann und du gibst ihm 2 Modelle vor und willst die Vor- und Nachteile wissen und bekommst als Antwort "Autofahren ist mist, fahr mit dem Zug!" wärst du mit dieser Antwort zufrieden? Also ich nicht.

  4. Zuerst mal danke an alle die geholfen haben.

     

    /rage

    Hauptsächlich an Sunny, der Rest der hier gepostet hat den würde ich wenn ich Mod wäre hier als Spam löschen!

     

    Mal ehrlich, langsam platzt mir die Hutschnur... Wenn mich einer Fragt "Wie wird das Wetter morgen?" dann antworte ich ihm auch nicht in jedem zweiten Satz: "Das sag ich dir nicht, aber im August solls Toll werden, ich würde mir meinen Urlaub dort nehmen!"

     

    Ich frage nach expliziten Stellen in einem vorgegebenen Script, weiß sogar schon an welchen Stellen mein Fehler sitzt und jeder zweite hier schreibt mir "Ich würde das garnicht mit VBS machen!"

     

    Mein "Ungetüm" wie du es nennst wird sogar insgesamt noch länger, weil wir hier mehere Firmen auf einer Serverfarm haben und mein Chef das mit einem VB-Login-Script haben will und ich ebenfalls!

    /rage Ende :D

     

    Dieses Script ist zum anderen eine Übungssache um da wieder etwas rein zu kommen. Je komplizierter ich es mache und trotzdem noch verstehe desto besser ist das.

    Mit MsgBox("Hallo Welt!") lernt man in meinen Augen garnichts! Und hierbei habe ich direkt eine Testumgebung. Nicht dass jetzt einer denkt ich würde dieses Script auf laufenden Servern testen. Das wird zum einen zuerst alles in eine Textdatei ausgegeben wie an vielen Stellen zu sehen ist und zum anderen teste ich bevor ich das mache in einer Virtuellen, kleineren Umgebung.

  5. Set Conn = CreateObject("ADODB.Connection")
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set fdesc = fso.OpenTextFile("C:\test.txt", 8, True)
    Set objShell = CreateObject("WScript.Shell")
    user=objShell.ExpandEnvironmentStrings("%UserName%")
    
    PRSName = "PS-1"
    ' Connect to the database
    strConnect = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\STDPRN.mdb"
    Conn.Open strConnect
    
    StrSQL = "Select * FROM PRN1 WHERE USR = user"
    Set RS = Conn.Execute(StrSQL)
    fdesc.WriteLine("\\" & PRSName & "\" & RS("PRN") & vbCrlf & "Standartdrucker gesetzt!")
    RS.Close
    Conn.close

    obigen Code verwende ich aktuell um aus einer Access-DB Daten auszulesen. Wenn ich den Usernamen von Hand eingebe funktioniert das ganze auch so wie es soll, aber ich will ja den Usernamen Variabel haben, wie kann ich meinem VB-Script sagen er soll nicht den user "user" suchen sondern die Variable user? z.B. m.mustermann ist am System angemeldet, dementsprechend soll da stehen >>StrSQL = "Select * FROM PRN1 WHERE USR = m.mustermann"<<

  6. '********************************************************************************************************'
    	Option Explicit
    	On Error Resume Next
    '********************************************************************************************************'
    
    '****************************************** Variablen zuweisen ******************************************'
    	Dim fso
    	Dim objNetwork
    	Dim strComputer
    	Dim objShell
    	Dim objGroups
    	Dim objWMIService
    	Dim colInstalledPrinters
    	Dim objPrinter
    	Dim user
    	Dim domain
    	Dim objGroup
    	Dim Groups
    	Dim Computer
    	Dim PrintQueue
    	Dim PRNAME
    	Dim PRSName
    
    	strComputer = "."
    	Set objWMIService = GetObject ("winmgmts:\\" & strComputer & "\root\cimv2")
    	Set colInstalledPrinters = objWMIService.ExecQuery _
    		("Select * From Win32_Printer Where Network = True")
    	Set fso = CreateObject ("Scripting.FileSystemObject")
    	Set objShell = CreateObject("WScript.Shell")
    	Set objNetwork = CreateObject("WScript.Network")
    	domain = objNetwork.UserDomain
    	Groups = "#"
    	PRNAME = ""
    	PRSName = "PS-1"
    	user=objShell.ExpandEnvironmentStrings("%UserName%")
    	Set objGroups = GetObject("WinNT://" & domain & "/" & user)
    	Set Computer = GetObject("WinNT://" & PRSName & ",Computer")
    	Computer.Filter = Array("PrintQueue")
    '********************************************************************************************************'
    
    '************************************ Gruppenmitgliedschaft abfragen ************************************'
    	For Each objGroup In objGroups.Groups
    		Groups = Groups & objGroup.Name & "#"
    	Next
    '********************************************************************************************************'
    
    '********************************************* Datev-Gruppe *********************************************'
    	If InStr(Groups, "#Datev#") > 0 Then
    		'++++++++++++++++++++++++++++++++++++++ Laufwerk L "Datev" ++++++++++++++++++++++++++++++++++++++'
    			If fso.DriveExists ("L:") Then 
    				objNetwork.RemoveNetworkDrive "L:", True, True
    			End If
    			objNetwork.MapNetworkDrive "L:", "\\DATEV-SRV\DATEV ", True
    		'++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'
    	End If
    '********************************************************************************************************'
    
    '*********************************************** All-User ***********************************************'
    	If InStr(Groups, "#Alle#") > 0 Then
    		'++++++++++++++++++++++++++++++++++++++ Laufwerk G "Daten" ++++++++++++++++++++++++++++++++++++++'
    			If fso.DriveExists ("G:") Then 
    				objNetwork.RemoveNetworkDrive "G:", True, True
    			End If
    			objNetwork.MapNetworkDrive "G:", "\\File-SRV\Daten", True
    		'++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'
    
    		'+++++++++++++++++++++++++++++ Laufwerk Z: "Daten User Individuell" +++++++++++++++++++++++++++++'
    			If fso.Folderexists("\\File-SRV\Daten-User-Individuell\" & user) = True Then
    				If fso.DriveExists ("Z:") Then 
    					objNetwork.RemoveNetworkDrive "Z:", True, True
    				End If
    				objNetwork.MapNetworkDrive "Z:", "\\File-SRV\Daten-User-Individuell\"& user, True
    			End If
    		'++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'
    	End If
    '********************************************************************************************************'
    
    '****************************** alle bestehenden Netzwerkdrucker entfernen ******************************'
    	For Each objPrinter in colInstalledPrinters
    		objPrinter.Delete_
    	Next
    '********************************************************************************************************'
    
    '********************************************** Drucker 18 **********************************************'
    	If InStr(Groups, "#18#") > 0 Then
    		For Each PrintQueue In Computer
    			PRNAME = PRNAME & PrintQueue.PrinterName & vbCrlf
    			If Instr(PrintQueue.PrinterName, "PS-1\18-") > 0 then
    				objNetwork.AddWindowsPrinterConnection PrintQueue.PrinterName
    			End If
    		Next
    	PRNAME = ""		
    	End If
    '********************************************************************************************************'
    
    '********************************************** Drucker 32 **********************************************'
    	If InStr(Groups, "#32#") > 0 Then
    		For Each PrintQueue In Computer
    			PRNAME = PRNAME & PrintQueue.PrinterName & vbCrlf
    			If Instr(PrintQueue.PrinterName, "PS-1\32-") > 0 then
    				objNetwork.AddWindowsPrinterConnection PrintQueue.PrinterName
    			End If
    		Next
    	PRNAME = ""		
    	End If
    '********************************************************************************************************'
    
    '********************************************** Drucker 42 **********************************************'
    	If InStr(Groups, "#42#") > 0 Then
    		For Each PrintQueue In Computer
    			PRNAME = PRNAME & PrintQueue.PrinterName & vbCrlf
    			If Instr(PrintQueue.PrinterName, "PS-1\42-") > 0 then
    				objNetwork.AddWindowsPrinterConnection PrintQueue.PrinterName
    			End If
    		Next
    	PRNAME = ""		
    	End If
    '********************************************************************************************************'
    
    '************************************** Standart-Drucker festlegen **************************************'
    	objNetwork.SetDefaultPrinter "\\PS-1\18-L202"
    '********************************************************************************************************'

    Hier nun mal das bisher fertige Script, damit komme ich wohl ganz gut hin, das einzige was mir noch fehlt ist am Ende die Geschichte mit dem Standart-Drucker, der soll natürlich auch noch dynamisch werden.

    Es existiert wohl auch schon eine Excel-Datei wo drin steht, wer welchen Standartdrucker hat, ob man diese wohl so verwenden kann als externe Datenquelle?

     

    Ich persönlich finde das Script doch sehr überschaubar und übersichtlich, vor allem halt eben alles an einem Fleck. Gibts irgendwo ne Ecke hier im Forum für fertige Scripte zum veröffentlichen, wenn ich alles habe?

     

    Was ist eigenlich der unterschied zwischen:

     

    Dim var_a
    Dim var_b
    Dim var_c

    und

    Dim var_a, var_b, var_c

    Sollte es da keinen geben wäre dann ja doch alles noch um ein paar Zeilen kürzer das ganze, wenn ich da alles in eine Zeile quetsche, oder? Wurde bisher in keinem Tutorial erklärt das ich gefunden habe und wonach ich bei Google suchen sollte um das zu erfahren wüsste ich momentan auch nicht...

     

    Wenn meine Vermutung richtig ist dürfte es bei VBS egal sein wie ich das schreibe, nur bei VB nicht, zumindest dann nicht wenn ich noch deklariere was für eine Art von Variable es sein soll (as integer, usw.) aber bei VBS geht das ja garnicht... Oder täusche ich mich hier?

  7. Ok, das hat schonmal wunderbar geklappt und lies sich auch einwandfrei einbinden, aber wie sage ich meinem Script nun, dass es z.B. genau die 4 Drucker die mit 18- anfangen auch installieren soll?

    bisher wurden alle Drucker "von Hand" mit

    objNetwork.AddWindowsPrinterConnection "\\PS-1\18-L202"

    installiert.

     

    Alle Netzwerkdrucker deinstallieren habe ich auch hinbekommen mit

     

    Set colInstalledPrinters = objWMIService.ExecQuery _
    	("Select * From Win32_Printer Where Network = True")
    
    For Each objPrinter in colInstalledPrinters
    	objPrinter.Delete_
    Next

    Ich habe jetzt ja meine schöne Druckerliste die wie folgt aussieht: "#\\PS-1\01-L100#\\PS-1\01-L101#\\PS-1\02-L100#..."

    Darin stecken ja irgendwo auch meine "\\PS-1\18-" Drucker.

     

    Mit deinem Vorschlag kann ich jetzt zwar sagen sobald diese auftauchen tue irgendwas oder installiere einen bestimmten Drucker, aber ich möchte ja direkt alle die darin auftauchen auch installieren und genau da hänge ich. Wie in meinem anderen Thread (siehe Link im ersten Post) zu sehen ist war mir das

    if Instr(PrintQueue.PrinterName, "PS-1\18-") > 0 then

    nicht fremd.

     

    Ich hänge im Prinzip an genau dieser Stelle nun fest und hoffe auf weitere Denkanstöße:

     

    'Drucker hier installieren...

     

    Edit:

     

    habe es nun "fast" hinbekommen...

     

    dim PRSName
    dim Computer
    dim PrintQueue
    dim PRNAME
    dim fso
    
    PRNAME = ""
    PRSName = "PS-1"
    
    set fso = CreateObject("Scripting.FileSystemObject")
    set fdesc = fso.OpenTextFile("test.txt", 2, True)
    Set Computer = GetObject("WinNT://" & PRSName & ",Computer")
    Computer.Filter = Array("PrintQueue")
    
    For Each PrintQueue In Computer
      if Instr(PrintQueue.PrinterName, "PS-1\18-") > 0 then
        fdesc.WriteLine(PrintQueue.PrinterName & " wurde installiert!")
      end if
      PRNAME = PRNAME & PrintQueue.PrinterName & vbCrlf
    Next
    fdesc.WriteLine(PRNAME & vbCrlf & vbCrlf & "XXXXXXXXXXXXXXXXXX")
    fdesc.Close

    Lasse zu testzwecken erstmal alles per Ausgabe in eine Textdatei schreiben, bis ich sicher bin, dass das auch funktioniert. Folgendes Problem habe ich aber noch... meine Textdatei sieht wie folgt aus:

     

    \\PS-1\18-LabelPrinter wurde installiert!
    \\PS-1\18-L205 wurde installiert!
    \\PS-1\18-L204 wurde installiert!
    \\PS-1\18-Fax-203 wurde installiert!
    \\PS-1\18-LabelPrinter
    \\PS-1\18-L205
    \\PS-1\18-L204
    \\ps-1\18-L203
    \\ps-1\18-L202
    \\PS-1\18-Fax-203
    .
    .
    .
    
    XXXXXXXXXXXXXXXXXX

    gesetz dem Fall ich würde "fdesc.WriteLine(PrintQueue.PrinterName & "wurde installiert!")" ersetzen durch "objNetwork.AddWindowsPrinterConnection PrintQueue.PrinterName" würden mir nun 2 Drucker fehlen, aber warum? Es wurde der Drucker 18-L203 und 18-L202 nicht installiert... kann das an der Groß- Kleinschreibung liegen? wieso macht er überhaupt mal groß und mal klein? Dachte eigentlich Windows wäre außer bei Passwörtern die Groß- Kleinschreibung egal... Habe auch schon versucht im Script die Groß- Kleinschreibung zu ändern, bzw. anzupassen, bringt aber nichts, er liest manche Drucker nur mit Großbuchstaben wie es im Script steht und manche mit Kleinbuchstaben :(

     

    jemand eine Idee?

     

    Nochmal Edit:

     

    Fehler schneller gefunden als ich dachte:

     

    Manche Drucker waren wohl noch mit Kleinbuchstaben bereits verbunden, wenn ich diese Trenne dann funktioniert es wie es soll.

  8. Frohes Neues Jahr an alle an dieser Stelle.

     

    Wie es letztes Jahr aufgehört hat mit meinem Anmeldescript ist hier zu lesen: http://www.mcseboard.de/topic/196242-mehrere-anmeldescripte-m%C3%B6glich/

     

    Nun stehe ich vor meinem nächsten Gehirnjogging und irgendwie will mein Hirn dieses Jahr nicht so ganz mitspielen, vielleicht nach 14 Tagen Urlaub aus der Übung...

     

    - Ich habe einen Printserver (PS-1) auf dem insgesamt 114 Drucker installiert sind.

    - Alle sind brav benannt (für Mandant 18 heißt der Laserdrucker mit der IP 192.168.0.101 z.B. 18-L101, der Nadeldrucker mit der IP 192.168.0.102 z.B. 18-N102, usw.)

     

    Wie ich eine Liste mit allen freigegebenen Druckern bekomme weiß ich noch, das hat auch wunderbar hiermit funktioniert:

     

    dim PRNServer
    dim Computer
    dim PrintQueue
    dim PRNAME
    dim fso
    
    PRNAME = "#"
    PRNServer = "PS-1"
    
    set fso = CreateObject("Scripting.FileSystemObject")
    set fdesc = fso.OpenTextFile("printers.txt", 2, True)
    Set Computer = GetObject("WinNT://" & PRNServer & ",Computer")
    Computer.Filter = Array("PrintQueue")
    
    For Each PrintQueue In Computer
      PRNAME = PRNAME & PrintQueue.PrinterName & "#"
    Next
    fdesc.WriteLine(PRNAME)
    fdesc.Close

    Die Textdatei war nur zum Test, es reicht mir ja im Script später das Query, aber in einer MsgBox zeigt er nicht alle an, vermutlich zu viel Inhalt.

    Als Trennzeichen zwischen den Druckern ist auch schön brav ein "#" damit man weiß: hier beginnt der nächste Drucker.

     

    Achtung, erst jetzt kommt die Frage: Wie kann ich z.B. alle Drucker installieren, die im Query mit "#\\PS-1\18-" stehen? Brauche ich das Query überhaupt?

    Ich muss es mit einem Script lösen, ich weiß selbst, dass und wie es einfacher geht, dient als Übung in VBS.

  9. Set objShell = CreateObject( "WScript.Shell" )
    user=objShell.ExpandEnvironmentStrings("%UserName%")
    Set WshNetwork = WScript.CreateObject("WScript.Network")
    domain = WshNetwork.UserDomain
    txt = "#"
    Set oGroups = GetObject("WinNT://" & domain & "/" & user)
    For Each oGroup In oGroups.Groups
    	txt = txt & oGroup.Name & "#"
    Next
    eingabe=INPUTBOX("Welche Gruppe soll abgefragt werden:")
    If InStr(txt, "#" & eingabe & "#") > 0 Then 
    	MsgBox "Der Benutzer " & user & " ist Mitglied der Gruppe " & eingabe & "!"
    Else
    	MsgBox "Der Benutzer " & user & " ist NICHT Mitglied der Gruppe " & eingabe & "!"
    End If

    Für alle die noch mehr wollen, damit kann man die Zugehörigkeit einer Gruppe abfragen. Lässt sich im Prinzip auch problemlos in das Script einbauen...

  10. '**************** Bei einem Fehler nicht abbrechen, sondern weiterlaufen **************** 
    
    On Error Resume Next
    Option Explicit
    
    '**************** Variablen deklarieren und initialisieren ****************
    
    Dim fso
    Dim objNetwork
    Dim strComputer
    Dim oShell
    Dim objWMIService
    Dim colInstalledPrinters
    Dim objPrinter
    Dim user
    
    strComputer = "."
    Set objWMIService = GetObject ("winmgmts:\\" & strComputer & "\root\cimv2")
    Set colInstalledPrinters = objWMIService.ExecQuery _
    	("Select * From Win32_Printer Where Network = True")
    Set fso = CreateObject ("Scripting.FileSystemObject")
    Set oShell = CreateObject( "WScript.Shell" )
    Set objNetwork = CreateObject("WScript.Network")
    
    user=oShell.ExpandEnvironmentStrings("%UserName%")
    
    '**************** Netzlaufwerke prüfen und neu verbinden ****************
    
    '**************** Laufwerk G "Daten" ****************
    
    If fso.DriveExists ("G:") Then 
    	objNetwork.RemoveNetworkDrive "G:", True, True
    Else
    	WScript.Sleep 100
    End If
    objNetwork.MapNetworkDrive "G:", "\\FS-1\Daten", True
    
    '**************** Laufwerk Z "Daten User Individuell" ****************
    
    If fso.Folderexists("\\FS-1\Daten-User-Individuell\" & user) = True Then
    	If fso.DriveExists ("Z:") Then 
    		objNetwork.RemoveNetworkDrive "Z:", True, True
    	Else
    		WScript.Sleep 100
    	End If
    	objNetwork.MapNetworkDrive "Z:", "\\FS-1\Daten-User-Individuell\"& user, True
    Else
    	WScript.Sleep 100
    End If
    
    '**************** alle benötigten Drucker prüfen und neu verbinden ****************
    
    For Each objPrinter in colInstalledPrinters
    	objPrinter.Delete_
    Next
    
    objNetwork.AddWindowsPrinterConnection "\\PS-1\PRN1"
    objNetwork.AddWindowsPrinterConnection "\\PS-1\PRN2"
    objNetwork.AddWindowsPrinterConnection "\\PS-1\PRN3"
    objNetwork.AddWindowsPrinterConnection "\\PS-1\PRN4"
    
    '**************** Standartdrucker festlegen ****************
    
    objNetwork.SetDefaultPrinter "\\PS-1\PRN2"

     

    Für alle die mal eins brauchen, hier mein VB-Login-Script

     

    Klar kann ich das im Script abfragen, aber dann wiederum wird das Script doch wieder etwas umständlicher und es sollen ja auch mal zukünftig eventuell Leute damit klar kommen die in VBS nicht so ganz bewandert sind.

     

    Wie meine AD-Struktur aussieht steht oben, es soll zusätzlich zu den Mandanten noch Sicherheitsgruppen geben für z.B. Datev und Sfirm

     

    So wenig wie möglich war wohl eher auf die jetzige Situation bezogen, weil momentan jeder zum Standart-Loginscript noch sein persönliches zusätzlich besitzt, stand aber auch oben...

  11. Die Laufwerke sollen auf keinen Fall fest verbunden werden. Die Aufgaben der User ändern sich mit der Zeit und ich will ohne viel Aufwand den Usern die nötigen Laufwerke zur verfügung stellen. Meine Idee war, wenn z.B. User2.1 momentan nicht in Datev arbeitet bekommt er kein Laufwerk L (auch keinen Zugriff wenn er es über \\Servername\Datev aufrufen sollte). Das ganze ist dann mit der Pflege des AD im Prinzip komplett geschehen.

    Sollte User2.1 aber nun in 6 Monaten doch in Datev arbeiten müssen, dann ist er ab da einfach zusätzlich "Mitglied von DatevUsers" und bekommt automatisch das Laufwerk L bei Anmeldung verbunden. Wenn er wiederum in weiteren 3 Monaten keinen Datev Zugriff mehr haben soll nehme ich ihn einfach aus der Gruppe raus und somit verschwindet bei der nächsten Abmeldung automatisch das Laufwerk L und kommt bei erneuter Anmeldung nicht wieder.

     

    Zum Thema Laufwerke selbst verbinden... Fällt leider aus, es wird über Citrix und veröffentlichte Anwendungen gearbeitet.

     

    Es geht ja auch nicht nur um Laufwerke, sondern auch um freigegebene Drucker, Standartdrucker setzen, usw. Ich selbst finde da ein einseitiges VB-Script doch übersichtlicher als eine GUI in der jeder Punkt dann in einer anderen Registerkarte steckt. Desweiteren bin ich mehr der Konsolen-Fan und auch davon nicht abzubringen :)

     

    Meine Frage ist lediglich noch folgende: Geht das so wie ich mir das vorstelle oder nicht?

  12. Hallo,

     

    Ich stehe hier vor folgendem Problem:

     

    In unserer Firma arbeiten 180 Mitarbeiter am PC. Bisher sind diese auf 10 Mandanten verteilt und jeder Mandant hat sein eigenes Anmeldescript, welches beim Benutzer eingetragen ist.

    Folgendes Fallbeispiel:

     

    Für Mandant 1 werden standartmäßig Laufwerk Z und Q verbunden (wohin ist ja eingentlich egal). 4 von 10 Mitarbeitern müssen aber zusätzlich Laufwerk G haben. Für diese Mitarbeiter ist ein zusätzliches script mit Namen "%username%.cmd" erstellt worden, welches über "if exist "\\DC1\NETLOGON\%username%.cmd" call "\\DC1\NETLOGON\%username%.cmd"" aufgerufen wird.

    Nun ändern sich hier die Berechtigungen aber ständig und bei den Scripten existiert mehr und mehr ein Totales durcheinander.

     

    Mein AD sieht in etwa wie folgt aus:

     

    -Domäne

      - Mandant 1

        - User1.1

        - User1.2

      - Mandant 2

        -User2.1

        -User2.2

    .

    .

    .

     

    Ich möchte nun mit so wenig Scripten wie möglich eine Lösung finden und habe mir folgendes überlegt:

     

    1.: weg mit den Batch-Scripten --> Umstellung auf VBS

    2.: Kein Script mehr im AD-Benutzer

    3.: Über die GPO pro Firma/Mandant ein Loginscript ausführen

    4.: Gruppen erstellen für Anwendungen (z.B: Datev, SFIRM, usw.)

    5.: In den Gruppen per GPO weitere Anmeldescripte hinterlegen

     

    Aber: Bevor ich das ganze ausprobiere, weil ich da ja im AD mal so richtig viel Zeit zum aufräumen investieren müsste möchte ich vorher mal fragen ob dies so überhaupt funktioniert.

     

    Ich hätte dann ja z.B. das Script Mandant1.vbs welches sämtliche Laufwerke und Drucker für sämtliche User verbindet. Zusätzlich wenn User1.1 in der Gruppe "Datev" Mitglied ist wird noch das Netzlaufwerk für Datev verbunden.

     

    Ich hoffe ich konnte mich verständlich ausdrücken und würde mich über weitere Vorschläge und Antworten freuen.

     

    Gruß,

     

    Slupor

  13. Hallo,

     

    Habe hier ein Netzwerk mit 2 XP Clients und einem Windows 2003 Server. Alle PCs verfügen über Gbit-LAN Karten und haben fest verbundene Netzlaufwerke zum Server. Wenn ich vom Server etwas auf die PCs übertrage habe ich eine Geschwindigkeit von ~20 MB/s damit kann ich ja noch leben, auch wenn es sehr langsam ist. Sind nun mal nicht mehr die neusten PCs. Übertrage ich aber in die andere Richtung, d.h. vom Client zum Server, dann erreiche ich gerade mal (wenn überhaupt) 1 MB/s, meistens jedoch weniger. Habe mal IIS und FTP auf dem Server eingerichtet um zu testen obs damit geht, damit ist die Übertragungsgeschwindigkeit vollkommen i.O. Am Netzwerk kann es auch nicht liegen, die PCs untereinander sind auch ok, nur Daten zum Server senden ist verdammt langsam. Jemand ne Idee?

  14. Ja, frag mich nicht wieso. Nach einem Anruf war die Sache erledigt und angeblich war nichts gewesen, ich habe aber keine Einstellungen mehr vorgenommen, alles so gelassen wie es war, ipconfig /flushdns und Browsercache waren schon längst ins Nirvana befördert.

     

    Ich habe dort angerufen, nachgefragt ob da grad ein Problem vorliegt, dann wurde ich 2 Minuten in die Warteschleife geschubst, es hieß es wäre kein Problem und es lief wieder alles wie es soll.

  15. Ihr seid echt spitze, vielen dank nochmal. Sollte ich im Zuge der Umstellung weitere Probleme haben, dann melde ich mich nochmal.

     

    Das Problem mit der Webseite hat sich auch erledigt, der ISP hat geblockt, warum und weshalb weiß natürlich keiner, habe aber alles richtig gemacht. Hauptsache es geht nun und bleibt auch so.

     

    Danke nochmal an alle Helfer, selten ein so kompetentes Forum erlebt, gefällt mir.

  16. Icvh glaub ich stell mich grad echt dumm an, mein Kopf is wo anders hab ich das Gefühl...

     

    ich mache folgendes:

     

    Neuer Host (A)...

    Name = www

    IP-Adresse = Die des ISP welche ich durch anpingen, bzw. nslookup der Domain von einem externen Rechner herausgefunden habe

     

    aber irgendwie geht es nicht.

     

    Ich hab grade den ISP an der Strippe, nslookup spuckt nun die richtige IP aus, auf die Seite komme ich aber trotzdem nicht.

    wenn ich einen ping auf http://www.firma.de mache dann gibt er mir den DNS-Server des ISP aus... auch nicht ganz richtig, oder? Wie gesagt, beim nslookup stimmt die IP

  17. Ja habe ich aber Kunden eben :rolleyes:

     

    Neuer Tag neues Problem: Dadurch, dass der DNS nun richtig funktioniert und die Domain leider Gottes gleich benannt wurde wie die Webseite (firma.de), was sich ja auch so einfach nicht mehr ändern lässt, ist nun die externe Website der Firma nicht mehr von innen erreichbar. Wie kann man da abhilfe schaffen?

  18. Ich wollte schon lange einen zweiten Server, am liebsten sogar 3 hier stehen haben, aber der Finanzminister hat mir da einen Strich durch die Rechnung gemacht. Es laufen momentan DC mit AD, DNS, DHCP, WINS, SQL mit 2 Datenbanken, Exchange, Fileserver, Symantec Endpoint Protection inkl. Adminconsole für die Verwaltung und Terminal-Server alles auf einer Maschine.

     

    Was das für Folgen haben kann weiß ich selber, aber finanziell ist nicht mehr drin, da sämtliche Lizenzen hier bei diesem Kunden mal ausnahmsweise legal erworben wurden, was ja leider Gottes nicht immer der Fall ist.

    Hierfür wäre ja nicht nur die Hardware, sondern auch wieder separate Lizenzen notwendig.

     

    Was das vorhin war weiß ich nicht, nach einem Neustart des Servers waren alle Fehler in dcdiag weg, somit gehe ich von einem reibungslos laufenden System aus.

     

    Was mich nur gewundert hat, war, dass nslookup keinerlei Fehler ausgespuckt hat.

     

    Und zu den letzten paar Fragen: XP nicht mehr notwendig, hab nun alles im Griff. Patches sind auf dem Server die neusten drauf und das Problem war überall, war ja vom DNS-Server verursacht. Komisch nur, dass es in XP nicht auftrat... was solls, jetzt geht alles und ich bin Froh und hab gleich Feierabend.

  19. Danke für die vielen und schnellen Antworten, das Problem habe ich in den Griff bekommen.

     

    GPO's wurde nie erstellt, da diese in diesem Netzwerk nicht notwendig sind.

     

    Es lag am DNS, welchen mein Vorgänger nicht korrekt installiert hatte.

     

    Ich habe sämtliche Zonen gelöscht, eine neue Forward und Reverse Zone angelegt, am Server ein mal ipconfig /registerdns und das Problem war behoben. Bin nun gespannt ob die nächsten Rechner morgen auch ohne Registry-Tweak in die Domäne kommen, ich sag dann nochmal bescheid.

     

    Vielen dank an alle die geholfen haben.

     

    dcdiag hat nun noch ein Problem:

     

    C:\Dokumente und Einstellungen\Administrator>dcdiag /q

    An Error Event occured. EventID: 0x00000457

    Time Generated: 08/13/2012 17:03:09

    (Event String could not be retrieved)

    An Error Event occured. EventID: 0x00000457

    Time Generated: 08/13/2012 17:03:09

    (Event String could not be retrieved)

    An Error Event occured. EventID: 0x00000457

    Time Generated: 08/13/2012 17:04:34

    (Event String could not be retrieved)

    An Error Event occured. EventID: 0x00000457

    Time Generated: 08/13/2012 17:04:35

    (Event String could not be retrieved)

    ......................... SRV1 failed test systemlog

     

    ist der einzige Server und an XP komme ich wie schon erwähnt nicht mehr dran, weil Windows 7 neu installiert.

  20. Es wurde schon SP1 nun installiert, ohne Erfolg. Das abschalten der Offline-Dateien erbrachte auch keinen Erfolg.

     

    Leider ist es nicht so einfach :)

    Ich bin nun im Moment dabei sämtliche anderen Updates zu installieren (abgesehen von den Sprachpaketen in 60 Sprachen)

     

    Desweiteren habe ich festgestellt, dass der Server nach 40-60 Minuten wenn man am Client nichts tut plötzlich weg ist und bei erneutem Zugriff n ach Benutzername und Kennwort gefragt wird, obwohl ich an der Domäne angemeldet bin als Administrator.

     

    Heute ist der Edit-Knopf mein Freund. Ich werde in ca. 10 Minuten den DNS-Server mal runter nehmen und neu aufspielen und von Grund auf neu konfigurieren, melde mich dann wieder.

×
×
  • Neu erstellen...