Inventorier .nsf et tailles sur les postes clients via un sp
Bonjour,
Je débute sur notes et on m'a demandé d'inventorier les .nsf j'ai vu sur internet un script tel que ci-dessous, mais je doute de son bon fonctionnement. Pouvez-vous m'éclairer svp !
Option Explicit
Call ShowFilesLotus
Private Sub ShowFilesLotus()
Const HARD_DISK = 3
Dim objWMIService, colDisks, colFiles
Dim objDico, objTabExt, objDisk, objFile
Dim wshShell
Dim strComputer, i
Dim cles, strList
Dim ObjRapport, ObjFilerapport
Const ForWriting = 2, ForAppending = 8
strComputer = "."
objTabExt = "nsf"
Set wshShell = Wscript.CreateObject ("Wscript.Shell")
Set ObjRapport = CreateObject("Scripting.FileSystemObject" )
Set ObjFileRapport = ObjRapport.OpenTextFile("c:\Lotus.txt", ForAppending, True)
Set objDico = CreateObject("Scripting.Dictionary")
objDico.CompareMode = VBBinaryCompare
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" _
& strComputer & "oot\cimv2")
Set colDisks = objWMIService.ExecQuery _
("Select * from Win32_LogicalDisk Where DriveType = " & HARD_DISK & "")
For Each objDisk in colDisks
Set colFiles = objWMIService.ExecQuery _
("Select * from CIM_DataFile where Drive = '" &_
objDisk.Name & "' And Extension = '" & objTabExt &"'")
For Each objFile in colFiles
'
'
If Mid(LCase(objFile.Path),2, 13) <> "program files" And _
Mid(LCase(objFile.Path),2, 7) <> "windows" Then objDico.Add objFile.Name ,""
End if
Next
Set colFiles = Nothing
Set colDisks = Nothing
Set objWMIService = Nothing
cles = objDico.Keys
For i = 0 To objDico.Count-1
ObjFileRapport.Writeline wshShell.ExpandEnvironmentStrings
("%COMPUTERNAME%") _
&vbTab& cles(i) &vbCr
Next
ObjFileRapport.WriteBlankLines(2)
ObjFileRapport.close
Set objDico = Nothing
Set wshShell = Nothing
End Sub
Je débute sur notes et on m'a demandé d'inventorier les .nsf j'ai vu sur internet un script tel que ci-dessous, mais je doute de son bon fonctionnement. Pouvez-vous m'éclairer svp !
Option Explicit
Call ShowFilesLotus
Private Sub ShowFilesLotus()
Const HARD_DISK = 3
Dim objWMIService, colDisks, colFiles
Dim objDico, objTabExt, objDisk, objFile
Dim wshShell
Dim strComputer, i
Dim cles, strList
Dim ObjRapport, ObjFilerapport
Const ForWriting = 2, ForAppending = 8
strComputer = "."
objTabExt = "nsf"
Set wshShell = Wscript.CreateObject ("Wscript.Shell")
Set ObjRapport = CreateObject("Scripting.FileSystemObject" )
Set ObjFileRapport = ObjRapport.OpenTextFile("c:\Lotus.txt", ForAppending, True)
Set objDico = CreateObject("Scripting.Dictionary")
objDico.CompareMode = VBBinaryCompare
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" _
& strComputer & "oot\cimv2")
Set colDisks = objWMIService.ExecQuery _
("Select * from Win32_LogicalDisk Where DriveType = " & HARD_DISK & "")
For Each objDisk in colDisks
Set colFiles = objWMIService.ExecQuery _
("Select * from CIM_DataFile where Drive = '" &_
objDisk.Name & "' And Extension = '" & objTabExt &"'")
For Each objFile in colFiles
'
'
If Mid(LCase(objFile.Path),2, 13) <> "program files" And _
Mid(LCase(objFile.Path),2, 7) <> "windows" Then objDico.Add objFile.Name ,""
End if
Next
Set colFiles = Nothing
Set colDisks = Nothing
Set objWMIService = Nothing
cles = objDico.Keys
For i = 0 To objDico.Count-1
ObjFileRapport.Writeline wshShell.ExpandEnvironmentStrings
("%COMPUTERNAME%") _
&vbTab& cles(i) &vbCr
Next
ObjFileRapport.WriteBlankLines(2)
ObjFileRapport.close
Set objDico = Nothing
Set wshShell = Nothing
End Sub