ユーザーアカウント制御(UAC)を取得することでセキュリティ状態を把握することが可能となります。 今回はUACの情報を取得する方法について記載しています。
Get-ItemProperty HKLM:Software\Microsoft\Windows\CurrentVersion\policies\system
実行結果
ConsentPromptBehaviorAdmin : 5
ConsentPromptBehaviorUser : 3
DSCAutomationHostEnabled : 2
EnableCursorSuppression : 1
EnableFullTrustStartupTasks : 2
EnableInstallerDetection : 1
EnableLUA : 1
EnableSecureUIAPaths : 1
EnableUIADesktopToggle : 0
EnableUwpStartupTasks : 2
EnableVirtualization : 1
PromptOnSecureDesktop : 1
SupportFullTrustStartupTasks : 1
SupportUwpStartupTasks : 1
ValidateAdminCodeSignatures : 0
dontdisplaylastusername : 0
legalnoticecaption :
legalnoticetext :
scforceoption : 0
shutdownwithoutlogon : 1
undockwithoutlogon : 1
FilterAdministratorToken : 1
PSPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\policies\system
PSParentPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\policies
PSChildName : system
PSDrive : HKLM
PSProvider : Microsoft.PowerShell.Core\Registry
取得した値の中から以下の値を確認することでUACの設定を把握できます。
次の場合は常に通知する
ConsentPromptBehaviorAdmin = 2
PromptOnSecureDesktop = 1
EnableLUA = 1
アプリがコンピューターに変更を加えようとする場合のみ通知する(規定)
ConsentPromptBehaviorAdmin = 5
PromptOnSecureDesktop = 1
EnableLUA = 1
アプリがコンピューターに変更を加えようとする場合のみ通知する(デスクトップを暗転しない)
ConsentPromptBehaviorAdmin = 5
PromptOnSecureDesktop = 0
EnableLUA = 1
以下の場合でも通知しない
ConsentPromptBehaviorAdmin = 0
PromptOnSecureDesktop = 0
EnableLUA = 1
または
ConsentPromptBehaviorAdmin = 0
PromptOnSecureDesktop = 0
EnableLUA = 0