Hello and Help,
We were using a maxed out desktop as our file server. I could use comp management to see which files were currently open and by whom. Now we are using a EX4 NAS (4x2TB) as our file server (small company). Access time can be slow every now and then but mostly, I need to see which files are currently open and which user has it open. Starting fresh here so any advice would be better than what I have now. Even bad advice would be ok, so I could a least try something.
Hello and Help,
Perhaps it would be best to contact WD Support about this. You can do so over the phone or via E-mail.
Ok… I opened a ticket with WD about getting the information I need from the NAS. Their reply was short… “It isn’t possible at this time…, keep checking the wd community”. Which translates to, “we haven’t needed it so we didn’t bother so, try asking someone else”… I will have to hack my way thru it as usual and I will post here what I can… In the mean time, this forum is actually quite helpful and so is the staff… 4 stars out of 5 only because they haven’t been asked this question. Good job boys… and girls…
Ok folks… my problem in a nutshell was I needed to see who had a file open on the NAS… I pieced together a vbscript that uses plink.exe (related to putty.exe). I did not bother with properly encrypting a user and password for the program since I am the only one who has access to my pc which has the code. Anyway, the code uses vbscript to create an ssh connection to the NAS. Once connected, I send a single line command that retrieves current files opened. Once the output is recieved, I just compare file PIDs to find the IP address of the user with an open file. Once I have the IP I can then determine the user. Now for the code you have been wondering about:
Dim WSHShell: Set WSHShell = CreateObject(“WScript.Shell”)
Dim command_to_run: command_to_run = “lsof -c smbd | egrep ‘[^(.tdb|.so|.0|.1|.2|.3|pipe|urandom|null|/]$’”
Dim UnixConnect: UnixConnect = "C:\GoogleDrive\Work_tools\StandardForensics\plink sshd@WDMyCloudEX4 -pw Nikovar1! "
Dim UnixExec: Set UnixExec = WSHShell.Exec(UnixConnect & command_to_run)
Dim UnixOut: Set UnixOut = UnixExec.StdOut
While Not UnixOut.AtEndOfStream
pline = pline & UnixOut.ReadLine & vbCrlf