# Functions
AsShellForm returns a command in its shell form.
Elevate will call commands with [elevate](https://learn.microsoft.com/en-us/previous-versions/technet-magazine/cc162321(v=msdn.10)) assuming the tool is installed on the platform.
Gosu is similar to NewCommandInContainerAs.
Me will run the commands without switching user.
NewCommandAsDifferentUser defines a command wrapper which helps redefining commands so that they are run as a different user.
NewCommandAsRoot will create a command translator which will run command with `sudo` (for Unix Only).
NewCommandInContainerAs will redefine commands to be run in containers as `username`.
RunAs will run commands as the user username using [runas](https://learn.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2012-r2-and-2012/cc771525%28v=ws.11%29) (For WINDOWS only).
ShellRunAs will call commands with [shellrunas](https://learn.microsoft.com/en-gb/sysinternals/downloads/shellrunas) assuming [SysInternals](https://docs.microsoft.com/en-gb/sysinternals/downloads/sysinternals-suite) is installed on the platform.
Su will run commands as the user username using [su](https://www.unix.com/man-page/posix/1/su/) (for Unix Only).
Sudo will call commands with `sudo`.
# Structs
CommandAsDifferentUser helps redefining commands so that they are run as a different user or with more privileges.