.dllファイルを使用するアプリケーションがあります。このファイルには2つの異なる場所があり、200台を超えるマシンでどのファイルを使用しているか調べる必要があります。実行中のプロセスのdllパスを取得しています
私は電源シェルには非常に新しく、Get-Processメソッドを試しましたが、必要な情報を提供していません。パワーシェルでこれを取得する別の方法がありますか?
.dllファイルを使用するアプリケーションがあります。このファイルには2つの異なる場所があり、200台を超えるマシンでどのファイルを使用しているか調べる必要があります。実行中のプロセスのdllパスを取得しています
私は電源シェルには非常に新しく、Get-Processメソッドを試しましたが、必要な情報を提供していません。パワーシェルでこれを取得する別の方法がありますか?
このarticleは、WMIプロバイダコールを使用する1つの方法を示します。最後に提供されたFunctionを使用することができます。クイックで汚れたものを探しているだけなら、これはうまくいくでしょう。
$modules = Get-Process | Where { $_.ProcessName -eq "process.name" } | Select Modules
$modules.Modules
は
プロセス用のDLLは、プロセスのモジュールプロパティに含まれているあなたのプロセス名でprocess.nameを置き換えます。もう少しで掘り
、これはあなたが望むものであるかもしれませんオブジェクトはGet-Process
によって返されました。同じ名前を持つ多くのプロセスがあるかもしれないので、あなただけの明確なDLLの場所を表示するためにこれを使用することができ
Get-Process chrome|
select -ExpandProperty modules|
foreach { if($_.ModuleName -eq 'pdf.dll'){$_.Filename} }
:あなたはこのような何かを行うことができ、特定のDLLを探しするには
Get-Process notepad| select -ExpandProperty modules| Format-Table -AutoSize
:
Get-Process chrome|
select -ExpandProperty modules|
where {$_.ModuleName -eq 'pdf.dll'}|
group -Property FileName|
select name
私は特定のプロセスによってロードされたDLLを見つける方法について記事を書いています。あなたはおそらく、このコードをあなたの特定のDLLを見つけるために適応させることができます。
http://trevorsullivan.net/2010/08/25/powershell-finding-currently-loaded-dlls/
これは何も出力していない、私はあなたがここにアップしましたが、私のプロセス名 – KPS
は、コードのタイプミスに気づいた変更とまったく同じことをしました。あなたのプロセスは標準プロセスですか? Get-Processを実行したときに表示される名前を使用しましたか? – GrayWizardx
2番目のコマンドからFileNameを削除してください。 – GrayWizardx