mirror of
https://github.com/rvrsh3ll/Misc-Powershell-Scripts
synced 2026-06-21 14:09:04 +00:00
56 lines
1.4 KiB
PowerShell
56 lines
1.4 KiB
PowerShell
|
|
function Invoke-RunAs {
|
|
<#
|
|
.DESCRIPTION
|
|
|
|
Runas knockoff. Will bypass GPO path restrictions.
|
|
|
|
.PARAMETER UserName
|
|
Provide a user
|
|
|
|
.PARAMETER Password
|
|
Provide a password
|
|
|
|
.PARAMETER Domain
|
|
Provide optional domain
|
|
|
|
.Example
|
|
Invoke-RunAs -username administrator -password "P@$$word!" -domain CORPA
|
|
#>
|
|
[CmdletBinding()]Param (
|
|
[Parameter(
|
|
ValueFromPipeline=$True,
|
|
Mandatory=$True)]
|
|
[String]$username,
|
|
[Parameter(
|
|
ValueFromPipeline=$True,
|
|
Mandatory=$True)]
|
|
[String]$password,
|
|
[Parameter(
|
|
ValueFromPipeline=$True,
|
|
Mandatory=$False)]
|
|
[String]$domain,
|
|
[Parameter(
|
|
ValueFromPipeline=$True,
|
|
Mandatory=$False)]
|
|
[String]$command,
|
|
[Parameter(
|
|
ValueFromPipeline=$True,
|
|
Mandatory=$False)]
|
|
[String]$arguments
|
|
)
|
|
PROCESS {
|
|
$sec_password = convertto-securestring $password -asplaintext -force
|
|
$startinfo = new-object System.Diagnostics.ProcessStartInfo
|
|
$startinfo.UserName = $username
|
|
$startinfo.Password = $sec_password
|
|
$startinfo.Domain = $domain
|
|
$startinfo.FileName = $command
|
|
$startinfo.Arguments = $arguments
|
|
$startinfo.CreateNoWindow = $true
|
|
$startinfo.WindowStyle = [System.Diagnostics.ProcessWindowStyle]::hidden
|
|
$startinfo.UseShellExecute = $false
|
|
[System.Diagnostics.Process]::Start($startinfo)
|
|
}
|
|
}
|