diff --git a/ICD.Common.Utils/ICD.Common.Utils_NetStandard.csproj b/ICD.Common.Utils/ICD.Common.Utils_NetStandard.csproj index d8e8312..bb48453 100644 --- a/ICD.Common.Utils/ICD.Common.Utils_NetStandard.csproj +++ b/ICD.Common.Utils/ICD.Common.Utils_NetStandard.csproj @@ -32,8 +32,6 @@ - - @@ -47,6 +45,7 @@ + diff --git a/ICD.Common.Utils/ProgramUtils.Standard.cs b/ICD.Common.Utils/ProgramUtils.Standard.cs index 784fec1..cc3647c 100644 --- a/ICD.Common.Utils/ProgramUtils.Standard.cs +++ b/ICD.Common.Utils/ProgramUtils.Standard.cs @@ -2,6 +2,7 @@ using ICD.Common.Utils.IO; using System; using System.Reflection; +using System.Security.Principal; using ICD.Common.Properties; namespace ICD.Common.Utils @@ -64,6 +65,19 @@ namespace ICD.Common.Utils { get { return IcdFile.GetCreationTime(PathUtils.Join(PathUtils.ProgramPath, ProgramFile)); } } - } + + /// + /// Returns true if the current executing user is an admin. + /// + [PublicAPI] + public static bool IsElevated + { + get + { + WindowsIdentity current = WindowsIdentity.GetCurrent(); + return new WindowsPrincipal(current).IsInRole(WindowsBuiltInRole.Administrator); + } + } + } } #endif