私はサービスに名前WinDefend
を付けており、プロセスで実行されます。svchost.exe
他にも多くのsvchost.exe
プロセスがあり、その ID を取得する方法を見つける必要があります。
実行すると、次のtasklist /svc
ことがわかります。
どうすれば入手できるかわかりません。
このコマンドを見つけましたが、試してみるとselect "PID"
空の列が表示されました。
プロセスの PID を変数に取得する必要があります。
私はサービスに名前WinDefend
を付けており、プロセスで実行されます。svchost.exe
他にも多くのsvchost.exe
プロセスがあり、その ID を取得する方法を見つける必要があります。
実行すると、次のtasklist /svc
ことがわかります。
どうすれば入手できるかわかりません。
このコマンドを見つけましたが、試してみるとselect "PID"
空の列が表示されました。
プロセスの PID を変数に取得する必要があります。
tasklist
アクセスできるプロパティを持つ実際のオブジェクトではなく、テキストを返すだけです。代わりに、WMI を使用してこの情報を取得できます。
$id = Get-WmiObject -Class Win32_Service -Filter "Name LIKE 'WinDefend'" |
Select-Object -ExpandProperty ProcessId
$process = Get-Process -Id $id
PowerShell コアの更新
バージョン 6 では、Windows PowerShell は、.NET Core ベースの PowerShell Core によるクロス プラットフォーム サポートに向けて開始されました。これにより、Windows 中心のコマンドレットに多くの変更が加えられ、一部は完全に除外されました。WMI は Windows 専用のテクノロジであるため、そのコマンドレット (Get-WmiObject など) は移植されませんでした。ただし、その機能は CIM コマンドレット (Get-CimInstance など) を介して利用できます。PowerShell 6+ で動作するバージョンは次のとおりです。
$id = Get-CimInstance -Class Win32_Service -Filter "Name LIKE 'WinDefend'" |
Select-Object -ExpandProperty ProcessId
$process = Get-Process -Id $id
Get-Process -Id ((Get-WmiObject -Class Win32_Service -Filter "Name -eq 'WinDefend'").ProcessId)
答えは簡単です。(gps -id (get-wmiobject -query "select * from win32_service where name='sevicename'").processid).priority class="priority"
そのコマンドを実行すると、svchost にある場合でも、指定されたサービスが設定されます。
編集済み:PIDのみを探しています。優先度設定を除いた同じコマンドを実行するだけです。優先度を設定するために使用すると想定していました。へへへ