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

VBScript - Ergebniss in .log ausgeben

Mitglied: FaBMiN

FaBMiN (Level 2) - Jetzt verbinden

09.09.2005, aktualisiert 17.10.2012, 20405 Aufrufe, 11 Kommentare

Ich brauche einen Befehl, der die Ergebnisse des VBScipt

<font class=code>
'* Benötigte Deklarationen
Set wshNetwork = WScript.CreateObject( "WScript.Network" )
Set WshShell = WScript.CreateObject("WScript.Shell")
Company = "Bardusch GmbH&Co.KG Laufwerksmapping"

'* Ermitteln des Nutzernamens, Computernamens un der Anmeldedomäne
'* Erfolgt bereits hier, da im Loginscript öfter benötigt
Do While wshNetwork.username = ""
WScript.Sleep 250
Loop
strComputerName = wshNetwork.computerName
strUserName = wshNetwork.userName
strDomainName = wshNetwork.userDomain

'* 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)
'* Der Beginn des Wahnsinns
strMsg = "Anmelde Ergebnisse" & CRLF & CRLF & "Benutzername" & Chr(9) & "= " & strUserName & CRLF & "Computername" & Chr(9) & "= " & strComputerName & CRLF & "Domäne" & Chr(9) & Chr (9) & "= " & strDomainName & CRLF
'* Verbundene Laufwerke Listen
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 Drucker Listen
If colPrinters.Count = 0 Then
strMsg = strMsg & CRLF & 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
End If
strMsg = strMsg & CRLF & CRLF & "Dieses Fenster schließt sich in 10 Sekunden automatisch." & CRLF & "Wir wünschen noch einen schönen Arbeitstag"
BtnCode = WshShell.PopUp(strMsg,10,Company,64)
End Sub
</font>

in ein %MACHINENAME%.log auf \\zbw2ksv01\laufwerke schreibt.
Am liebsten wäre mit gleich, das gemoddete VBScipt.
Danke schonmal
Mitglied: gemini
09.09.2005 um 17:51 Uhr
01.
strLog = "\\zbw2ksv01\laufwerke\" & strComputerName & ".log"
02.
Set objFSO = CreateObject("Scripting.FileSystemObject")
03.
Set objLog = objFSO.CreateTextFile(strLog, True)
04.
objLog.Write strMSG 
05.
objLog.Close
Nicht enthalten ist hier eine Prüfung, ob das Share erreichbar ist.
Außerdem wird das Log jedesmal überschrieben.

PS: Ich halte nicht sehr viel von Modding. Es sollte aber kein Problem für dich darstellen, das Schnipsel einzubauen.
Bitte warten ..
Mitglied: gemini
09.09.2005 um 18:13 Uhr
Das hat mir jetzt keine Ruhe gelassen.
Logfiles, die überschrieben werden sind es nicht Wert überhaupt geschrieben zu werden.

01.
Function GenLogfileName
02.
strLog = "\\zbw2ksv01\laufwerke\"
03.
strExt = ".log"
04.
arrDate = Split(FormatDateTime(Date, 2),".")
05.
strLogFile = strComputerName & "_" & arrDate(2) & "." & arrDate(1) & "." & arrDate(0)
06.
strTemp = strLogFile
07.
For i = 001 To 999
08.
    If objFSO.FileExists(strLog & strLogFile & strExt) Then
09.
        strLogFile = strTemp & "_" & i
10.
    Else
11.
        GenLogFileName = strLog & strLogFile & strExt
12.
        Exit Function
13.
    End If
14.
Next
15.
End Function
Generiert einen Namen für das Logfile in der Form <<a>computername<a>>_2005.09.09.log
Wenn das Logfile bereits existiert wird der Name um einen dreistelligen Zähler erweitert.
Bitte warten ..
Mitglied: Biber
09.09.2005 um 19:07 Uhr
@gemini

Das hat mir jetzt keine Ruhe gelassen, Logfiles, die überschrieben werden sind
es nicht Wert überhaupt geschrieben zu werden.
Seh ich auch so.

Aber, wenn ich FaBMiN richtig verstanden habe, will er sicherlich alle Rechner protokollieren lassen, sinnvollerweise auch nach Tagen getrennt, aber in eine LogDatei je Tag. Nicht in eine je Computer und Anmeldung und Tag. Der %Compostername% steht doch schon in Stefans Script-Part. Also dann müsste doch die Ermittlung des Tages-Log-Namens reichen:
01.
Function GenLogfile4AllName 
02.
strLogPath = "\\zbw2ksv01\laufwerke\" 
03.
strExt = ".log" 
04.
arrDate = Split(FormatDateTime(Date, 2),".") 
05.
strLogFile =  arrDate(2) & "-" & arrDate(1) & "-" & arrDate(0) 
06.
GenLog4AllFileName = strLogPath & strLogFile & strExt 
07.
End Function 
Gibt den Namen der heutigen LogDatei zurück in der Form
"\\server\freigabepfad\2005-09-09.log"
Und oben in dem anderen Schnipsel ein
01.
 
