Jump to content

Inti29

Members
  • Gesamte Inhalte

    167
  • Registriert seit

  • Letzter Besuch

Beiträge erstellt von Inti29

  1. Irgendwo hast Du Dich tüchtig verstrickt.

     

    Wie gesagt, die Meldungen lt. Logfile basieren auf rservice, das ist ne MS-Sache.

     

    Wie beschrieben in Scripte.pdf (Seite 6), in diesen Logfiles steht viel Müll drin. Wichtig ist beschriebene Zeile, die dort stehen muss:

     

    Es wird je Option ein Logfile geschrieben (siehe Unterordner LOG).

    Da steht viel „Müll“ drin – wichtig ist/sind die Zeile(n) in der Install.log:

    ~Info: Installing service <ServiceName> on <clientname> with image path: C:\<SubVerz>\<SubDir>\srvany.exe.

     

    Guck Dir nun Dein Logfile an:

     

    Dort steht direkt am Anfang ein Rechnernamen mit dem Namen "=Include"

     

    Gib mir mal bitte einen Auszug der Data.bat.

     

    Aber wir sollten Dein spezielles Problem nicht weiter hier erörtern, sondern uns in mein Forum zurückziehen.

     

    Gruß Inti29

  2. Hier die Schritte die ich ausführe:

     

    1. Angemeldet als normaler Domainbenutzer mit Vollzugriff-Rechten auf dem Share

    2. Starten von Skipt "CreateReport.vbs"

    3. Eingabe meines Computernames

    4. Auswahl HTML-Report (Option1)

    5. Skript startet und meldet:

    PSExec service

    Zugriff Verweigert Error level 2250

     

    Das hier hat im Übrigen nichts zu tun mit dem Dienst.

    Kontrollier noch mal, ob die Angaben aus Data.bat stimmen, und entferne evtl. hinter den Einträgen vorhandene Leerzeichen. Diese Option mit der CreateReport.vbs hat bisher noch niemand bemängelt. Entferne ebenfalls auf Deinem Servershare den evtl. vorhandenen Schreibschutz (für alle Ordner), da ansonsten ein Zurückschreiben nicht funktioniert.

     

    Siehe ebenfalls unter: http://aida32-inventory.netboom.de/cs.htm Punkt 06,10+11.

     

    Inti29

  3. Das kann am fehlendem/veraltetem MDAC-Treiber liegen.

     

    Ein paar Clients haben bei mir im meiner Umgebung keine MDAC-Treiber installiert, bleibt nur der Weg über CSV, bzw. auf denen habe ich den neuesten MDAC-Treiber einfach nachinstalliert.

     

    Im Übrigen ist der Weg über das Format CSV der günstigere Weg -

    1:) Der Report wird schneller geschrieben und das ganze ist netzwerkressourcenschonender.

    2:) Der CSV-Importer ist automatisch einsetzbar, so dass evtl. Probleme mit der Db bei eimem Massenansturm von Informationen gar nicht erst auftreten können.

     

    Inti29

  4. Tja, warum ist das so... - gute Frage: Das ganze mit dem Dienst läuft mit dem MS-Tool RSERVICE.exe - warum das nur Remote funktioniert und den eigenen lokalen PC aussen vor lässt, kann ich Dir leider nicht beantworten.

     

    Bei meinen damaligen Tests ist mir das halt aufgefallen, was mir anfangs auch Kopfzerbrechen bereitet hat, ehrlich gesagt. Dann habe ich mir ne 2. Station aufgebaut und diese für sämtliche Tests "missraucht".

     

    Inti29

  5. 1. Wenn ich mich an meinem Rechner als DomAdmin anmelde und für meinen Rechner einen Report erstelle, funktioniert die Erstellung. Melde ich mich an der gleichen Maschine mit meinem normalen DomBenutzer an und starte den Report vom NetShare klappt es nicht. Der Dienst wir zwar gestartet aber ich kann die Daten nicht abrufen. (Ich habe Vollzugriff auf das NetShare-Verzeichnis auf dem das Programm liegt). Ich hatte zum Test mal den Domänen User Inventory in die lokale Admingruppe an meinem lokalen PC gepackt und dann lief es. Es kann doch nicht sein, dass ich zu jedem PC hinlaufen muss um den Inventory in die lokale Admingruppe zu packen.

     

    Im Übrigen: Ich meinte, irgendwo mal beschrieben zu haben, dass der lokale PC, eingetragen ebenfalls in der Clients.txt, also Deine Arbeitsmachine, von wo Du die Scripte startest, NICHT berücksichtigt wird.

     

    Also: Auf Remote-Clients wird durch den Start der MultiSelect.bat/Einzelauswahl.vbs, der Benutzer ("Inventory") automatisch in die lokale Gruppe der Administratoren gehängt, nur nicht auf Deiner lokalen Arbeitmachine.

     

    2. Die Daten werden automatisch in die Datenbank geschrieben. Erstelle ich aber einen CSV-Report und importiere den klappt es.

     

    Ja, ist doch prima, wenn Die Daten automatisch in der DB aufschlagen und dass der CSV-Importer ebenfalls richtig arbeitet...

     

    Inti29

  6. Benutze mal bitte das letzte Package (findest Du im Forum auf meiner Seite).

    Dieses Problem sollte damit beseitigt sen.

     

    Des Weiteren: Das Tutorial.pdf / Scripte.pdf ist neu, nach der beschriebenen Vorgehensweise sollte das Problem keines mehr sein. Am Ende wird genau auf diese Problematik eingegangen.

     

    Es ist erforderlich, den Dienst vorher komplett zu deinstallieren und dann erneut zu installieren (MultiSelect.bat/Einzelauswahl.vbs)

     

    Sorry, kann nicht so viel schreiben, habe die Hand gebrochen, mit Gips tippen ist anstrengend...

     

    Inti29

  7. Für zum Auslesen habe ich das:

     

    Mapping.vbs

    '* Benötigte Deklarationen
    
    Set MyFiles	= CreateObject("Scripting.FileSystemObject")
    Set wshNetwork	= WScript.CreateObject( "WScript.Network" )
    Set WshShell	= WScript.CreateObject("WScript.Shell")
    
    Company		= "Laufwerksmapping - Informationen"
    
    '* Ermitteln des Nutzernamens, Computernamens und der Anmeldedomäne
    
    Do While wshNetwork.username =	""
    WScript.Sleep 250
    Loop
    strComputerName = wshNetwork.computerName
    strUserName = wshNetwork.userName
    strDomainName = wshNetwork.userDomain
    
    '* ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    '* Hier ist der zu verwendenden ServerShare bzw. Pfad einzutragen!
    
    If not MyFiles.FileExists("\\[b]server\share$[/b]\VBS-Tools\Mapping\Report\" & strComputerName & ".log") Then MyFiles.CreateTextFile("\\[b]server\share$[/b]\VBS-Tools\Mapping\Report\"& strComputerName & ".log")
    Set logfile = MyFiles.OpenTextFile("\\[b]server\share$[/b]\VBS-Tools\Mapping\Report\" & strComputerName & ".log",8)
    
    '* ----------------------------------
    '* Ab hier wird nichts mehr geändert!
    '* ----------------------------------
    
    '* ---------------------
    '* Aufruf der Subroutine
    '* ---------------------
    Call SubZusammenfassung
    
    '* -----------
    '* Die Routine
    '* -----------
    Sub SubZusammenfassung ()
    
    '* -----------------------
    '* Benötigte Deklarationen
    '* -----------------------
    Set colDrives	= wshNetwork.EnumNetworkDrives
    Set colPrinters	= wshNetwork.EnumPrinterConnections
    
    Dim CRLF
    CRLF 		= Chr(13) & Chr(10)
    
    
    strMsg = "Anmelde Ergebnisse - " &Now & CRLF & CRLF & "Benutzername" & Chr(9) & "= " & strUserName & CRLF & "Computername" & Chr(9) & "= " & strComputerName & CRLF & "Domäne" & Chr(9) & Chr (9) & "= " & strDomainName & CRLF
    
    '* --------------------------
    '* Verbundene Laufwerkslisten
    '* --------------------------
    If colDrives.Count = 0 Then
    	strMsg = strMsg & CRLF & "Kein Netzlaufwerk ist verbunden." & CRLF
    Else
    	strMsg = strMsg & CRLF & "Verbundene Netzlaufwerk(e):" & CRLF
    
    For i = 0 To colDrives.Count - 1 Step 2
    	strMsg = strMsg & CRLF & colDrives(i) & Chr(9) & colDrives(i + 1)
    Next
    End If
    
    '* ------------------------
    '* Verbundene Druckerlisten
    '* ------------------------
    
    If colPrinters.Count = 0 Then
    	strMsg = strMsg & CRLF & "Kein Netzwerk-Drucker ist verbunden." & CRLF
    Else
    	strMsg = strMsg & CRLF & CRLF & "Verbundene Netzwerk-Drucker:" & CRLF
    
    For i = 0 To colPrinters.Count - 1 Step 2
    	strMsg = strMsg & CRLF & colPrinters(i) & Chr(9) & colPrinters(i + 1)
    Next
    
    '* ------------------
    '* Logdatei schreiben
    '* ------------------
    
    logfile.write(strMsg) & CRLF & CRLF & "----------------------------------------" & CRLF
    
    End If 		'# von verbundene Druckerlisten
    
    
    logfile.close
    
    strMsg = strMsg & CRLF & CRLF & "Dieses Fenster schließt sich in 10 Sekunden automatisch."
    BtnCode = WshShell.PopUp(strMsg,10,Company,64)
    
    End Sub
    

     

    Anzeigebeispiel:

    Anzeigebeispiel.png

     

    Logbeispiel:

    Anmelde Ergebnisse - 06.04.2006 12:32:30
    
    Benutzername	= <Username>
    Computername	= <Clientname>
    Domäne		= <Domain>
    
    Verbundene Netzlaufwerk(e):
    
    E:	\\server\share$
    F:	\\server03abc\userid$
    G:	\\clientname01\e$
    H:	\\clientname02\c$
    I:	\\clientname03\c$
    Z:	\\server03abc\transfer
    
    Verbundene Netzwerk-Drucker:
    
    LPT1:	\\clientname01\hp LaserJet 1320 PCL 6
    
    ----------------------------------------
    

     

    Inti29

  8. ähm... Die in dem Bsp. genannte Variable %host% ist der Platzhalter für die Clients.txt - ich glaube, da stand lefq auf dem Schlauch

     

    Die Clients.txt beinhaltet untereinander weg alle Rechnernamen Deiner Netzwerkumgebung - nicht dass es hier zu Irrtumern kommt.

     

    Aufbau der Clients.txt:

    clientname01

    clientname02

    ...

    [/Quote]

     

    Das Beispiel (lt. Code) packst du in eine Extra-Datei (irgendwas.bat)

     

    Dann startest Du die irgendwas.bat

     

    Die irgendwas.bat sowie die Clients.txt müssen sich im selben Verzeichnis befinden!

     

    Damit setzt Du remote auf allen Clients (in Clients.txt) die Berechtigung für das in der irgendwas.bat angegebene Verzeichnis (inkl. Unterordner) - da wird nichts lokal durchgeführt - alles remote!

     

    Bzgl. Löschung (Removefiles.bat):

    @echo off

    cls

    title Verzeichnis leeren - Loeschung laeuft... Bitte warten...

    SET host=Clients.txt

    for /f %%i in (%host%) do (del /S \\%%i\c$\<verzeichnis>\*.*) && (@echo %%i = Verzeichnis wurde geleert - %Date% %Time%)>>LOG.txt || (@echo %%i = Verzeichnis konnte nicht geleert werden)>>LOG.txt

     

    Sollte funktionieren

     

     

    Inti29

  9. Beispiel mit cacls

     

    @echo off

    cls

    title Verzeichnisschutz wird eingerichtet - Initiierung laeuft... Bitte warten...

    SET host=Clients.txt

    for /f %%i in (%host%) do (cacls \\%%i\C$\<Verzeichnis> /t /e /g Administratoren:f SYSTEM:f /r Jeder <Benutzername>) && (@echo %%i = Verzeichnis wurde geschuetzt - %Date% %Time%)>>LOG.txt || (@echo %%i = Verzeichnis konnte nicht geschuetzt werden)>>LOG.txt

     

    Dieses Beispiel mit cacls setzt die Berechtigungen für den Ordner "Verzeichnis" remote auf allen Clients (in Clients.txt) für die Gruppe der Administratoren sowie SYSTEM und entfernt "Jeder" sowie evtl. den vorhandenen "Benutzername".

     

    Rückgängig:

     

    @echo off

    cls

    title Verzeichnisschutz wird aufgehoben - Initiierung laeuft... Bitte warten...

    SET host=Clients.txt

    for /f %%i in (%host%) do (cacls \\%%i\C$\<Verzeichnis> /t /e /g Jeder:f /r SYSTEM Administratoren <Benutzername>) && (@echo %%i = Verzeichnisschutz wurde aufgehoben - %Date% %Time%)>>LOG.txt || (@echo %%i = Verzeichnisschutz wurde nicht aufgehoben)>>LOG.txt

     

    Hier wird die Berechtigung für "Verzeichnis" auf "Jeder" gesetzt - entfernt wird die Gruppe

    der lokalen Administratoren sowie SYSTEM und <Benutzername>

     

    Inti29

  10. Ich glaube, ich hab da was rausgefunden - Einen "Fehler"(?) bei W2k:

     

    Ich hatte ja folgendes Problem:

    Über den Benutzermanager habe ich einen neuen Benutzer kreiert und diesem in die lokale Gruppe der Administratoren gehängt.

     

    Bei einer Dienstverteilung mit Hilfe von rservice hat die Implementation auf die Clients funktioniert - nur es kam beim Starten des Dienstes dann zur Fehlermeldung:

     

    Fehler 1069: Der Dienst konnte wegen einer fehler Anmeldung nicht gestartet werden.

     

    Gab man das Passwort erneut ein, wurde das bestätigt und gut war.

     

    Das führte dazu, dass ich das template verwendete - soweit so gut...

     

    Nun habe ich mein Script dahingehend nur modifiziert, dass der Benutzer via Script direkt angelegt wird - und diesmal funktioniert das Starten des Dienstes direkt!

     

    Anscheinend gibt es da Unterschiede, ob man nun die GUI (Benutzermanager) benutzt oder aber ein Script.

     

    Inti29

     

    Inti29

  11. Sodele, anscheinend hab ich es hingekriegt.

     

    Das Vorgehen:

    Zuerst habe ich den neuen Benutzer auf dem DC angelegt.

    Dann hatte ich mir ein Vorlage beschafft (service.inf) - gespeichert: C:\WINNT\Security\templates

    Dann habe ich die mmc gestartet - Snap-in ausgewählt: "Sicherheitsvorlagen", dann das service template ausgewählt.

    Unter Lokale Richtlinien - Zuweisen von Benutzerrechten - Anmelden als Dienst habe ich dann den neuen Benutzer hinzugefügt.

    Dann habe ich die mmc beendet und das template service.inf gespeichert.

     

    Das template habe ich dann remote auf den Client kopiert nach C:\WINNT\ecurity\templates

     

    Via script (rservice) habe ich dann den Dienst mit dem Benutzernamen installiert - und siehe da: der Dienst liess sich direkt ohne die Fehlermeldung starten.

     

    Inti29

  12. Meine gefunden Programme haben alle automatisch die Netzwerke nach den Clients abgescannt.

    Dies ist aber nicht erforderlich bzw nichtmal erwünscht

     

    Meiner Meinung nach ist das aber erforderlich. ich weiss ja nicht, um wieviele Clients es sich bei dir handelt, grundlegend sollte so was automatisert laufen.

    Bei mir zum Beispiel werden die Rechner täglich gescannt, die notwendigen Daten liegen bei mir in einer SQL-DB, und auf Knopfdruck generiere ich eine Endlos-Liste aller Clients, die alle notwendigen Daten beinhalten, wie den Rechnernamen, das verwendete OS, die installierte Software und die wichtigsten Hardwareangaben - oder einzeln für einen Rechner (dreiseitiger Report je Client)

    Für Auswertungen wie in Deinem Beispiel genannt sind habe ich simple Abfragen bzw. Diagramme entwickelt.

     

    Also so ein kleines Inventory mit Auswertung.

     

    Bzgl. das das nicht erwünscht ist, kann ich persönlich nicht nachvollziehen - erstens liegt die Datenbank ja nicht zentral rum, sondern nur du arbeitest damit.

     

    Aber wie hier schon genannt - es ist ein sehr komplexes Thema - und die Anforderungen sind sehr verschieden.

     

    So sieht bei mir eine Preview (erste Seite) aus:

     

    Zusatzansicht.jpg

     

    Inti29

  13. Problem 1:

    Bzgl. der Implementierung auf den Clients (=Setzen des Benutzers in die lokale Gruppe der Administratoren) geschieht automatisch bei Verwendung von rservice.

     

    Damit ist das schon zumindest noch einfacher.

     

    Allerdings mit Problem 2: Das geht gar nicht zu scripten, habe ich das Gefühl.

     

    Selbst MS bietet einem nur bekannte Verfahren an:

     

    http://support.microsoft.com/default.aspx?scid=kb;de;259733

     

    Inti31

     

    Mich hätt es grundlegend mal interessiert, ob das Setzen von lokalen Richtlinien scriptfähig wäre....

     

    Scheint wohl nicht so zu sein...

     

    Danke jedenfalls für die Mühen.

     

    Inti29

  14. okay, damit wäre Problem 1 erledigt... - das krieg ich remote via Script ebenfalls hin...

     

    Das 2. Problem ist allerdings wohl kniffliger...

     

    Der Dienst wird mit instsrv angelegt, das ist es nicht, das funktioniert.

    Problem ist, wenn ich den Dienst starte, kommt die Meldung:

     

    Fehler 1069: Der Dienst konnte wegen einer fehler Anmeldung nicht gestartet werden.

     

    Gebe ich dann das PW erneut direkt ein, geht's. - Danach kann ich den Dienst entfernen / neu installieren - alles kein Poblem - Windows merkt sich die lokale Richtlinie für den Benutzernamen.

    Jedenfalls: Füge ich den Benutzer manuell vorher in die Richtlinie ein, dann geht's sofort.

     

    Inti29

  15. Mein Problem:

     

    Per Script lege ich einen Nutzer direkt auf dem DC:

    net user LokADMS password /ADD /EXPIRES:NEVER /PASSWORDCHG:NO /WORKSTATIONS:* /DOMAIN
    net localgroup Administratoren LokADMS /add /DOMAIN
    

     

    Soweit so gut..

     

    Damit wird der Benutzer LokADMS angelegt und ist aufgeführt, wenn ich den Benutzermanager starte.

    Gruppenmitgliedschaften = Administratoren sowie Domänen-Benutzer

     

    Problem1:

    Nun hätte ich gerne, dass der Benutzer LokADMS auf jedem Client in der Gruppe der lokalen Admins aufgeführt wird.

     

    Wie lässt sich das per Script ("remote") bewerkstelligen?

     

    Dieser Benutzer wird nur gebraucht, um einen Dienst zu starten (womit wir bei Problem 2 wären)

     

    Wie füge ich den Benutzer der Lokalen Richtlinie (Zuweisen von Benutzerrechten)

    "als Dienst anmelden" clientseitig hinzu?

     

    Des Weiteren: Wenn ich den Dienst per Script entferne, soll der Benuter LokADMS aus der Gruppe der Administratoren entfernt werden - und natürlich soll er auch aus der Richtlinie entfernt werden.

     

    Inti29

  16. Ein Beispeiel für reg.exe

     

    @echo off
    cls
    title Zeichenfolge auf Clients setzen  - Registry-Key-Verteilung laeuft... Bitte warten...
    SET Value="\\server\share$\Dir\<programm>.exe"
    SET Key=HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\<Name>=%Value% 
    SET host=Clients.txt
    for /f %%i in (%host%) do (reg ADD %Key% %%i) && (@echo %%i = Registry-Key <Name> wurde gesetzt       - %Date% %Time%)>>LOG.txt || (@echo %%i = Registry-Key <Name> bereits vorhanden)>>LOG.txt
    

     

    Inti29

  17. ...was heisst hier viel einstellen? Clients.txt befüllen und 10 (max. 12) Einträge Dein Netzwerk betreffend in der Data.bat sind wohl nicht zuviel...

     

    Und nen Share einrichten, bzw. einen neuen Benutzernamen sollte auch innerhalb von 3 Minuten geschafft sein inkl. der Sicherheitsberechtigungen

     

    Danach sind alle Scripte einsatzbereit. Verteilen und gut. Danach sind alle Angaben aus der DB zu entnehmen.

     

    Ausserdem kannst Du mit der Package ebenso Reports von Clients generieren, ohne dass Du was auf dem Client machen musst.

     

    Zur Frage:

    Ja, Everest bietet allerdings unter Einstellungen-Allgemein die Möglichkeit, das der RegKey automatisch gesetzt wird.

     

    Inti29

×
×
  • Neu erstellen...