Windows 8 brings PowerShell v3 and a whole bunch of PowerShell modules. One such module is NETTCPIP and as the name suggests is about networking.
PowerShell v3 automatically loads modules for you so as soon as PowerShell opens try
PS> Get-NetIPConfiguration
InterfaceAlias : Ethernet
InterfaceIndex : 13
InterfaceDescription : NVIDIA nForce 10/100/1000 Mbps Ethernet
NetProfile.Name : Unidentified network
IPv4Address : 10.10.54.202
IPv6DefaultGateway :
IPv4DefaultGateway :
DNSServer : fec0:0:0:ffff::1
fec0:0:0:ffff::2
fec0:0:0:ffff::3
InterfaceAlias : WiFi
InterfaceIndex : 12
InterfaceDescription : Qualcomm Atheros AR5007 802.11b/g WiFi Ada
NetProfile.Name : TiscaliF23E11
IPv4Address : 192.168.1.2
IPv6DefaultGateway :
IPv4DefaultGateway : 192.168.1.1
DNSServer : 192.168.1.1
InterfaceAlias : Bluetooth Network Connection
InterfaceIndex : 30
InterfaceDescription : Bluetooth Device (Personal Area Network)
NetAdapter.Status : Disconnected
One thing that you will need to do is to set up PowerShell remoting
PS> Enable-PSRemoting
WinRM Quick Configuration
Running command "Set-WSManQuickConfig" to enable remote management of this computer by using the Windows Remote
Management (WinRM) service.
This includes:
1. Starting or restarting (if already started) the WinRM service
2. Setting the WinRM service startup type to Automatic
3. Creating a listener to accept requests on any IP address
4. Enabling Windows Firewall inbound rule exceptions for WS-Management traffic (for http only).
Do you want to continue?
[Y] Yes [A] Yes to All [N] No [L] No to All [S] Suspend [?] Help (default is "Y"): a
Set-WSManQuickConfig : <f:WSManFault xmlns:f="http://schemas.microsoft.com/wbem/wsman/1/wsmanfault" Code="2150859113"
Machine="localhost"><f:Message><f:ProviderFault provider="Config provider"
path="%systemroot%\system32\WsmSvc.dll"><f:WSManFault xmlns:f="http://schemas.microsoft.com/wbem/wsman/1/wsmanfault"
Code="2150859113" Machine="RSLAPTOP01"><f:Message>WinRM firewall exception will not work since one of the network
connection types on this machine is set to Public. Change the network connection type to either Domain or Private and
try again. </f:Message></f:WSManFault></f:ProviderFault></f:Message></f:WSManFault>
At line:69 char:17
+ Set-WSManQuickConfig -force
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (:) [Set-WSManQuickConfig], InvalidOperationException
+ FullyQualifiedErrorId : WsManError,Microsoft.WSMan.Management.SetWSManQuickConfigCommand
The emphasis of Public is mine. We have a network connection type set to public. At this point I would normally be tearing my hair out because network connection types are the ultimate pain to modify. I have hated the things since Windows Vista. No more they are now a minor inconvenience.
Look in the module NetConnection for Get-NetConnectionProfile
PS> Get-NetConnectionProfile
Name : Unidentified network
InterfaceAlias : Ethernet
InterfaceIndex : 13
NetworkCategory : Public
IPv4Connectivity : NoTraffic
IPv6Connectivity : NoTraffic
Name : TiscaliF23E11
InterfaceAlias : WiFi
InterfaceIndex : 12
NetworkCategory : Private
IPv4Connectivity : Internet
IPv6Connectivity : NoTraffic
Now we can get to it modifying is easy
PS> Set-NetConnectionProfile -InterfaceIndex 13 -NetworkCategory Private
PS> Get-NetConnectionProfile
Name : Unidentified network
InterfaceAlias : Ethernet
InterfaceIndex : 13
NetworkCategory : Private
IPv4Connectivity : NoTraffic
IPv6Connectivity : NoTraffic
Name : TiscaliF23E11
InterfaceAlias : WiFi
InterfaceIndex : 12
NetworkCategory : Private
IPv4Connectivity : Internet
IPv6Connectivity : NoTraffic
And now you can enable PowerShell remoting
Best of all the change is WMI based. The netconnection cmdlets are created as CDXML from WMI classes new to Windows 8. Get-NetIPConfiguration is also CDXML.
CDXML is cmdlets over objects – WMI classes wrapped in XML and presented as a module
see Chapters 18 & 19 of PowerShell and WMI for more details