SearchIndexer.exeが原因で、実際には外部ハードドライブであるデバイスを停止できません。
タスクマネージャーを調べてこのアプリケーションを閉じようとしましたが、[プロセス]タブで見つかりませんでした。
このプロセスを名前で検索し、プロセスIDを取得して強制終了できますか?
SearchIndexerなどのプロセスを探している場合-これは、PowerShellで実行するのはかなり簡単です。
Get-Process
は実行中のプロセスのリストを表示します。この例では、PC上の100以上のプロセスのリストではなく、列ヘッダーに関心があるため、Select -first 1
にパイプしました:
次は、プロセスを取得する方法を理解したので、これを特定のプロセスに絞り込む必要があります。以下に、これを行う4つの方法を示します。 Get-Process Search*
は、検索で始まるすべてのプロセスを返します
Get-Process SearchIndexer
は、存在する場合、その1つのプロセスのみを返します
Get-Process | Where {$_.Name -eq "SearchIndexer"}
はすべてのプロセスを検索し、SearchIndexerと呼ばれるプロセスのみを選択します
Get-Process | Where {$_.ProcessName -Like "SearchIn*"}
はすべてのプロセスを取得し、「SearchIn」で始まるプロセスに絞り込みます。
補足として、どちらの側でもワイルドカードを使用できるため、 `rchInde"でも必要なプロセスが返されます。
次に、プロセスを強制終了します-Stop-Processにパイプします: ..しかし、それはうまくいきませんでした!
停止するには-一部のプロセスと同様に、PowerShellを管理者として実行する必要があります: ..しかし、プロンプトが表示されます!
しかし、何度も繰り返し実行しようとすると、エラーが気に入らない: ...そのため、少し異なる方法で処理する必要があります。その1つのプロセスを明示的に停止する代わりに、すべてのプロセスを取得し、必要なプロセス(存在する場合)までフィルタリングして、それらを(存在する場合)強制終了します。
最後に-Windowsが特定のサービス/プロセスを再起動するのを好み、すべての準備が整ったので、(必要に応じて)スケジュールされたタスクアクションとして追加します。
Get-Processの代替:
Get-WmiObject Win32_Process | select commandline | Select-String -Pattern "SearchIndexer"