以下のサイトを参考にしました。
参考
Windowsのシャットダウンや再起動を行う端くれプログラマの備忘録
try
{
ProcessStartInfo psi = new ProcessStartInfo();
psi.FileName = "shutdown.exe";
// シャットダウンをする場合
psi.Arguments = "-s -t 0";
// 再起動をする場合
psi.Arguments = "-r -t 0";
psi.CreateNoWindow = true;
Process p = Process.Start(psi);
}
catch (Exception ex)
{
Trace.WriteLine(ex.Message);
}