コード(私の実際のコードではありませんが、同じ動作を生成します):
If (-NOT ([Security.Principal.WindowsPrincipal] [Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole(`
[Security.Principal.WindowsBuiltInRole] "Administrator"))
{
Write-Warning "The script tries to re-run itself using Administrator privileges.";
try {
Start-Process powershell -ArgumentList ($MyInvocation.MyCommand.Path) -Verb runAs;
}
catch [InvalidOperationException] {
Write-Warning "You canceled the privilege request. This script WON'T WORK, please re-run it!";
Read-Host;
Exit;
}
Exit;
}
# Here comes the code which will be run if started with Admin rights
Read-Host;
Windows UAC を受け入れ、表示された PS ウィンドウを 経由[X]
で閉じると、ウィンドウは直接閉じずに 3 ~ 5 秒で消えます。
Windows 8 Pro 64 ビットを使用しています。