djbazo
Goto Top

Letzten Zugriff auf Office Anwendung auswerten

Hallo zusammen,

gibt es eine Möglichkeit herauszufinden, wann Office (Word, Excel Powerpoint) das letzte mal auf einem Client von einem Benutzer gestartet wurde?


Hintergrund: Lizenzreduzierung

Vielen Dank

Content-ID: 158970

Url: https://administrator.de/contentid/158970

Ausgedruckt am: 23.11.2024 um 00:11 Uhr

MrTrebron
MrTrebron 19.01.2011 um 12:22:49 Uhr
Goto Top
Hallo djbazo

wenn du einen Rechtsclick auf z.B. die EXCEL.exe machst und in die Properties gehst dann siehst du die Daten für
Created, Modified und Accessesd.

Gruß
Norbert
djbazo
djbazo 19.01.2011 um 13:51:59 Uhr
Goto Top
Hallo Norbert.

danke für die Antwort.

Ich hab das Veispiel nun mal bei mir gemacht.

Excel sagt, dass es zuletzt am
Donnerstag, ‎14. ‎Oktober ‎2010, ‏‎19:48:26
Accessesd wurde.

Das kann aber nicht sein, da ich es täglich (über die Startmenüverknüpfung) starte.

Die andere Frage wäre, wie ich das bei >500 Clients mache - wenn es funktioniert.

Danke & Grüße


EDIT:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem
NtfsDisableLastAccessUpdate = 0

muss gesetzt sein - ich starte nun meinen Rechner neu
MrTrebron
MrTrebron 19.01.2011 um 14:24:24 Uhr
Goto Top
Hi djbazo

Kleiner VBS
Option Explicit
'Declaration  
Dim FSO, File, Output
'Constants  
Const Filename = "C:\Program Files\Microsoft Office\OFFICE11\Excel.exe"  

'Create Object  
Set FSO = CreateObject("Scripting.FileSystemObject")  

'File exists  
If FSO.FileExists(Filename) Then
	'Yes  
	Set File = FSO.GetFile(Filename)
	MsgBox("Last Access: " & File.DateLastModified)  
Else
	MsgBox("File does not exists")  
End If

Zeigt dir das Datum in einer MsgBox an.
Wenn man es erweitert kann es das auch in ein Logfile auf dem Server schreiben.

Musst du nur auf dem Client zur Ausführung bringen

Gruß
Norbert
MrTrebron
MrTrebron 19.01.2011 um 14:46:10 Uhr
Goto Top
'Declaration  
Dim FSO, File, LogText, Logname, f
'Constants  
Const Filename = "C:\Program Files\Microsoft Office\OFFICE11\Excel.exe"  
Main
Sub Main
ComputerName
Access
WriteDown
End Sub

Function ComputerName
Set wshShell = WScript.CreateObject( "WScript.Shell" )  
strComputerName = wshShell.ExpandEnvironmentStrings( "%COMPUTERNAME%" )  
LogText = "Computer Name: " & strComputerName  
End Function

Function Access
'Create Object  
Set FSO = CreateObject("Scripting.FileSystemObject")  

'File exists  
If FSO.FileExists(Filename) Then
	'Yes  
	Set File = FSO.GetFile(Filename)
	LogText = LogText & "; " & Filename & "; Last Access: " & File.DateLastAccessed   
Else
	LogText
End If
End Function

Function WriteDown
	Logname = "c:\temp\Softwareprotocol.log"  
	
	If (fso.FileExists(Logname)) Then
		Set f = fso.OpenTextFile(Logname, 8, True)
		f.WriteLine LogText
		f.Close
	Else
		Set f = fso.CreateTextFile(Logname, True)
		f.WriteLine LogText
		f.Close
	End If
End Function

Schreibt dir den Namen und den Filename und das AccessDate in eine Log Datei

Pfade sind natürlich anzupassen

Edit: MsgBoxen raus genommen und LastModified zu LastAccessed geändert
djbazo
djbazo 19.01.2011 um 15:04:59 Uhr
Goto Top
Hallo,

perfekt - vielen Dank!!!!

nur muss der "DateLastModified" in "DateLastAccessed" geändert werden.

Grüße
bazo
MrTrebron
MrTrebron 19.01.2011 um 15:09:03 Uhr
Goto Top
Hi

klar, danke für den Hinweis

Gruß
Norbert