Thursday, October 8, 2015

Remote PowerShell

Updates

 

Security

Who’s afraid of PowerShell security?
https://blogs.technet.microsoft.com/ashleymcglone/2016/06/29/whos-afraid-of-powershell-security/

Defending Against PowerShell Attacks (2017)
https://blogs.msdn.microsoft.com/powershell/2017/10/23/defending-against-powershell-attacks/

ISE

PowerShell Remoting With Integrated Scripting Environment–ISE
http://blogs.technet.com/b/rmilne/archive/2015/02/02/using-exchange-powershell-remoting-with-integrated-scripting-environment-ise.aspx

Security

http://blogs.msdn.com/b/powershell/archive/2013/12/16/powershell-security-best-practices.aspx

Reflective DLL Loading with PowerShell:
http://www.youtube.com/watch?v=OAd68_SYQc8

Living off the Land:
http://www.youtube.com/watch?v=j-r6UonEkUw

Get-Help about_Group_Policy_Settings
http://technet.microsoft.com/en-us/library/jj149004.aspx

Constrained PowerShell Endpoints
http://www.youtube.com/watch?v=kmjJLKlL1Wg

PowerShell Language Specification:
http://www.microsoft.com/en-us/download/details.aspx?id=36389

Composing Command Arguments:
http://www.powershellcookbook.com/recipe/XoMw/run-programs-scripts-and-existing-tools

PowerShell Remoting over HTTPS with a self-signed SSL certificate
https://4sysops.com/archives/powershell-remoting-over-https-with-a-self-signed-ssl-certificate/

SharePoint

PowerShell Remoting for SharePoint 2010/2013
http://sharepoint-community.net/profiles/blogs/powershell-remoting-for-sharepoint

SharePoint 2010 with Windows PowerShell Remoting Step by Step
http://blogs.msdn.com/b/opal/archive/2010/03/07/sharepoint-2010-with-windows-powershell-remoting-step-by-step.aspx

Configure Remote PowerShell in SharePoint 2010
http://blogs.msdn.com/b/varun_malhotra/archive/2010/06/10/configure-power-shell-for-remote-use-of-sp-2010.aspx

Original Blog

There are several ways to connect and run PowerShell command remotely.  In this article I want to address the needs of many IT admins that just need quick PowerShell access to run a command or set of commands.

First step is to open your remote computer to PowerShell using GPOs or type

winrm quickconfig

image

Invoke-Command

Now using PowerShell you can run several commands but lets focus first on invoke command

image

Help Invoke-Command –examples is all you need.  Just copy the second example and fill in the blanks.

image

However this does have an annoying issues that we can quickly fix.  Using variables lets set both the computername and user

image

Just substitute the variables for computername and credentials and you are good to go.  Note that the user/password variable is secure for most users Winking smile but more on that later.

image

Enter-PSsession

Since we have variables set for computername and credentials this one is easy.

image

Now connected -Fun commands

image

[System.Net.Dns]::GetHostbyAddress("127.0.0.1")

[System.Net.Dns]::GetHostAddresses(“contoso.com")

image

get-wmiobject win32_service –computername 127.0.0.1

image

get-psdrive

cd hklm:\  (or any other drive)

Old School

Remember you can always type cmd to get the old classic command if needed.  Have Fun!

image

cd hklm:\get

References

Thanks always to Ed and Theresa Wilson for inspiration http://www.edwilson.com/

Good Articles on Remote PowerShell
http://technet.microsoft.com/en-us/magazine/gg981683.aspx
http://blogs.technet.com/b/heyscriptingguy/archive/2011/11/16/configure-powershell-remoting-and-use-remote-commands.aspx

system.net namespace

 http://msdn.microsoft.com/en-us/library/system.net.aspx

 http://msdn.microsoft.com/en-us/library/system.net.networkinformation.aspx

Old but not thrown out yet
http://blogs.msdn.com/b/powershell/archive/2008/05/10/remoting-with-powershell-quickstart.aspx