Upgrade Instructions
- Replace usages of
Invoke-AdvApiLookupPrivilegeNamefunction'sLUIDparameter with the newLuidLowPartand
LuidHighPartparameters. - Remove usages of the
Invoke-AdvApiLsaOpenPolicyfunction'sObjectAttributeparameter. Its not used by the
LsaOpenPolicyfunction. - Minimum .NET version is now 4.6.
Added
LuidLowPartandLuidHighPartparameters to theInvoke-AdvApiLookupPrivilegeNamefunction.Invoke-AdvApiOpenSCManagerfunction for calling the advapi32.dll library'sOpenSCManagerfunction.Invoke-AdvApiCloseServiceHandlefunction for calling the advapi32.dll library'sCloseServiceHandlefunction.Invoke-AdvApiOpenServicefunction for calling the advapi32.dll library'sOpenServicefunction.Invoke-AdvApiQueryServiceConfigfunction for calling the advapi32.dll library'sQueryServiceconfigfunction.Invoke-AdvApiQueryServiceConfig2function for calling the advapi32.dll library'sQueryServiceconfig2function.Invoke-AdvApiQueryServiceObjectSecurityfunction for calling the advapi32.dll library'sQueryServiceObjectSecurity
function.Invoke-AdvApiSetServiceObjectSecurityfunction for calling the advapi32.dll library'sSetServiceObjectSecurity
function.Invoke-KernelGetNumaHighestNodeNumberfunction for calling the kernel32.dll library'sGetNumaHighestNodeNumber
function.
Changed
PureInvoke now uses Add-Type to compile its P/Invoke C# code at runtime instead of using a pre-compiled assembly.
Internally, uses dynamic type names to prevent type collisions if different versions of PureInvoke are loaded. Types are
only compiled when needed.
Fixed
PureInvoke can fail to import if a version of PureInvoke is loaded that has a different pre-compiled assembly.
Removed
- The
Invoke-AdvApiLookupPrivilegeNamefunction'sLUIDparameter. Use the newLuidLowPartandLuidHighPart
parameters. - The
Invoke-AdvApiLsaOpenPolicyfunction'sObjectAttributeparameter.