public abstract class Advapi32Util extends Object
Modifier and Type | Class and Description |
---|---|
static class |
Advapi32Util.Account
An account.
|
static class |
Advapi32Util.EventLogIterator
An iterator for Event Log entries.
|
static class |
Advapi32Util.EventLogRecord
An event log record.
|
static class |
Advapi32Util.EventLogType
Event log types.
|
Constructor and Description |
---|
Advapi32Util() |
Modifier and Type | Method and Description |
---|---|
static String |
convertSidToStringSid(WinNT.PSID sid)
Convert a security identifier (SID) to a string format suitable for display,
storage, or transmission.
|
static byte[] |
convertStringSidToSid(String sidString)
Convert a string representation of a security identifier (SID) to
a binary format.
|
static Advapi32Util.Account |
getAccountByName(String accountName)
Retrieves a security identifier (SID) for the account on the current system.
|
static Advapi32Util.Account |
getAccountByName(String systemName,
String accountName)
Retrieves a security identifier (SID) for a given account.
|
static Advapi32Util.Account |
getAccountBySid(String sidString)
Get an account name from a string SID on the local machine.
|
static Advapi32Util.Account |
getAccountBySid(String systemName,
String sidString)
Get an account name from a string SID.
|
static Advapi32Util.Account |
getAccountBySid(String systemName,
WinNT.PSID sid)
Get the account by SID.
|
static Advapi32Util.Account |
getAccountBySid(WinNT.PSID sid)
Get the account by SID on the local system.
|
static Advapi32Util.Account[] |
getCurrentUserGroups()
Return the group memberships of the currently logged on user.
|
static String |
getEnvironmentBlock(Map<String,String> environment)
Converts a map of environment variables to an environment block suitable
for
Advapi32.CreateProcessAsUser(com.sun.jna.platform.win32.WinNT.HANDLE, java.lang.String, java.lang.String, com.sun.jna.platform.win32.WinBase.SECURITY_ATTRIBUTES, com.sun.jna.platform.win32.WinBase.SECURITY_ATTRIBUTES, boolean, int, java.lang.String, java.lang.String, com.sun.jna.platform.win32.WinBase.STARTUPINFO, com.sun.jna.platform.win32.WinBase.PROCESS_INFORMATION) . |
static WinNT.ACCESS_ACEStructure[] |
getFileSecurity(String fileName,
boolean compact) |
static Advapi32Util.Account |
getTokenAccount(WinNT.HANDLE hToken)
This function returns the information about the user who owns a security token,
|
static Advapi32Util.Account[] |
getTokenGroups(WinNT.HANDLE hToken)
This function returns the groups associated with a security token,
such as a user token.
|
static String |
getUserName()
Retrieves the name of the user associated with the current thread.
|
static boolean |
isWellKnownSid(byte[] sidBytes,
int wellKnownSidType)
Compares a SID to a well known SID and returns TRUE if they match.
|
static boolean |
isWellKnownSid(String sidString,
int wellKnownSidType)
Compares a SID to a well known SID and returns TRUE if they match.
|
static boolean |
registryCreateKey(WinReg.HKEY hKey,
String keyName)
Create a registry key.
|
static boolean |
registryCreateKey(WinReg.HKEY root,
String parentPath,
String keyName)
Create a registry key.
|
static void |
registryDeleteKey(WinReg.HKEY hKey,
String keyName)
Delete a registry key.
|
static void |
registryDeleteKey(WinReg.HKEY root,
String keyPath,
String keyName)
Delete a registry key.
|
static void |
registryDeleteValue(WinReg.HKEY hKey,
String valueName)
Delete a registry value.
|
static void |
registryDeleteValue(WinReg.HKEY root,
String keyPath,
String valueName)
Delete a registry value.
|
static byte[] |
registryGetBinaryValue(WinReg.HKEY root,
String key,
String value)
Get a registry REG_BINARY value.
|
static String |
registryGetExpandableStringValue(WinReg.HKEY root,
String key,
String value)
Get a registry REG_EXPAND_SZ value.
|
static int |
registryGetIntValue(WinReg.HKEY root,
String key,
String value)
Get a registry DWORD value.
|
static String[] |
registryGetKeys(WinReg.HKEY hKey)
Get names of the registry key's sub-keys.
|
static String[] |
registryGetKeys(WinReg.HKEY root,
String keyPath)
Get names of the registry key's sub-keys.
|
static long |
registryGetLongValue(WinReg.HKEY root,
String key,
String value)
Get a registry QWORD value.
|
static String[] |
registryGetStringArray(WinReg.HKEY root,
String key,
String value)
Get a registry REG_MULTI_SZ value.
|
static String |
registryGetStringValue(WinReg.HKEY root,
String key,
String value)
Get a registry REG_SZ value.
|
static TreeMap<String,Object> |
registryGetValues(WinReg.HKEY hKey)
Get a table of registry values.
|
static TreeMap<String,Object> |
registryGetValues(WinReg.HKEY root,
String keyPath)
Get a table of registry values.
|
static boolean |
registryKeyExists(WinReg.HKEY root,
String key)
Checks whether a registry key exists.
|
static void |
registrySetBinaryValue(WinReg.HKEY hKey,
String name,
byte[] data)
Set a binary value in registry.
|
static void |
registrySetBinaryValue(WinReg.HKEY root,
String keyPath,
String name,
byte[] data)
Set a binary value in registry.
|
static void |
registrySetExpandableStringValue(WinReg.HKEY hKey,
String name,
String value)
Set an expandable string value in registry.
|
static void |
registrySetExpandableStringValue(WinReg.HKEY root,
String keyPath,
String name,
String value)
Set a string value in registry.
|
static void |
registrySetIntValue(WinReg.HKEY hKey,
String name,
int value)
Set an integer value in registry.
|
static void |
registrySetIntValue(WinReg.HKEY root,
String keyPath,
String name,
int value)
Set an integer value in registry.
|
static void |
registrySetLongValue(WinReg.HKEY hKey,
String name,
long value)
Set a long value in registry.
|
static void |
registrySetLongValue(WinReg.HKEY root,
String keyPath,
String name,
long value)
Set a long value in registry.
|
static void |
registrySetStringArray(WinReg.HKEY hKey,
String name,
String[] arr)
Set a string array value in registry.
|
static void |
registrySetStringArray(WinReg.HKEY root,
String keyPath,
String name,
String[] arr)
Set a string array value in registry.
|
static void |
registrySetStringValue(WinReg.HKEY hKey,
String name,
String value)
Set a string value in registry.
|
static void |
registrySetStringValue(WinReg.HKEY root,
String keyPath,
String name,
String value)
Set a string value in registry.
|
static boolean |
registryValueExists(WinReg.HKEY root,
String key,
String value)
Checks whether a registry value exists.
|
public static String getUserName()
public static Advapi32Util.Account getAccountByName(String accountName)
accountName
- Specifies the account name.public static Advapi32Util.Account getAccountByName(String systemName, String accountName)
systemName
- Name of the system.accountName
- Account name.public static Advapi32Util.Account getAccountBySid(WinNT.PSID sid)
sid
- SID.public static Advapi32Util.Account getAccountBySid(String systemName, WinNT.PSID sid)
systemName
- Name of the system.sid
- SID.public static String convertSidToStringSid(WinNT.PSID sid)
sid
- SID bytes.public static byte[] convertStringSidToSid(String sidString)
sidString
- String SID.public static boolean isWellKnownSid(String sidString, int wellKnownSidType)
sidString
- String representation of a SID.wellKnownSidType
- Member of the WELL_KNOWN_SID_TYPE enumeration to compare with the SID at pSid.public static boolean isWellKnownSid(byte[] sidBytes, int wellKnownSidType)
sidBytes
- Byte representation of a SID.wellKnownSidType
- Member of the WELL_KNOWN_SID_TYPE enumeration to compare with the SID at pSid.public static Advapi32Util.Account getAccountBySid(String sidString)
sidString
- SID.public static Advapi32Util.Account getAccountBySid(String systemName, String sidString)
systemName
- System name.sidString
- SID.public static Advapi32Util.Account[] getTokenGroups(WinNT.HANDLE hToken)
hToken
- Token.public static Advapi32Util.Account getTokenAccount(WinNT.HANDLE hToken)
hToken
- Token.public static Advapi32Util.Account[] getCurrentUserGroups()
public static boolean registryKeyExists(WinReg.HKEY root, String key)
root
- HKEY_LOCAL_MACHINE, etc.key
- Path to the registry key.public static boolean registryValueExists(WinReg.HKEY root, String key, String value)
root
- HKEY_LOCAL_MACHINE, etc.key
- Registry key path.value
- Value name.public static String registryGetStringValue(WinReg.HKEY root, String key, String value)
root
- Root key.key
- Registry path.value
- Name of the value to retrieve.public static String registryGetExpandableStringValue(WinReg.HKEY root, String key, String value)
root
- Root key.key
- Registry path.value
- Name of the value to retrieve.public static String[] registryGetStringArray(WinReg.HKEY root, String key, String value)
root
- Root key.key
- Registry path.value
- Name of the value to retrieve.public static byte[] registryGetBinaryValue(WinReg.HKEY root, String key, String value)
root
- Root key.key
- Registry path.value
- Name of the value to retrieve.public static int registryGetIntValue(WinReg.HKEY root, String key, String value)
root
- Root key.key
- Registry key path.value
- Name of the value to retrieve.public static long registryGetLongValue(WinReg.HKEY root, String key, String value)
root
- Root key.key
- Registry key path.value
- Name of the value to retrieve.public static boolean registryCreateKey(WinReg.HKEY hKey, String keyName)
hKey
- Parent key.keyName
- Key name.public static boolean registryCreateKey(WinReg.HKEY root, String parentPath, String keyName)
root
- Root key.parentPath
- Path to an existing registry key.keyName
- Key name.public static void registrySetIntValue(WinReg.HKEY hKey, String name, int value)
hKey
- Parent key.name
- Value name.value
- Value to write to registry.public static void registrySetIntValue(WinReg.HKEY root, String keyPath, String name, int value)
root
- Root key.keyPath
- Path to an existing registry key.name
- Value name.value
- Value to write to registry.public static void registrySetLongValue(WinReg.HKEY hKey, String name, long value)
hKey
- Parent key.name
- Value name.value
- Value to write to registry.public static void registrySetLongValue(WinReg.HKEY root, String keyPath, String name, long value)
root
- Root key.keyPath
- Path to an existing registry key.name
- Value name.value
- Value to write to registry.public static void registrySetStringValue(WinReg.HKEY hKey, String name, String value)
hKey
- Parent key.name
- Value name.value
- Value to write to registry.public static void registrySetStringValue(WinReg.HKEY root, String keyPath, String name, String value)
root
- Root key.keyPath
- Path to an existing registry key.name
- Value name.value
- Value to write to registry.public static void registrySetExpandableStringValue(WinReg.HKEY hKey, String name, String value)
hKey
- Parent key.name
- Value name.value
- Value to write to registry.public static void registrySetExpandableStringValue(WinReg.HKEY root, String keyPath, String name, String value)
root
- Root key.keyPath
- Path to an existing registry key.name
- Value name.value
- Value to write to registry.public static void registrySetStringArray(WinReg.HKEY hKey, String name, String[] arr)
hKey
- Parent key.name
- Name.arr
- Array of strings to write to registry.public static void registrySetStringArray(WinReg.HKEY root, String keyPath, String name, String[] arr)
root
- Root key.keyPath
- Path to an existing registry key.name
- Value name.arr
- Array of strings to write to registry.public static void registrySetBinaryValue(WinReg.HKEY hKey, String name, byte[] data)
hKey
- Parent key.name
- Value name.data
- Data to write to registry.public static void registrySetBinaryValue(WinReg.HKEY root, String keyPath, String name, byte[] data)
root
- Root key.keyPath
- Path to an existing registry key.name
- Value name.data
- Data to write to registry.public static void registryDeleteKey(WinReg.HKEY hKey, String keyName)
hKey
- Parent key.keyName
- Name of the key to delete.public static void registryDeleteKey(WinReg.HKEY root, String keyPath, String keyName)
root
- Root key.keyPath
- Path to an existing registry key.keyName
- Name of the key to delete.public static void registryDeleteValue(WinReg.HKEY hKey, String valueName)
hKey
- Parent key.valueName
- Name of the value to delete.public static void registryDeleteValue(WinReg.HKEY root, String keyPath, String valueName)
root
- Root key.keyPath
- Path to an existing registry key.valueName
- Name of the value to delete.public static String[] registryGetKeys(WinReg.HKEY hKey)
hKey
- Registry key.public static String[] registryGetKeys(WinReg.HKEY root, String keyPath)
root
- Root key.keyPath
- Path to a registry key.public static TreeMap<String,Object> registryGetValues(WinReg.HKEY hKey)
hKey
- Registry key.public static TreeMap<String,Object> registryGetValues(WinReg.HKEY root, String keyPath)
root
- Registry root.keyPath
- Regitry key path.public static String getEnvironmentBlock(Map<String,String> environment)
Advapi32.CreateProcessAsUser(com.sun.jna.platform.win32.WinNT.HANDLE, java.lang.String, java.lang.String, com.sun.jna.platform.win32.WinBase.SECURITY_ATTRIBUTES, com.sun.jna.platform.win32.WinBase.SECURITY_ATTRIBUTES, boolean, int, java.lang.String, java.lang.String, com.sun.jna.platform.win32.WinBase.STARTUPINFO, com.sun.jna.platform.win32.WinBase.PROCESS_INFORMATION)
. This environment block consists
of null-terminated blocks of null-terminated strings. Each string is in the
following form: name=value\0environment
- Environment variablespublic static WinNT.ACCESS_ACEStructure[] getFileSecurity(String fileName, boolean compact)