02.
...
03.
If !objFSO.FileExists(strTodaysLogfile) Then
04.
   Set  objLog = CreateTextFile( strTodaysLogFile, True)
05.
else
06.
   Set objLog = OpenTextFile( strTodaysLogFile,,FOR_APPEND) ' oder wie immer das FOR_APPEND in *vbs heißen mag
07.
End If
08.
objLog.Write
09.
objLog.Close
10.
..
Oder mach ich jetzt einen Denkfehler?
[Edit]
Ganz vergessen:
Schönes und baldiges Wochenende an alle!
Biber
[/Edit]
Bitte warten ..
Mitglied: gemini
09.09.2005 um 19:48 Uhr
@Biber
Er wollte dass das Script die Daten
in ein %MACHINENAME%.log auf \\zbw2ksv01\laufwerke schreibt.
So habe ich das verstanden und so hab ich ihm im ersten Post auch gemacht.

Man könnte es natürlich auch "Je Client Pro Monat" schreiben oder mit AD-Einsatz nach Gruppenmitgliedschaft|Standort. Der Spielleidenschaft sind hier keine Grenzen gesetzt

~~~~~~~~~~~~~~
Davon abgesehen, dass mit persönlich der Wert von Logfiles dieser Art verschlossen bleibt.
Wer sich wann angemeldet hat, sehe ich im Ereignisprotokoll.
Wenn das Laufwerks-/Druckermapping oder sonstwas nicht funktioniert, erfahre ich das lange bevor ich das Log gelesen habe.

FOR_APPEND meint zum Anfügen, aber das muss ich dir sicher nicht erklären
Wenn du ForAppending einsetzt musst du ihm vorher den Wert 8 zuweisen, also
01.
Const ForReading = 1, ForWriting = 2, ForAppending = 8
Die 8 macht nichts anderes als ans Ende der Datei zu schreiben, also in etwa
01.
DiesIstEinText >> LogFile.log
Bitte warten ..
Mitglied: Biber
10.09.2005 um 00:24 Uhr
@gemini
Thx für die Erklärung und Du hast natürlich recht - hatte ich überlesen mit dem "> in ein %MACHINENAME%.log auf \\zbw2ksv01\laufwerke"

Zum Sinn oder Unsinn von Logfiles könnten wir sicherlich auch einen eigenen lustigen Thread aufmachen.
Habe auch schon mal -wahrscheinlich nicht als einziger hier im Forum- LogFiles auf Platten gefunden, die für die meisten gängigen Editoren eine echte Herausforderung sind (>64 MByte bis hin zu einer 1,2 GigaByte *.log-Datei, deren Dateieigner seit 1 Jahr nicht mehr im Unternehmen war)
Mein Lieblings-Logverzeichnis ist auch /dev/null.
Bitte warten ..
Mitglied: gemini
10.09.2005, aktualisiert 17.10.2012
@Biber
Na, mit nem 1,2 GB Log hast auf jeden Fall was zu lesen für lange Winterabende

@FaBMiN
Gehört zwar nicht zum Thread, aber Gratulation zu deinem sehr gelungenen RIS-Tut.
https://www.administrator.de/wissen/microsoft-windows-xp-service-pack-2- ...
Habs erst jetzt gesehen und gleich mal gebookmarkt.
Bitte warten ..
Mitglied: FaBMiN
12.09.2005 um 07:44 Uhr
<font class=code>
'* Benötigte Deklarationen
Set MyFiles = CreateObject("Scripting.FileSystemObject")
Set wshNetwork = WScript.CreateObject( "WScript.Network" )
Set WshShell = WScript.CreateObject("WScript.Shell")
Company = "Bardusch GmbH&Co.KG Laufwerksmapping"


'* Ermitteln des Nutzernamens, Computernamens un der Anmeldedomäne
'* Erfolgt bereits hier, da im Loginscript öfter benötigt
Do While wshNetwork.username = ""
WScript.Sleep 250
Loop
strComputerName = wshNetwork.computerName
strUserName = wshNetwork.userName
strDomainName = wshNetwork.userDomain

If Not MyFiles.FileExists("\\zbw2ksv01\laufwerke\" & strComputerName & ".log") Then MyFiles.CreateTextFile("\\zbw2ksv01\laufwerke\"& strComputerName & ".log")

Set logfile = MyFiles.OpenTextFile("\\zbw2ksv01\laufwerke\" & strComputerName & ".log",8)

'* 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)
'* Der Beginn des Wahnsinns
strMsg = cRLF & "------------------" & CRLF & "Anmelde Ergebnisse" & CRLF & CRLF & "Benutzername" & Chr(9) & "= " & strUserName & CRLF & "Computername" & Chr(9) & "= " & strComputerName & CRLF & "Domäne" & Chr(9) & Chr (9) & "= " & strDomainName & CRLF

'* Verbundene Laufwerke Listen
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 Drucker Listen
If colPrinters.Count = 0 Then
strMsg = strMsg & CRLF & 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
logfile.write(strMsg)
End If
logfile.close
strMsg = strMsg & CRLF & CRLF & "Dieses Fenster schließt sich in 10 Sekunden automatisch." & CRLF & "Wir wünschen noch einen schönen Arbeitstag"
BtnCode = WshShell.PopUp(strMsg,10,Company,64)
End Sub
</font>


@gemini ...haste auch artig bewertet? ;)
Ich hab das jetzt mal so gelöst.Danke an alle eifrigen helfer
...gelogen - der Harry (Inti31) hats gelöst
Bitte warten ..
Mitglied: Inti31
12.09.2005 um 08:38 Uhr
...soso... - So hast DU das jetzt gelöst...

Gruß Inti31
Bitte warten ..
Mitglied: FaBMiN
12.09.2005 um 08:45 Uhr
habs verbessert ;) *auf Knien seinen Gott anbetend*
Danke :D
Bitte warten ..
Mitglied: Biber
12.09.2005 um 11:05 Uhr
@FaBMiN
Zwei Dinge würde ich noch ändern:

