如何判斷Windows軟件是否以管理員權(quán)限運(yùn)行?四種方法幫你輕松搞定!
在Windows操作系統(tǒng)中,有些軟件需要管理員權(quán)限才能正常運(yùn)行,否則會(huì)出現(xiàn)各種問題。因此,判斷軟件是否以管理員權(quán)限運(yùn)行是非常重要的。本文將介紹如何判斷軟件是否以管理員權(quán)限運(yùn)行。
使用命令行
在Windows操作系統(tǒng)中,可以使用命令行來判斷軟件是否以管理員權(quán)限運(yùn)行。
net session >nul 2>&1
if %errorLevel% == 0 (echo Administrator ) else (echo Not Administrator )
????2.C++代碼
BOOL IsRunAsAdmin() { ? ?BOOL fIsRunAsAdmin = FALSE; ? ?DWORD dwError = ERROR_SUCCESS; ? ?PSID pAdministratorsGroup = NULL; ? ?SID_IDENTIFIER_AUTHORITY NtAuthority = SECURITY_NT_AUTHORITY; ? ?if (!AllocateAndInitializeSid(&NtAuthority, 2, ? ? ? ?SECURITY_BUILTIN_DOMAIN_RID, ? ? ? ?DOMAIN_ALIAS_RID_ADMINS, ? ? ? ?0, 0, 0, 0, 0, 0, ? ? ? ?&pAdministratorsGroup)) ? ?{ ? ? ? ?dwError = GetLastError(); ? ? ? ?goto Cleanup; ? ?} ? ?if (!CheckTokenMembership(NULL, pAdministratorsGroup, &fIsRunAsAdmin)) ? ?{ ? ? ? ?dwError = GetLastError(); ? ? ? ?goto Cleanup; ? ?} Cleanup: ? ?if (pAdministratorsGroup) ? ?{ ? ? ? ?FreeSid(pAdministratorsGroup); ? ? ? ?pAdministratorsGroup = NULL; ? ?} ? ?if (ERROR_SUCCESS != dwError) ? ?{ ? ? ? ?throw dwError; ? ?} ? ?return fIsRunAsAdmin; }
????3.PowerShell腳本
$IsAdmin = ([Security.Principal.WindowsPrincipal] [Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator)
if ($IsAdmin) { ? ?Write-Host "Administrator"} else { ? ?Write-Host "Not Administrator"}
????4.DLL API
????使用IsNtAdmin和IsAnAdmin函數(shù)判斷軟件是否以管理員權(quán)限運(yùn)行。

具體還得看視頻:BV1JY4y1X7V7