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-Key: 158970

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

Printed on: April 23, 2024 at 09:04 o'clock

Member: MrTrebron
MrTrebron Jan 19, 2011 at 11:22:49 (UTC)
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
Member: djbazo
djbazo Jan 19, 2011 at 12:51:59 (UTC)
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
Member: MrTrebron
MrTrebron Jan 19, 2011 at 13:24:24 (UTC)
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
Member: MrTrebron
MrTrebron Jan 19, 2011 at 13:46:10 (UTC)
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
Member: djbazo
djbazo Jan 19, 2011 at 14:04:59 (UTC)
Goto Top
Hallo,

perfekt - vielen Dank!!!!

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

Grüße
bazo
Member: MrTrebron
MrTrebron Jan 19, 2011 at 14:09:03 (UTC)
Goto Top
Hi

klar, danke für den Hinweis

Gruß
Norbert