{"id":2237,"date":"2014-01-13T00:01:00","date_gmt":"2014-01-13T00:01:00","guid":{"rendered":"https:\/\/blogs.technet.microsoft.com\/heyscriptingguy\/2014\/01\/13\/enabling-and-disabling-network-adapters-with-powershell\/"},"modified":"2014-01-13T00:01:00","modified_gmt":"2014-01-13T00:01:00","slug":"enabling-and-disabling-network-adapters-with-powershell","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/scripting\/enabling-and-disabling-network-adapters-with-powershell\/","title":{"rendered":"Enabling and Disabling Network Adapters with PowerShell"},"content":{"rendered":"<p><b>Summary<\/b>: Microsoft Scripting Guy, Ed Wilson, talks using Windows PowerShell to enable and disable network adapters.<\/p>\n<p>Microsoft Scripting Guy, Ed Wilson, is here. Today I have spent much of the day working with the various speakers who will be speaking at Windows PowerShell Saturday #007 in Charlotte, North Carolina. We have finalized the schedule. Woo Hoo!! The speaker list was set over a month ago, but certain speakers want to speak in the morning or in the afternoon. Some have more than one session and want to speak back-to-back, or not back-to-back. Others want to be opposite someone else so they can attend a specific session. (We have some awesome sessions with great Windows PowerShell speakers!) These are the sort of details that take a lot of time to completely work out. But the schedule is now set. Incidentally, the Scripting Wife was instrumental in getting the schedule worked out. She is great at these types of detailed operations.<\/p>\n<p style=\"margin-left:30px\"><b><a href=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/29\/2019\/02\/Sat007.png\"><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/29\/2019\/02\/Sat007.png\" alt=\"Image of logo\" width=\"150\" height=\"91\" title=\"Image of logo\" \/><\/a><\/b><\/p>\n<p style=\"margin-left:30px\"><b>Note<\/b>&nbsp; <a href=\"http:\/\/powershellsaturday.com\/007\/conference\/powershell-saturday-007-charlotte-nc-february-8-2014\/\" target=\"_blank\">PowerShell Saturday #007<\/a> will be held in Charlotte, North Carolina on February 8, 2014. This will be an awesome chance to meet and to learn from some of the best PowerShellers around. In fact, five of the speakers are also speakers at the PowerShell Summit this year. There are a limited number of tickets still available for this event, so you&rsquo;ll want to sign up now. The Scripting Wife wrote a great post that provides a quick overview of the event: <a href=\"https:\/\/devblogs.microsoft.com\/scripting\/psst-charlotte-powershell-saturday-details-leaked\/\" target=\"_blank\">Psst&#8230;Charlotte PowerShell Saturday Details Leaked<\/a>.<\/p>\n<p>Anyway, I want to get back to talking about working with network adapters&hellip;<\/p>\n<p style=\"margin-left:30px\"><b>Note<\/b>&nbsp; This is the second post in a series that examines working with network adapters. You may want to refer to yesterday&#039;s post,&nbsp;<a href=\"https:\/\/devblogs.microsoft.com\/scripting\/weekend-scripter-use-powershell-to-identify-network-adapter-characteristics\/\">Use PowerShell to Identify Network Adapter Characteristics<\/a>&nbsp;before you read today&#039;s.<\/p>\n<p>The most fundamental things that I do with a network adapter are enable it or disable it. In fact, I perform these tasks several times a week. This is because my primary work device is a laptop and it has built-in wireless network adapters. Not surprisingly, all modern laptops have wired and wireless connections available.<\/p>\n<p>When I am at home in my office, I want to have my laptop use the gigabit Ethernet switch that I have, and not go through the significantly slower wireless adapter. If I am on the road, I want to know if my wireless network adapter is enabled, and I want to control whether it connects to for example, a network named Starbucks. If I do not control such a thing, my laptop will automatically connect to every wireless it has seen before. This is why I wrote this blog post: <a href=\"https:\/\/devblogs.microsoft.com\/scripting\/weekend-scripter-use-powershell-to-manage-auto-connect-wireless-networks\/\" target=\"_blank\">Use PowerShell to Manage Auto-Connect Wireless Networks<\/a>. Chris Wu, a Microsoft PFE also wrote this post, which takes a different approach and is a good read as well: <a href=\"https:\/\/devblogs.microsoft.com\/scripting\/weekend-scripter-use-powershell-to-manage-windows-network-locations\/\" target=\"_blank\">Use PowerShell to Manage Windows Network Locations<\/a>.<\/p>\n<h2>Using Devcon<\/h2>\n<p>Before Windows Vista and Windows Server&nbsp;2008, when I needed to enable or disable a network adapter, I would actually use <a href=\"http:\/\/support.microsoft.com\/kb\/311272\">Devcon<\/a>. Devcon is a command-line tool that provides the ability to enable and disable various hardware devices. It is billed as a command-line device manager. Here is a VBScript script that I wrote to enable and disable the network interface adapter by using Devcon. Keep in mind that Devcon is not installed by default, and it must be installed prior to use.<\/p>\n<p style=\"margin-left:30px\">&#039;===================================================<\/p>\n<p style=\"margin-left:30px\">&#039;<\/p>\n<p style=\"margin-left:30px\">&#039; VBScript:&nbsp; AUTHOR: Ed Wilson , MS,&nbsp; 5\/5\/2004<\/p>\n<p style=\"margin-left:30px\">&#039;<\/p>\n<p style=\"margin-left:30px\">&#039; NAME: &lt;turnONoffNet.vbs&gt;<\/p>\n<p style=\"margin-left:30px\">&#039;<\/p>\n<p style=\"margin-left:30px\">&#039; COMMENT: Key concepts are listed below:<\/p>\n<p style=\"margin-left:30px\">&#039;1.uses the c:\\devcon utility to turn on or off net<\/p>\n<p style=\"margin-left:30px\">&#039;2.uses a vbyesNO msgBOX to solicit input<\/p>\n<p style=\"margin-left:30px\">&#039;3. KB 311272&nbsp; talks about devcon and shows where to get<\/p>\n<p style=\"margin-left:30px\">&#039;====================================================<\/p>\n<p style=\"margin-left:30px\">Option Explicit<\/p>\n<p style=\"margin-left:30px\">Dim objShell<\/p>\n<p style=\"margin-left:30px\">Dim objExec<\/p>\n<p style=\"margin-left:30px\">Dim onWireLess<\/p>\n<p style=\"margin-left:30px\">Dim onLoopBack<\/p>\n<p style=\"margin-left:30px\">Dim turnON<\/p>\n<p style=\"margin-left:30px\">Dim turnOFF<\/p>\n<p style=\"margin-left:30px\">Dim yesNO<\/p>\n<p style=\"margin-left:30px\">Dim message, msgTitle<\/p>\n<p style=\"margin-left:30px\">Dim strText<\/p>\n<p>&nbsp;<\/p>\n<p style=\"margin-left:30px\">message = &quot;Turn On Wireless? Loop is disabled&quot; &amp; vbcrlf &amp; &quot;if not, then wireless is disabled and loop enabled&quot;<\/p>\n<p style=\"margin-left:30px\">msgTitle = &quot;change Network settings&quot;<\/p>\n<p style=\"margin-left:30px\">onWireLess = &quot; PCMCIA\\Dell-0156-0002&quot;<\/p>\n<p style=\"margin-left:30px\">onLoopBack = &quot; *loop&quot;<\/p>\n<p style=\"margin-left:30px\">turnON = &quot;enable&quot;<\/p>\n<p style=\"margin-left:30px\">turnOFF = &quot;disable&quot;<\/p>\n<p style=\"margin-left:30px\">Const yes = 6<\/p>\n<p>&nbsp;<\/p>\n<p style=\"margin-left:30px\">Set objShell = CreateObject(&quot;wscript.shell&quot;)<\/p>\n<p style=\"margin-left:30px\">yesNO = MsgBox(message,vbyesNO,msgTitle)<\/p>\n<p>&nbsp;<\/p>\n<p style=\"margin-left:30px\">If yesNO = yes Then<\/p>\n<p style=\"margin-left:30px\">WScript.Echo &quot;yes chosen&quot;<\/p>\n<p style=\"margin-left:30px\">Set objExec = objShell.exec(&quot;cmd \/c c:\\devcon &quot; &amp; turnON &amp; onWireLess)<\/p>\n<p style=\"margin-left:30px\">subOUT<\/p>\n<p style=\"margin-left:30px\">Set objExec = objShell.exec(&quot;cmd \/c c:\\devcon &quot; &amp; turnOFF &amp; onLoopBack)<\/p>\n<p style=\"margin-left:30px\">subOUT<\/p>\n<p style=\"margin-left:30px\">Else<\/p>\n<p style=\"margin-left:30px\">WScript.Echo &quot;no chosen&quot;<\/p>\n<p style=\"margin-left:30px\">Set objExec = objShell.exec(&quot;cmd \/c c:\\devcon &quot; &amp; turnOFF &amp; onWireLess)<\/p>\n<p style=\"margin-left:30px\">subOUT<\/p>\n<p style=\"margin-left:30px\">Set objExec = objShell.exec(&quot;cmd \/c c:\\devcon &quot; &amp; turnON &amp; onLoopBack)<\/p>\n<p style=\"margin-left:30px\">subOUT<\/p>\n<p style=\"margin-left:30px\">End If<\/p>\n<p>&nbsp;<\/p>\n<p style=\"margin-left:30px\">Sub subOUT<\/p>\n<p style=\"margin-left:30px\">Do until objExec.StdOut.AtEndOfStream<\/p>\n<p style=\"margin-left:30px\">&nbsp;&nbsp;&nbsp; strText = objExec.StdOut.ReadLine()<\/p>\n<p style=\"margin-left:30px\">&nbsp;&nbsp;&nbsp;&nbsp; Wscript.Echo strText<\/p>\n<p style=\"margin-left:30px\">Loop<\/p>\n<p style=\"margin-left:30px\">End sub<\/p>\n<h2>Using WMI<\/h2>\n<p>In Windows Vista and Windows Server&nbsp;2008, the <a href=\"http:\/\/msdn.microsoft.com\/en-us\/library\/aa394216%28v=vs.85%29.aspx\" target=\"_blank\">Win32_NetworkAdapter class<\/a> gained two methods: Disable and Enable. These methods are instance methods, which means that to use them, I need to first obtain an instance of the WMI class.<\/p>\n<p>What does this mean? Well, I am using Win32_NetworkAdapter, and therefore I am working with network adapters. So, I need to get a specific network adapter, and then I can disable it or enable it. Here is how it might work:<\/p>\n<p style=\"margin-left:30px\">$wmi = Get-WmiObject -Class Win32_NetworkAdapter -filter &quot;Name LIKE &#039;%Wireless%&#039;&quot;<\/p>\n<p style=\"margin-left:30px\">$wmi.disable()<\/p>\n<p>&ndash;or&ndash;&nbsp;<\/p>\n<p style=\"margin-left:30px\">$wmi = Get-WmiObject -Class Win32_NetworkAdapter -filter &quot;Name LIKE &#039;%Wireless%&#039;&quot;<\/p>\n<p style=\"margin-left:30px\">$wmi.enable()<\/p>\n<p>Keep in mind that when calling a method in Windows PowerShell, the parenthesis are required.<\/p>\n<p>If I need to specify alternate credentials, I can specify a remote computer name and an account that has local admin rights on the remote box. The script would appear like the following:<\/p>\n<p style=\"margin-left:30px\">$wmi = Get-WmiObject -Class Win32_NetworkAdapter -filter &quot;Name LIKE &#039;%Wireless%&#039;&quot; &ndash;credential (Get-Credential) &ndash;computername remotecomputer<\/p>\n<p style=\"margin-left:30px\">$wmi.disable()<\/p>\n<p>Keep in mind that WMI does not permit alternate credentials for a local connection. Attempts to use alternate credentials for a local connection results in the following error:<\/p>\n<p style=\"margin-left:30px\">PS C:\\&gt; gwmi win32_networkadapter -Credential (Get-Credential)<\/p>\n<p style=\"margin-left:30px\">cmdlet Get-Credential at command pipeline position 1<\/p>\n<p>Supply values for the following parameters:<\/p>\n<p style=\"margin-left:30px\">Credential<\/p>\n<p style=\"margin-left:30px\">gwmi : User credentials cannot be used for local connections<\/p>\n<p style=\"margin-left:30px\">At line:1 char:1<\/p>\n<p style=\"margin-left:30px\">+ gwmi win32_networkadapter -Credential (Get-Credential)<\/p>\n<p style=\"margin-left:30px\">+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<\/p>\n<p style=\"margin-left:30px\">&nbsp;&nbsp;&nbsp; + CategoryInfo&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : InvalidOperation: (:) [Get-WmiObject], ManagementException<\/p>\n<p style=\"margin-left:30px\">&nbsp;&nbsp;&nbsp; + FullyQualifiedErrorId : GetWMIManagementException,Microsoft.PowerShell.Comman<\/p>\n<p style=\"margin-left:30px\">&nbsp;&nbsp; ds.GetWmiObjectCommand<\/p>\n<p>For local connections, this error is not a Windows PowerShell issue. WMI has always behaved in this manner, even going back to the VBScript days.<\/p>\n<h2>Using the NetAdapter module<\/h2>\n<p>In Windows 8.1 and Windows&nbsp;8, I can use Windows PowerShell to stop or to start a network adapter by using one of the CIM commands. Of course, the function wraps the WMI class, but it also makes things really easy. The <b>NetAdapter<\/b><i> <\/i>functions are shown here (<b>gcm<\/b> is an alias for the <b>Get-Command<\/b> cmdlet):<\/p>\n<p style=\"margin-left:30px\">PS C:\\&gt; gcm -Noun netadapter | select name, modulename<\/p>\n<p>&nbsp;<\/p>\n<p style=\"margin-left:30px\">Name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ModuleName<\/p>\n<p style=\"margin-left:30px\">&#8212;-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#8212;&#8212;&#8212;-<\/p>\n<p style=\"margin-left:30px\">Disable-NetAdapter&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NetAdapter<\/p>\n<p style=\"margin-left:30px\">Enable-NetAdapter&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;NetAdapter<\/p>\n<p style=\"margin-left:30px\">Get-NetAdapter&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NetAdapter<\/p>\n<p style=\"margin-left:30px\">Rename-NetAdapter&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NetAdapter<\/p>\n<p style=\"margin-left:30px\">Restart-NetAdapter&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NetAdapter<\/p>\n<p style=\"margin-left:30px\">Set-NetAdapter&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NetAdapter<\/p>\n<p style=\"margin-left:30px\"><b>Note&nbsp; <\/b>To enable or to disable network adapters requires admin rights. Therefore you must start the Windows PowerShell console with an account that has the proper rights to perform the task.<\/p>\n<p>The various network adapters on my laptop appear in the image that follows.<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/29\/2019\/02\/HSG-1-13-14-01.png\"><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/29\/2019\/02\/HSG-1-13-14-01.png\" alt=\"Image of menu\" title=\"Image of menu\" \/><\/a><\/p>\n<p>I do not like having enabled, disconnected network adapters. Instead, I prefer to only enable the network adapter I am using. There are a number of reasons for this, such as simplified routing tables, performance issues, and security concerns. In the past, I wrote a script. Now I only need to use a Windows PowerShell command. If I want to disable only the non-connected network adapters, the command is easy:<\/p>\n<p style=\"margin-left:30px\">Get-NetAdapter | ? status -ne up | Disable-NetAdapter<\/p>\n<p>The problem with the previous command is that it prompts. This is not much fun when there are multiple network adapters to disable. The prompt is shown here:<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/29\/2019\/02\/HSG-1-13-14-02.png\"><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/29\/2019\/02\/HSG-1-13-14-02.png\" alt=\"Image of command output\" title=\"Image of command output\" \/><\/a><\/p>\n<p>To suppress the prompt, I need to supply <b>$false<\/b> to the <b>&ndash;confirm<\/b> parameter, as shown here:<\/p>\n<p style=\"margin-left:30px\">Get-NetAdapter | ? status -ne up | Disable-NetAdapter -Confirm:$false<\/p>\n<p>A quick check in Control Panel shows that the disconnected adapters are now disabled:<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/29\/2019\/02\/HSG-1-13-14-03.png\"><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/29\/2019\/02\/HSG-1-13-14-03.png\" alt=\"Image of menu\" title=\"Image of menu\" \/><\/a><\/p>\n<p>If I want to enable a specific network adapter, I use the <b>Enable-Network<\/b> adapter cmdlet. I can specify by name as shown here:<\/p>\n<p style=\"margin-left:30px\">Enable-NetAdapter -Name ethernet -Confirm:$false<\/p>\n<p>If I do not want to type the adapter name, I can use the <b>Get-NetAdapter<\/b> cmdlet to retrieve a specific network adapter and then enable it, as shown here:<\/p>\n<p style=\"margin-left:30px\">Get-NetAdapter -Name vethernet* | ? status -eq disabled | Enable-NetAdapter -Confirm:$false<\/p>\n<p>It is also possible to use wildcard characters with the <b>Get-NetAdapter<\/b> to retrieve multiple adapters and pipe them directly to the <b>Disable-NetAdapter<\/b> cmdlet. The following command permits the confirmation prompts so that I can selectively enable or disable the adapter as I wish:<\/p>\n<p style=\"margin-left:30px\">PS C:\\&gt; Get-NetAdapter -Name vethernet* | Disable-NetAdapter<\/p>\n<p>&nbsp;<\/p>\n<p style=\"margin-left:30px\">Confirm<\/p>\n<p style=\"margin-left:30px\">Are you sure you want to perform this action?<\/p>\n<p style=\"margin-left:30px\">Disable-NetAdapter &#039;vEthernet (InternalSwitch)&#039;<\/p>\n<p style=\"margin-left:30px\">[Y] Yes&nbsp; [A] Yes to All&nbsp; [N] No&nbsp; [L] No to All&nbsp; [S] Suspend&nbsp; [?] Help<\/p>\n<p style=\"margin-left:30px\">(default is &quot;Y&quot;):y<\/p>\n<p>&nbsp;<\/p>\n<p style=\"margin-left:30px\">Confirm<\/p>\n<p style=\"margin-left:30px\">Are you sure you want to perform this action?<\/p>\n<p style=\"margin-left:30px\">Disable-NetAdapter &#039;vEthernet (ExternalSwitch)&#039;<\/p>\n<p style=\"margin-left:30px\">[Y] Yes&nbsp; [A] Yes to All&nbsp; [N] No&nbsp; [L] No to All&nbsp; [S] Suspend&nbsp; [?] Help<\/p>\n<p style=\"margin-left:30px\">(default is &quot;Y&quot;):n<\/p>\n<p><span>Network Adapter Week will continue tomorrow when I will talk about&nbsp;<\/span><span>renaming network adapters.<\/span><\/p>\n<p>I invite you to follow me on <a href=\"http:\/\/bit.ly\/scriptingguystwitter\" target=\"_blank\">Twitter<\/a> and <a href=\"http:\/\/bit.ly\/scriptingguysfacebook\" target=\"_blank\">Facebook<\/a>. If you have any questions, send email to me at <a href=\"mailto:scripter@microsoft.com\" target=\"_blank\">scripter@microsoft.com<\/a>, or post your questions on the <a href=\"http:\/\/bit.ly\/scriptingforum\" target=\"_blank\">Official Scripting Guys Forum<\/a>. See you tomorrow. Until then, peace.<\/p>\n<p><b>Ed Wilson, Microsoft Scripting Guy<\/b><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Summary: Microsoft Scripting Guy, Ed Wilson, talks using Windows PowerShell to enable and disable network adapters. Microsoft Scripting Guy, Ed Wilson, is here. Today I have spent much of the day working with the various speakers who will be speaking at Windows PowerShell Saturday #007 in Charlotte, North Carolina. We have finalized the schedule. Woo [&hellip;]<\/p>\n","protected":false},"author":596,"featured_media":87096,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1],"tags":[34,332,37,3,45],"class_list":["post-2237","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-scripting","tag-hardware","tag-network-adapters","tag-networking","tag-scripting-guy","tag-windows-powershell"],"acf":[],"blog_post_summary":"<p>Summary: Microsoft Scripting Guy, Ed Wilson, talks using Windows PowerShell to enable and disable network adapters. Microsoft Scripting Guy, Ed Wilson, is here. Today I have spent much of the day working with the various speakers who will be speaking at Windows PowerShell Saturday #007 in Charlotte, North Carolina. We have finalized the schedule. Woo [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/scripting\/wp-json\/wp\/v2\/posts\/2237","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/scripting\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/scripting\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/scripting\/wp-json\/wp\/v2\/users\/596"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/scripting\/wp-json\/wp\/v2\/comments?post=2237"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/scripting\/wp-json\/wp\/v2\/posts\/2237\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/scripting\/wp-json\/wp\/v2\/media\/87096"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/scripting\/wp-json\/wp\/v2\/media?parent=2237"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/scripting\/wp-json\/wp\/v2\/categories?post=2237"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/scripting\/wp-json\/wp\/v2\/tags?post=2237"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}