The command
openfiles /query /s FILESERVERoutputs a table as follows:
ID Accessed By Type Open File (Path\executable)
======== ==================== ========== =====================================
36910428 USERNAME Windows D:..\File.txt
30199644 USERNAME Windows D:..\File329.xlsx
37581731 USERNAME Windows D:..\model_4484.doc
12752424 USERNAME Windows D:..\TestFolder
28187627 USERNAME Windows D:..\TestFolder2
232448 USERNAME Windows D:..\Temp55
Storing this table as an array (i.e., $OpenFiles = @(openfiles /query /s FILESERVER)) lets me access the rows like this:
$OpenFiles[0] –> (blank line)
$OpenFiles[1] –> ID Accessed By Type Open File (Path\executable)
$OpenFiles[2] –> ======== ==================== ==========
$OpenFiles[3] –> 36910428 USERNAME Windows D:..\File.txt
…
…
etc.
However, since this is not an object with properties (e.g., ID, Accessed By, etc., are not properties), I can’t do:
$OpenFiles[3].AccessedBy –> USERNAME
How do I convert this table to a custom ps object so I can access values that way?