One common problem with enabling PowerShell Remoting on your box is public networks. As long as there are active network connection labeled as "public" or "unknown", Enable-PSRemoting will fail. Previously, you would have to manually and temporarily disable all of these networks. No more in PowerShell 3.0! Simply use the new –SkipNetworkProfileCheck parameter:
Note that you need Administrator privileges to enable PowerShell Remoting.
Another common problem with PowerShell Remoting is that it is by default limited to Kerberos authentication. You cannot remote within a peer-to-peer network, to your own machine or across domains, and you cannot use IP addresses, either.
To change that, you need this additional line:
This line is not changing the way how others can connect to your computer. It simply controls the computers you are allowed to connect to without using Kerberos authentication. Here's a little background on that:
Kerberos authentication is a mutual authentication, so you can be sure the destination computer really is the computer it pretends to be.
Other authentication types cannot guarantee this, so there is the potential risk that someone has unplugged a company server and exchanged it with a hijacked server that uses the same name or IP address. That's why by default, PowerShell prevents you from using alternate authentication types. The argument "*" allows you to connect to any computer you want. It is then your responsibility to ensure that it really is the computer you want to reach.