Frage : Beste Weise, Schreibtische nach einer Akte zu suchen?

Hallo wollten alle,

I wissen, was die beste Weise war, die C:\-Antriebe aller unserer Schreibtische nach einer bestimmten Akte zu suchen und dieses in einen Report oder in eine .txt-Akte einzuziehen?  Ich versuche, zu überprüfen, ob .pst Akten nicht am Ort auf Benutzermaschinen hergestellt werden, also möchte scannen, um sicherzustellen, dass sie nicht existieren.  Ideal möchte ich einen Report, der etwas wie gibt:

Machine Namensakte found
NET1 Archive.pst
NET2 keine found
NET3 persönliches Folders.pst

Does jedermann wissen von einer leichten Art des Handelns dies?

Antwort : Beste Weise, Schreibtische nach einer Akte zu suchen?

SEARCH_PATH verwenden, um das Wurzelfaltblatt einzustellen, von dem die Akten graben
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
6:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
const SEARCH_PATH = „c:\temp“
const OUTPUT_FILE = „c:\temp\output.csv“
const SEARCH_EXT = „Maschinenbordbuch“
const MACHINES_LIST = „meirpc“

Fso = CreateObject („Scripting.FileSystemObject“) einstellen
objLogFile einstellen = fso.CreateTextFile (OUTPUT_FILE, 2)
objLogFile.WriteLine „MachineName, Dateiname“

für jedes strComputer in der Spalte (MACHINES_LIST, „, ")
	GetFiles strComputer, SEARCH_PATH, SEARCH_EXT
zunächst

objLogFile.Close

VorGetFiles (strComputer, strFolderName, Verlängerung)

	objWMIService = GetObject einstellen („winmgmts: \ \“ u. strComputer u. „\ Wurzel \ cimv2“)

	colSubfolders = objWMIService.ExecQuery _ einstellen
		(„Associators von {Win32_Directory.Name='" u. strFolderName u. „'}“ _
			u. „, wo AssocClass = Win32_Subdirectory“ _
				u. „ResultRole = PartComponent“)

	arrFolderPath = aufspaltete (strFolderName, „\ ")
	strNewPath = ""
	Für i = 1 zu Ubound (arrFolderPath)
		strNewPath = strNewPath u. „\ \“ u. arrFolderPath (i)
	Zunächst
	strPath = strNewPath u. „\ \“
	 
	colFiles = objWMIService.ExecQuery _ einstellen
		(„* von CIM_DataFile vorwählen in dem Weg = „“ u. strPath u. „“ und Extension='" + Verlängerung +“ '")

	Für jedes objFile in den colFiles
		objLogFile.WriteLine strComputer u. „,“ u. objFile.Name 
	Zunächst

	Für jedes objFolder in den colSubfolders
		GetSubFolders objWMIService, strComputer, strFolderName, Verlängerung
	Zunächst

Endenunterseeboot

VorGetSubFolders (objWMIService, strComputer, strFolderName, Verlängerung)
    Einstellen colSubfolders2 = objWMIService.ExecQuery _
        („Associators von {Win32_Directory.Name='" u. strFolderName u. „'}“ _
            u. „, wo AssocClass = Win32_Subdirectory“ _
                u. „ResultRole = PartComponent“)

    Für jedes objFolder2 in colSubfolders2
        strFolderName = objFolder2.Name

        arrFolderPath = aufspaltete (strFolderName, „\ ")
        strNewPath = ""
        Für i = 1 zu Ubound (arrFolderPath)
            strNewPath = strNewPath u. „\ \“ u. arrFolderPath (i)
        Zunächst
        strPath = strNewPath u. „\ \“
 
        colFiles = objWMIService.ExecQuery _ einstellen
            („* von CIM_DataFile vorwählen in dem Weg = „“ u. strPath u. „“ und Extension='" + Verlängerung +“ '")

        Für jedes objFile in den colFiles
            objLogFile.WriteLine strComputer u. „,“ u. objFile.Name 
        Zunächst

        GetSubFolders objWMIService, strComputer, strFolderName, Verlängerung
    Zunächst
Enden-Unterseeboot
Weitere Lösungen  
 
programming4us programming4us