vfdsabvdasvd
vfdsabvdasvd

Reputation: 75

fsmgmt.msc | stop process are running from specific directory | Remote server with invoke

I want to stop all the processes are running from specific directory if the process is from C:/CSV/X kill the process the server is remote but I have users are opened the files from different sessions so how can I kill it from different sessions

    $files = gci "C:\CSV\X\*"

foreach($file in $files){
    Get-Process | 
    Where-Object {$_.Path -eq $file.FullName} | 
    Stop-Process -Force -Verbose
}

I tried it and it doesn't work

For example we have a folder named: MyItem Inside the folder there is

MyItem/software.exe

MyItem/MyItem.exe

MyItem/MainMenu.exe

And I look for the processes through this: fsmgmt.msc

So I need to find a way to close all those whose source is MyItem/

Upvotes: 1

Views: 81

Answers (1)

Toni
Toni

Reputation: 1826

If you only want to terminate 'open files' accessed from the network you can do something like this:

#set path
$path = 'C:\CSV\X\'

#get smb open files in specified directory and close em, escape $path \ because of -match operator (regex)
Get-SmbOpenFile | ?{$_.path -match ($path -replace '\\','\\')} | Close-SmbOpenFile

No need to kill processes.

Upvotes: 1

Related Questions