Public/Enable-Remoting.ps1
|
<#
.Description This Command will enable PowerShell Remoting on a remote PC. .NOTES This function requires psexec. If you do not, download it with the sysinternals suite. Add psexec to one of your enviroment variable paths. .Parameter Computer Computer that PSRemoting is being enabled on .Parameter Username Username used by PSExec to authenticate with admin privleges .Parameter Password Password that is associated with the username used .EXAMPLE Enable-PSRemoting -computer PCName -username domain\username This will enable remoting and then prompt for credentials .Note Requires PSExec from Sysinternals Suite .Link https://github.com/TheTaylorLee/AdminToolbox #> function Enable-Remoting { [CmdletBinding()] param ( [Parameter(Position = 0, Mandatory = $true)]$Computer, [Parameter(Position = 1, Mandatory = $false)]$Username, [Parameter(Position = 2, Mandatory = $false)][SecureString]$Password ) if (Get-Command psexec.exe -ErrorAction SilentlyContinue) { #Enabling PSRemoting PsExec.exe \\$Computer -s winrm.cmd quickconfig -q PsExec.exe \\$Computer -u $Username -p $Password powershell.exe cmd /c "enable-psremoting -force" #Testing that PSRemoting is now enabled. Write-Host "If an error is presented after this point PSRemoting wasn't enabled" -ForegroundColor Yellow Test-WSMan $Computer } else { Write-Error "PSExec.exe was not found in your path. Please download PSExec from the Sysinternals Suite and add it to your Environment path." } } |