Jump to content

ZeroKnowledge

Members
  • Gesamte Inhalte

    59
  • Registriert seit

  • Letzter Besuch

Beiträge erstellt von ZeroKnowledge

  1. Hab da noch was in meiner Skript-Sammlung gefunden. Das Skript war mal für mehr als einen Rechner gedacht, darum auch das Array und die Extra-Schleife außen rum.

     

    set WshShell = WScript.CreateObject("WScript.Shell")
    
    Set objExcel = CreateObject("Excel.Application")
    objExcel.Visible = False
    objExcel.Workbooks.Add
    
    dim strComputers, row
    strComputers = Array(".")
    row = 1
    
    For Each computer in strComputers
    Set objWMIService = GetObject("winmgmts:\\" & computer & "\root\CIMV2") 
    
    objExcel.Cells(row, 1).Value = computer
    objExcel.Cells(row, 1).Font.Underline = True
    
    Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled=TRUE",,48) 
    For Each objItem in colItems
    	If not isNull(objItem.DNSServerSearchOrder) Then
    		row = row + 1
    		objExcel.Cells(row, 1).Value = Right(objItem.Caption, (Len(objItem.Caption) - 11))
    		objExcel.Cells(row, 2).Value = Join(objItem.DNSServerSearchOrder, "; ")
    	End If
    Next
    
    row = row + 2
    Set objWMIService = Nothing
    Next
    
    objExcel.DisplayAlerts = False
    objExcel.ActiveWorkbook.SaveAs(WshShell.ExpandEnvironmentStrings("%userprofile%") & "\Desktop\" & "DNSServer.xls")
    objExcel.DisplayAlerts = True
    objExcel.Quit()
    
    Set objExcel = Nothing
    Set WshShell = Nothing

  2. Schonmal wget probiert?

     

    mit

    wget --ftp-user=<user> --ftp-password=<pass> -N <Pfad zur Zip-Datei>

    wird die Zip-Datei heruntergeladen. Beim nächsten Downloadversuch überprüft wget (Option -N), ob die Datei am Server neuer ist (Datum der letzten Änderung) als die lokal schon vorhandene und läd sie nur bei Bedarf herunter.

     

    Die mit unter sehr ausführliche Ausgabe von wget könnte man dann ja für weitere Aufgabe im Skript auswerten...

  3. Das mit dem Maximum hab ich wohl überlesen...

    Und der Rest kommt vom fehlenden SQL-Server zum Test :o

    .

    .

    .

    Warum das ganze, wird im ersten Link von zahni erklärt

     

     

     

    Streich meinen Verbesserungsversuch, das kann so natürlich nicht funktionieren. Man sollte sowas nicht an einem 01.01. schreiben, wenn man es nicht selber getestet hat... :rolleyes:

     

    Also die erste Abfrage von mir wird ohne Fehler ausgeführt (SQL-Express + Visual Studio).

  4. Das mit dem Maximum hab ich wohl überlesen...

    Und der Rest kommt vom fehlenden SQL-Server zum Test :o

     

    Mach aus dem

    GROUP BY CONVERT(varchar, datum, 104), hostname

    in meinem Query ein

    GROUP BY CONVERT(datetime, CONVERT(varchar, datum, 104)), hostname

     

    Warum das ganze, wird im ersten Link von zahni erklärt

  5. Unter der Annahme, dass "datum" den Datentyp DateTime und "anzahl" den Typ Int haben, sollte die folgende Abfrage zum gewünschten Ergebnis führen

     

    SELECT CONVERT(varchar, datum, 104) AS datum, hostname, SUM(anzahl) AS anzahl
    FROM <TabellenName>
    GROUP BY CONVERT(varchar, datum, 104), hostname
    ORDER BY CONVERT(datetime, CONVERT(varchar, datum, 104)), hostname

  6. Wie wäre es hiermit

     

    Dim oWMI, oItems, oItem, sUser, sDomain
    
    Set oWMI = GetObject("winmgmts:\\.\root\CIMV2")
    Set colItems = oWMI.ExecQuery("SELECT * FROM Win32_Process")
    
    For Each oItem in colItems
       If 0 = oItem.GetOwner(sUser, sDomain) Then
       WScript.Echo oItem.Name & ", " & sDomain & "\" & sUser & ", " & _
                    oItem.SessionID & ", " & (oItem.WorkingSetSize / 1024)
       End If
    Next

  7. Das hab ich mir irgendwann mal zusammen gebastelt. Ist vielleicht bisschen groß (die ganzen Ausgaben sind ja ansich unnötig) aber du kannst es ja an deine Bedürfnisse anpassen

     

    @echo off
    
    CLS
    
    echo.
    echo.
    echo Skript zum Erweitern eines bestehenden Registry-Werts
    echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    echo.
    echo.
    echo.
    
    
    REM ~ Variablen
    REM ~ Root-Key
    set vRegKey=HKLM
    REM ~ Sub-Key
    set vSubKey=Software\Microsoft\Windows\CurrentVersion\Run
    REM ~ Wert
    set vValue=foo_value
    REM ~ Daten die angehängt werden sollen
    set vAddVal=foo
    REM ~ Trennzeichen
    set vSeperator=;
    REM ~ für später
    set vTmpVal=
    
    
    REM ~ existiert der angegebene Wert?
    reg query "%vRegKey%\%vSubKey%" /v "%vValue%" | find /i "%vValue%">nul
    if %errorlevel%==1 goto _end
    
    
    
    REM ~ bestehenden Wert auslesen
    for /f "tokens=2,*" %%i in ('reg query "%vRegKey%\%vSubKey%" /v "%vValue%"^|find /i "%vValue%"') do set "vTmpVal=%%j"
    echo Aktueller Wert von '%vRegKey%\%vSubKey%\%vValue%'
    echo %vTmpVal%
    echo.
    echo.
    
    
    REM ~ neuen Wert zusammen setzen
    set vTmpVal=%vTmpVal%%vSeperator%%vAddVal%
    
    
    REM ~ neuen Wert in Registry schreiben
    reg add "%vRegKey%\%vSubKey%" /v "%vValue%" /d "%vTmpVal%" /f >nul
    echo Wert wurde mit '%vAddVal%' erweitert...
    echo.
    echo.
    
    
    REM ~ neuen Wert auslesen
    for /f "tokens=2,*" %%i in ('reg query "%vRegKey%\%vSubKey%" /v "%vValue%"^|find /i "%vValue%"') do set "vTmpVal=%%j"
    echo Neuer Wert von '%vRegKey%\%vSubKey%\%vValue%'
    echo %vTmpVal%
    echo.
    echo.
    
    
    :_end
    REM ~ kurze Pause zum lesen...
    ping -n 11 localhost>nul
    

×
×
  • Neu erstellen...