PowerShellでプログラムを実行して、優先度を上げるときのやり方

arma3server_x64.exe の一例になります。

# プログラムの起動引数を定義
[string]$_arguments = "-config=server.config -cfg=basic.cfg"

# プロセスの設定を定義
$_startInfo = New-Object System.Diagnostics.ProcessStartInfo
$_startInfo.FileName = "arma3server_x64.exe"
# プログラムの起動引数を設定
$_startInfo.Arguments = $_arguments
$_startInfo.WorkingDirectory = "C:\arma3"

# プロセスのインスタンスを生成
$_process = New-Object System.Diagnostics.Process

# プロセスの設定を格納
$_process.StartInfo = $_startInfo

# プログラムを実行する(注1)
$_process.Start()

# 優先度の設定を「高」にする
$_process.PriorityClass = [System.Diagnostics.ProcessPriorityClass]::High

# プログラムが終了するまで待機(注2)
$_process.WaitForExit()

注1:プログラムを実行したあとに優先度の設定を行ってください。例外が発生した後、通常の優先度でプログラムを実行します。

注2:プログラムが4KB以上の標準出力を行う場合は、フリーズするため内部バッファをクリアしないと「応答なし」になります。 arma3server_x64.exe は標準出力がないので問題ありません。