如何使用 Powershell 查找用于启动进程的快捷方式文件

How to find shortcut file used to start a process using Powershell

我有一个 google chrome 进程 运行,我可以使用以下命令获取其信息:

get-process chrome | select name, starttime
wmic process where "name='chrome.exe'" get CommandLine

这些命令提供有关执行了哪个文件的信息,即

C:\Program Files\Google\Chrome\Application\chrome.exe

但是,google chrome 的快捷方式很少,例如任务栏快捷方式、开始菜单快捷方式,也许还有其他我不知道的快捷方式。

如何找到用于启动的快捷方式 google chrome?

也许像这样?

对于任务栏快捷方式:

PS> (gci C:\Users\[USERID]\AppData -Filter "*Chrome.lnk" -Recurse).LastAccessTime

Sunday, May 9, 2021 10:11:25 AM2

对于桌面快捷方式:

PS> (gci C:\Users\[USERID]\Desktop -Filter "*Chrome.lnk" -Recurse).LastAccessTime

Monday, May 10, 2021 10:59:12 AM2

更多信息:

PS> gci C:\Users\[USERID]\AppData -Filter "*Chrome*.lnk" -Recurse | Select LastAccessTime, FullName

LastAccessTime       FullName                                                                                               
--------------       --------                                                                                               
5/9/2021 10:11:25 AM C:\Users\[USERID]\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch\Google Chrome.lnk              
5/9/2021 10:11:25 AM C:\Users\[USERID]\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Chrome Apps\VNC® Viewer for Goo...

一旦你有了时间,你可以检查当前时间到select,如果你得到多个答案。

HTH

不是哪个快捷方式文件是 运行 这个问题的答案,但是我可以通过使用以下命令获取所有快捷方式文件的列表并对所有快捷方式文件进行必要的更改来实现我的目的相关快捷方式。

Get-CimInstance Win32_ShortcutFile | select Name, FileName, CreationDate, LastAccessed, Drive, Path,  FileType