1) Keine Variable verschwenden für den Zeilenumbruch. Da gibt es schon die vordefinierte vbCRLF .
2) Die Abschlussmeldung ändern von
ALT: "Dieses Fenster schließt sich in 10 Sekunden automatisch."
"Wir wünschen noch einen schönen Arbeitstag"

auf
NEU: "Mein Tagewerk ist in 10 Sekunden vollbracht.."
"Du hast noch fast 10 Stunden Arbeitstag vor Dir. Viel Spaß"


Stressarmen Wochenbeginn allen Admins und Adminen
Frank / der Biber aus Bremen
Bitte warten ..
Mitglied: FaBMiN
12.09.2005 um 11:10 Uhr
...lol
Es lacht grade eine ganze Abteilung mit Dir und mich hats vom stuhl gehauen ;=
Bitte warten ..
Ähnliche Inhalte
Exchange Server

Exchange Nachrichtenverfolgung bringt kein Ergebniss

Frage von Tim--xExchange Server1 Kommentar

Hallo liebe Admins, auf einem Exchange 2010 hat ein User eine Datei bekommen die so bezeichnet ist "Emailing: Image ...

Microsoft Office

Outlook VBScript

gelöst Frage von NebellichtMicrosoft Office5 Kommentare

Hallo, seit ein paar Wochen werden keine VBScripte hinter den (Benutzerspezifschen) Outlook Formularen ausgeführt. Hat jemand eine Lösung parat ...

Windows Server

Log On Log Off-Verhalten per PowerShell aus dem Event Log

Frage von Leo-leWindows Server7 Kommentare

Hallo Forum, wie gehe ich am besten vor, wenn ich aus dem DC Event Log von mehreren Nutzern das ...

VB for Applications

VBScript und OR

gelöst Frage von InvisanVB for Applications5 Kommentare

Hi zusammen, derzeit bastel ich ein bisschen in VBScript rum. Leider habe ich mit dem OR Operator einige Probleme. ...

Neue Wissensbeiträge
Erkennung und -Abwehr
OpenSSH-Backdoor Malware erkennen
Tipp von Frank vor 7 StundenErkennung und -Abwehr

Sicherheitsforscher von Eset haben 21 Malware-Familien untersucht. Die Malware soll Hintertüren via OpenSSH bereitstellen, so dass Angreifer Fernzugriff auf ...

iOS
WatchChat für Whatsapp
Tipp von Criemo vor 3 TageniOS3 Kommentare

Ziemlich coole App für WhatsApp User in Verbindung mit der Apple Watch. Gibts für iOS sowohl als auch für ...

iOS
IOS hat nen Cursor!
Tipp von Criemo vor 4 TageniOS5 Kommentare

Nette Funktion im iOS. iPhone-Mauszeiger aktivieren „Nichts ist nerviger, als bei einem Tippfehler zu versuchen, den iOS-Cursor an die ...

Off Topic
Avengers 4: Endgame - Erster Trailer
Information von Frank vor 6 TagenOff Topic2 Kommentare

Ich weiß es ist Off Topic, aber ich freue mich auf diesen Film und vielleicht geht es anderen hier ...

Heiß diskutierte Inhalte
Windows Server
Einziger Domänencontroller ersetzen - Windows Server 2012R2 - Hostname
Frage von DeRo93Windows Server26 Kommentare

Guten Tag, Leider haben wir einen Domänencontroller dessen Komponentenspeicher defekt ist. Alle Maßnahmen sind da leider fehlgeschlagen. Nun wurde ...

Server-Hardware
WS 2016 Essentials Hardware
Frage von ChefknechtServer-Hardware20 Kommentare

Moin welche Hardware würdet ihr empfehlen? Dell Poweredge HP Proliant Fujitsu Ich bin total konfus was nun nötig ist, ...

Windows Server
Welche Option fürs Windows Server Installations besser
Frage von backitWindows Server18 Kommentare

Hi Zusammen, ich werde unserer AD (SBS 2011) und Exchange 2010 Servern auf neuen physikalischen Server umziehen. ich habe ...

Windows Update
Fehler bei Updates über WSUS
Frage von Hendrik2586Windows Update12 Kommentare

Guten Tag liebe Kolleginen und Kollegen, lang lang ist meine letzte Anfrage her. Hier etwas das mich nun schon ...