Documentation ¶
Overview ¶
Package winutil contains misc Windows/Win32 helper functions.
Index ¶
- Constants
- func GetPolicyInteger(name string, defval uint64) uint64
- func GetPolicyString(name, defval string) string
- func GetRegInteger(name string, defval uint64) uint64
- func GetRegString(name, defval string) string
- func IsCurrentProcessElevated() bool
- func IsSIDValidPrincipal(uid string) bool
- func LookupPseudoUser(uid string) (*user.User, error)
Constants ¶
const RegBase = regBase
RegBase is the registry path inside HKEY_LOCAL_MACHINE where registry settings are stored. This constant is a non-empty string only when GOOS=windows.
Variables ¶
This section is empty.
Functions ¶
func GetPolicyInteger ¶ added in v1.22.0
GetPolicyInteger looks up a registry value in the local machine's path for system policies, or returns the given default if it can't. Use this function to read values that may be set by sysadmins via the MSI installer or via GPO. For registry settings that you do *not* want to be visible to sysadmin tools, use GetRegInteger instead.
This function will only work on GOOS=windows. Trying to run it on any other OS will always return the default value.
func GetPolicyString ¶ added in v1.22.0
GetPolicyString looks up a registry value in the local machine's path for system policies, or returns the given default if it can't. Use this function to read values that may be set by sysadmins via the MSI installer or via GPO. For registry settings that you do *not* want to be visible to sysadmin tools, use GetRegString instead.
This function will only work on GOOS=windows. Trying to run it on any other OS will always return the default value.
func GetRegInteger ¶ added in v1.16.0
GetRegInteger looks up a registry path in the local machine path, or returns the given default if it can't.
This function will only work on GOOS=windows. Trying to run it on any other OS will always return the default value.
func GetRegString ¶
GetRegString looks up a registry path in the local machine path, or returns the given default if it can't.
This function will only work on GOOS=windows. Trying to run it on any other OS will always return the default value.
func IsCurrentProcessElevated ¶ added in v1.36.0
func IsCurrentProcessElevated() bool
func IsSIDValidPrincipal ¶ added in v1.22.0
IsSIDValidPrincipal determines whether the SID contained in uid represents a type that is a valid security principal under Windows. This check helps us work around a bug in the standard library's Windows implementation of LookupId in os/user. See https://github.com/tailscale/tailscale/issues/869
This function will only work on GOOS=windows. Trying to run it on any other OS will always return false.
func LookupPseudoUser ¶ added in v1.34.0
LookupPseudoUser attempts to resolve the user specified by uid by checking against well-known pseudo-users on Windows. This is a temporary workaround until https://github.com/golang/go/issues/49509 is resolved and shipped.
This function will only work on GOOS=windows. Trying to run it on any other OS will always return an error.
Types ¶
This section is empty.