Jump to content

ZeroKnowledge

Members
  • Gesamte Inhalte

    59
  • Registriert seit

  • Letzter Besuch

Alle erstellten Inhalte von ZeroKnowledge

  1. Klar geht das. Musst halt die Sekunden passend umrechnen... set /a hh=diff/3600 set /a mm=(diff%%3600)/60 set /a ss=(diff%%3600)%%60 Oder nimm, wie hier schon mal erwähnt wurde, die Powershell ;)
  2. wo auch immer die Zeitmessung starten soll set /a start=%time:~0,2%*3600+%time:~3,2%*60+%time:~6,2% wo auch immer die Zeitmessung enden soll set /a ende=%time:~0,2%*3600+%time:~3,2%*60+%time:~6,2% Differenz ermitteln set /a diff=ende-start Ausgabe Dauer in Sekunden: %diff% Läuft das Skript über Mitternacht, ist es Essig mit der Zeitmessung ;)
  3. In der Standard-Symbolleiste einfach mal die Schaltfläche "Ordner" benutzen
  4. 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
  5. Probiers mal mit select isnull(name1,' ') + isnull(name2,' ') + isnull(name3,' ')...
  6. Nachdem du nichts über etwaige eigene Versuche geschrieben hast, geh ich mal davon aus, dass dir der erste Link bei deinem Problem und der zweite bei weiteren Versuchen helfen sollte... Creating Your Own HTAs: Part 1 (-> "Using a <span> Tag") HTA Developers Center
  7. 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...
  8. Kannst dir ja mal FileNotify anschauen. Ein Beispiel wie man das Tool verwenden kann gibts hier Filesystem-Watcher leicht gemacht Von dem Tool gibts auch eine neue Fassung die noch bissl mehr kann (Link gibts auf der ersten Seite [ist übrigens keine Shareware mehr, auch wenns auf der Seite noch so steht]), aber die "alte" sollte völlig ausreichen.
  9. 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).
  10. 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
  11. 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
  12. Ich kann dein Problem zwar nicht nachvollziehen. Bei mir wird der Inhalt der Variable nicht an den Leerzeichen aufgeteilt und einzeln als Parameter an das Skript übergeben. Aber hier mal zwei Funktionen die helfen sollten: Join RTrim
  13. Was spricht dagegen, für den Vergleich ein LCase() einzubauen? if (LCase(x) < LCase(y))
  14. Terminal Services Client 6.0 ( -> Monitor spanning )
  15. Ist bei dem Dienst der Anzeigename gleich dem Dienstnamen? Für sc brauchst du den Dienstnamen. Zu finden in den Eigenschaften vom Dienst oder mit sc query
  16. Wieso willst du denn unbedingt das Rad neu erfinden lassen... wput
  17. Mal zu meinem Lösungsvorschlag. Ruf das Script wie folgt auf cscript.exe [script] Gibt alles in einem Konsolenfenster aus cscript.exe [script]>[dateiname] Leitet die Ausgabe in eine Datei um Wenn du natürlich die Powershell verwenden kannst, wäre das die einfachste Möglichkeit.
  18. 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
  19. Quelle Es liegt wohl daran, dass Get-ChildItem bei nur einem Element kein Array zurückgibt. Ohne Array auch kein Count. Die einfachere der beiden Lösungen im oben erwähnten Beitrag wäre demnach @(Get-ChildItem).Count
  20. 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
  21. Die hab ich ganz vergessen die Versionen... :( Wird überhaupt eine andere Home-Variante als Home-Premium benutzt?^^ Zumindest auf Arbeit haben wir nur Premium, vielleicht war meine Antwort deshalb auf selbiges Beschränkt...
  22. Irgendwie der falsche Bereich, oder? ;) Ausgehende RDP-Verbindungen können alle Vista-Varianten. Einzig eingehende Verbindungen mag Home Premium im Original-Zustand nicht anbieten.
  23. eine kurze Suche bei google hätte dir folgende Links eingebracht... powershell's bookmarks tagged with "Prompt" on del.icio.us Iain's World : Custom PowerShell Prompt ::::::::: PowerShell :::::::::: "Prompt" function $cript Fanatic: Custom PowerShell prompt
  24. How to add or remove Windows Components by using Sysocmgr.exe
×
×
  • Neu erstellen...