Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Per Batch PC Namen in Log datei mitaufnehmen

Frage Entwicklung Batch & Shell

Mitglied: 14634

14634 (Level 1)

02.12.2011, aktualisiert 16:17 Uhr, 3762 Aufrufe, 3 Kommentare

Hallo zusammen,

ich habe folgendes Script


echo on
for /F %%a IN (Rechner.txt) do call :befehl1 %%a
goto :eof

:befehl1
echo on
REM %%a wird zu %1
call psexec.exe \\%1 systeminfo |find "Systembetriebszeit" >> log.txt

goto :eof


in der Rechner.txt stehen alle PC`s drin die ich überprüfen will die lange sie läuft.
Dieses soll dann in einer log.txt wiedergegeben werden, das passt soweit, es wird wie folgt ausgegeben:

Systembetriebszeit: 9 Tage, 4 Stunden, 16 Minuten, 42 Sekunden

ich hätte aber gerne das davor der PC Name steht, da ich ansonsten dies nicht zuordnen kann.

ich glaube man muss nur %Computer% hinzufügen oder? leider weiß ich auch nicht genau wo.

Kann hier jemand helfen?

Danke für die hilfe

edit:

habe auch diesen Powershell befehl gesehen:

<#
.SYNOPSIS
Demonstrates uptime using WMI
.DESCRIPTION
This script used Win32_ComputerSystem to determine how long your system
has been running. This is a rewrite/improvement of sample 3 at
http://msdn.microsoft.com/en-us/library/aa394591(VS.85).aspx.
.NOTES
File Name : Get-UpTime.ps1
Author : Thomas Lee - tfl@psp.co.uk
Requires : PowerShell V2 CTP3
.LINK
Script Posted to:
http://www.pshscripts.blogspot.com
Original sample posted at:
http://msdn.microsoft.com/en-us/library/aa394591(VS.85).aspx
.EXAMPLE
PS c:\foo> .\Get-UpTime.Ps1
System Up for: 1 days, 8 hours, 40.781 minutes

#>

##
  1. Start of script
##

  1. Helper Function - convert WMI date to TimeDate object
function WMIDateStringToDate($Bootup) {
[System.Management.ManagementDateTimeconverter]::ToDateTime($Bootup)
}

  1. Main script
$Computer = "." # adjust as needed
$computers = Get-WMIObject -class Win32_OperatingSystem -computer $computer

foreach ($system in $computers) {
$Bootup = $system.LastBootUpTime
$LastBootUpTime = WMIDateStringToDate($Bootup)
$now = Get-Date
$Uptime = $now - $lastBootUpTime
$d = $Uptime.Days
$h = $Uptime.Hours
$m = $uptime.Minutes
$ms= $uptime.Milliseconds
"System Up for: {0} days, {1} hours, {2}.{3} minutes" -f $d,$h,$m,$ms
}
  1. End script


hier weiß ich leider nicht wo ich meine Rechner.txt einfügen soll, sodass es das Script erkennt
Mitglied: bastla
02.12.2011 um 16:55 Uhr
Hallo Gl05e!

Du hast doch den Computernamen ohenhin in %1 - daher einfach:
01.
02.
echo %1 
03.
psexec.exe \\%1 systeminfo |find "Systembetriebszeit" 
04.
)>> log.txt
Abgesehen davon ließe sich das auch ganz ohne Unterprogramm erledigen:
01.
@echo off & setlocal 
02.
03.
    for /F %%a IN (Rechner.txt) do ( 
04.
        echo %%a 
05.
        psexec.exe \\%%a systeminfo |find "Systembetriebszeit" 
06.
07.
)>log.txt
oder kürzer:
01.
@echo off & setlocal 
02.
(for /F %%a IN (Rechner.txt) do (echo %%a & psexec.exe \\%%a systeminfo |find "Systembetriebszeit"))>log.txt
Grüße
bastla
Bitte warten ..
Mitglied: 14634
05.12.2011 um 09:31 Uhr
Danke, da schaut ja super aus,

eine Frage noch, wenn ich das Script ausführe kommt es wie folgt im Log raus:

PCname
Systembetriebszeit: 11 Tage, 21 Stunden, 41 Minuten, 6 Sekunden

kann man es so umändern, das alles in einer Zeile raus kommt?
Bitte warten ..
Mitglied: bastla
05.12.2011 um 16:11 Uhr
Hallo GlO5e!

Aufgrund der Art, wie "systeminfo.exe" die Daten ausgibt, würde ich als Workaround eine Temp-Datei verwenden:
01.
@echo off & setlocal 
02.
set "UT=%temp%\UpTime.txt" 
03.
(for /F %%a IN (Rechner.txt) do ( 
04.
    psexec \\%%a systeminfo|find "Systembetriebszeit">%UT% 
05.
    <nul set /p=%%a; 
06.
    type %UT% 
07.
))>log.txt
Als (ungetestete) Alternative könntest Du auch WMIC verwenden (dann bräuchtest Du kein "psexec"; auf die Idee gebracht haben mich - natürlich - die Scripting Guys):
01.
@echo off & setlocal enabledelayedexpansion 
02.
(for /F %%a IN (Rechner.txt) do ( 
03.
    for /f "tokens=2 delims==" %%i in ('wmic /node:%%a path Win32_PerfFormattedData_PerfOS_System get systemuptime /value') do set "UpTime=%%i" 
04.
    set /a UpDays=!UpTime!/86400 
05.
    set /a UpTime=!UpTime!%%86400 
06.
    set /a UpHours=!UpTime!/3600 
07.
    set /a UpTime=!UpTime!%%3600 
08.
    set /a UpMinutes=!UpTime!/60 
09.
    set /a UpSeconds=!UpTime!%%60 
10.
    echo %%a;!UpDays! Tage !UpHours! Stunden !UpMinutes! Minuten !UpSeconds! Sekunden 
11.
))>log.txt
... und passend zum Thema:" Geheimnisse von Windows Management Instrumentation" bzw "wie lange läuft der PC"

[Edit] Noch etwas vereinfacht:
01.
@echo off & setlocal enabledelayedexpansion 
02.
(for /F %%a IN (Rechner.txt) do ( 
03.
    for /f "tokens=2 delims==" %%i in ('wmic /node:%%a path Win32_PerfFormattedData_PerfOS_System get systemuptime /value') do set "UpTime=%%i" 
04.
    set /a UpDays=!UpTime!/86400 
05.
    set /a UpHours=!UpTime!/3600%%24 
06.
    set /a UpMinutes=!UpTime!/60%%60 
07.
    set /a UpSeconds=!UpTime!%%86400%%60 
08.
    echo %%a;!UpDays! Tage !UpHours! Stunden !UpMinutes! Minuten !UpSeconds! Sekunden 
09.
))>log.txt
[/Edit]

Grüße
bastla
Bitte warten ..
Ähnliche Inhalte
Windows Server
Log-Datei via Batch auslesen
gelöst Frage von Ironhead-HaynsWindows Server3 Kommentare

Hallo zusammen, ich drehe mich mal wieder im Kreis und komme durch den Wald vor lauter Bäumen nicht durch! ...

Batch & Shell
Ordner und Datei Name gleich (BATCH)
gelöst Frage von clragonBatch & Shell12 Kommentare

Hey Leute. Simples Problem; Bat to Exe Converter ist nicht sehr sauber. Trotzdem nützlich. Es räumt die Dateien und ...

Netzwerkmanagement
Batch Datei auf anderem PC öffnen
gelöst Frage von FlodscheNetzwerkmanagement35 Kommentare

Hallo, Folgende Situation: Wir haben einen Schulungsraum mit mehreren Schulungs PC's und mit einem Master PC. Von diesem Master ...

Batch & Shell
Dateien mit fast gleichem Namen per Batch zippen
Frage von tiolocoBatch & Shell5 Kommentare

hallo, ich bin neu hier und ein absoluter laie was solche dinge betrifft. hab auch versucht evtl. eine lösung ...

Neue Wissensbeiträge
MikroTik RouterOS

Mikrotik - Lets Encrypt Zertifikate mit MetaROUTER Instanz auf dem Router erzeugen

Anleitung von colinardo vor 13 StundenMikroTik RouterOS4 Kommentare

Einleitung Folgende Anleitung ist aus der Lage heraus entstanden das ein Kunde auf seinem Mikrotik sein Hotspot Captive Portal ...

Sicherheit

Sicherheitslücke in HP-Druckern - Firmware-Updates stehen bereit

Information von BassFishFox vor 13 StundenSicherheit1 Kommentar

Ein weiterer Grund, dass Drucker keinerlei Verbindung nach "auswaerts" haben sollen. Unter Verwendung spezieller Malware können Angreifer aus der ...

Administrator.de Feedback

Entwicklertagebuch: Die Startseite wurde überarbeitet

Information von admtech vor 16 StundenAdministrator.de Feedback9 Kommentare

Hallo Administrator User, mit dem Release 5.7 haben wir unsere Startseite überarbeitet und die Beiträge und Fragen voneinander getrennt. ...

Vmware

VMware Desktopprodukte sind verwundbar

Information von Penny.Cilin vor 21 StundenVmware

Die VMware-Anwendungen zum Umgang mit virtuellen Maschinen Fusion, Horizon Client und Workstation sowie die Plattform NSX sind verwundbar. Davon ...

Heiß diskutierte Inhalte
Visual Studio
Vb.net-Tool zum Erzeugen einer Outlook-E-Mail
Frage von ahstaxVisual Studio24 Kommentare

Hallo, ich möchte gerne ein vb.net-Tool schreiben, das am Ende eine Outlook-E-Mail erzeugt. Grundsätzlich ist mir klar, wie das ...

Windows Server
RDP macht Server schneller???
Frage von JaniDJWindows Server16 Kommentare

Hallo Community, wir betrieben seit geraumer Zeit diverse virtuelle Maschinen und Server mit Windows Server 2012. Leider haben wir ...

Windows Netzwerk
Netzwerk Neustrukturierung
Frage von IT-DreamerWindows Netzwerk16 Kommentare

Hallo verehrte Community und Admins, bei uns im Haus steht eine Neustrukturierung an. Dafür benötige ich von euch ein ...

Windows 10
Windows 10 dunkler Bildschirm nach Umfallen
Frage von AkcentWindows 1015 Kommentare

Hallo, habe hier einen Windows 10 Rechner der von einem User umgefallen wurde (Beine übers Knie, an den PC ...