Skip to content

Scripting & Automation

PowerShell

5 curated resources, easiest first.

about_Execution_Policies — by Microsoft Learn

beginnerpage

Explains what PowerShell execution policies are, the available levels (Restricted, RemoteSigned, AllSigned, Bypass and others) and the scopes they apply to. It also stresses the policy is a safety net rather than a security boundary, and shows how to check and change it per user, machine or session. Loosening it (for example Unrestricted or Bypass) reduces protection, so prefer the narrowest scope.

Invok-Command on localhost not working — by Limitless Technology on Microsoft Q&A

intermediateforum

A user got Access denied running Invoke-Command against localhost even though WinRM was started. The answer explains Invoke-Command needs PowerShell remoting enabled even for the local machine, and suggests setting WinRM to Automatic, starting it and enabling remoting. The answer writes the cmdlet as EnablePSRemoting; the real name is Enable-PSRemoting. Enabling remoting opens a WinRM listener, so only do it where you need it.

PowerShell Remoting FAQ — by Microsoft Learn

intermediatepage

Question-and-answer guide to running PowerShell commands on other computers: how remoting works over WS-Management, Invoke-Command versus a persistent PSSession, throttling, serialized output and profiles not loading in remote sessions. It also covers workgroup and cross-domain caveats such as TrustedHosts, and remoting over SSH.

Enable-PSRemoting — by Microsoft Learn

advancedpage

Reference for the cmdlet that configures a Windows machine to receive remote PowerShell commands: it starts WinRM, creates listeners and firewall exceptions, and enables session configurations. It notes that public-network profiles are blocked on client Windows unless -SkipNetworkProfileCheck is used, and that PowerShell 7 and Windows PowerShell endpoints are configured separately. Remoting opens a listener, so only enable it where needed.