{"componentChunkName":"component---src-templates-articles-index-jsx","path":"/articles/powershell-windows-software-update-services/","result":{"data":{"props":{"adsense":true,"adsenseMobile":null,"byLine":"","canonical":"https://staging.business.com/articles/powershell-windows-software-update-services/","content":"<p>Windows Software Update Services (WSUS) has been around for a long time and has provided IT professionals a free tool to manage Windows and some third party updates across all of their Windows systems.</p>\n<p>It eases the task of inventoring, installing and maintaining patches across Windows. </p>\r\n<p>WSUS relies on a server and a policy on each computer it's managing. Managing WSUS typically consists of working with two types of objects: the WSUS server(s) and the Windows clients. There's not a single tool out there that helps with each of these. This is where PowerShell can help out.</p>\r\n<p>Because PowerShell can interact with each object, we can use PowerShell to do some different activities related to installing updates with WSUS. First of all, when first rolling out a new WSUS server, download all of the required updates from Microsoft Update. When WSUS is installed, it also installs various PowerShell cmdlets to manage it, so we can remotely do many WSUS server activities. </p>\r\n<h2>1. Sync your WSUS server with Microsoft Update</h2>\r\n<p>One way to remotely connect to a WSUS server is to use PowerShell remoting so be sure that your WSUS server has this enabled by following <a href=\"http://www.howtogeek.com/117192/how-to-run-powershell-commands-on-remote-computers/\" target=\"_blank\">this</a> guide. Once PowerShell remoting has been enabled, we can make a connection to our WSUS server by using the PowerShell cmdlet Enter-PSSession.</p>\r\n<p>PS&gt; Enter-PSSession -ComputerName WSUSSERVER<br>[WSUSSERVER]: PS&gt;</p>\r\n<p><em>Note: We're entering an interactive remoting session just to demonstrate some commands. You may also choose to use the Invoke-Command command to automate many of these commands in a larger script.</em></p>\r\n<p>First, determine how to query all of the updates currently on our WSUS server. To do that, we can use the Get-WsusUpdate command. When ran on a new WSUS server, you'll see that nothing is returned. This is because no updates have been synchronized yet. We can initiate a sync from PowerShell using the Get-WsusServer cmdlet.</p>\r\n<p>(Get-WsusServer).GetSubscription().StartSynchronization()</p>\r\n<p>Once complete, all of the updates that were configured to sync should be downloaded locally. Once you've ensured all patches are synced with Microsoft Update, let's take a look at all of the clients this server is currently managing updates on. </p>\r\n<h2>Query all of the computers that this WSUS server is managing</h2>\r\n<p>[WSUSSERVER]: PS C:&gt; Get-WsusComputer</p>\r\n<table class=\"editorTblTable editorTblSize10 editorTblStyledefault\"><tbody>\n<tr>\n<td>Computer</td>\r\n<td>IP Address</td>\r\n<td>Operating System</td>\r\n<td>Last Status Report</td>\r\n</tr>\n<tr>\n<td>client1.mylab.local</td>\r\n<td>2607:fcc8:acc1:ed00:cd0:baa4:eea2:80a</td>\r\n<td>Windows 8.1</td>\r\n<td>1/1/0001 12:00:00 AM</td>\r\n</tr>\n</tbody></table>\n<p>To get a full listing of all of the commands available to you use the Get-Command command to view a list of all of the WSUS commands inside of the WSUS module.</p>\r\n<p>[WSUSSERVER]: PS C:&gt; Get-Command -Module UpdateServices</p>\r\n<table class=\"editorTblTable editorTblSize10 editorTblStyledefault\"><tbody>\n<tr>\n<td>CommandType</td>\r\n<td>Name</td>\r\n<td>Version</td>\r\n<td>Source</td>\r\n</tr>\n<tr>\n<td>Cmdlet</td>\r\n<td>Add-WsusComputer</td>\r\n<td>2.0.0.0</td>\r\n<td>UpdateServices</td>\r\n</tr>\n<tr>\n<td>Cmdlet</td>\r\n<td>Approve-WsusUpdate</td>\r\n<td>2.0.0.0</td>\r\n<td>UpdateServices</td>\r\n</tr>\n<tr>\n<td>Cmdlet</td>\r\n<td>Deny-WsusUpdate</td>\r\n<td>2.0.0.0</td>\r\n<td>UpdateServices</td>\r\n</tr>\n<tr>\n<td>Cmdlet</td>\r\n<td>Get-WsusClassification</td>\r\n<td>2.0.0.0</td>\r\n<td>UpdateServices</td>\r\n</tr>\n<tr>\n<td>Cmdlet</td>\r\n<td>Get-WsusComputer</td>\r\n<td>2.0.0.0</td>\r\n<td>UpdateServices</td>\r\n</tr>\n<tr>\n<td>Cmdlet</td>\r\n<td>Get-WsusProduct</td>\r\n<td>2.0.0.0</td>\r\n<td>UpdateServices</td>\r\n</tr>\n<tr>\n<td>Cmdlet</td>\r\n<td>Get-WsusServer</td>\r\n<td>2.0.0.0</td>\r\n<td>UpdateServices</td>\r\n</tr>\n<tr>\n<td>Cmdlet</td>\r\n<td>Get-WsusUpdate</td>\r\n<td>2.0.0.0</td>\r\n<td>UpdateServices</td>\r\n</tr>\n<tr>\n<td>Cmdlet</td>\r\n<td>Invoke-WsusServerCleanup</td>\r\n<td>2.0.0.0</td>\r\n<td>UpdateServices</td>\r\n</tr>\n<tr>\n<td>Cmdlet</td>\r\n<td>Set-WsusClassification</td>\r\n<td>2.0.0.0</td>\r\n<td>UpdateServices</td>\r\n</tr>\n<tr>\n<td>Cmdlet</td>\r\n<td>Set-WsusProduct</td>\r\n<td>2.0.0.0</td>\r\n<td>UpdateServices</td>\r\n</tr>\n<tr>\n<td>Cmdlet</td>\r\n<td>Set-WsusServerSynchronization</td>\r\n<td>2.0.0.0</td>\r\n<td>UpdateServices</td>\r\n</tr>\n</tbody></table>\n<p>Once you've got your WSUS server configured how you'd like, we can also manage the WSUS clients. Although Microsoft doesn't give us a good option to do this via PowerShell, we'll rely on the community here. Let's download a module from Github called <a href=\"https://github.com/adbertram/Random-PowerShell-Work/blob/master/Software%20Updates/WindowsUpdate.psm1\" target=\"_blank\">WindowsUpdate</a>. Once installed, this module allows you to query remote computers for installed updates, install required updates and more. Here's a way to get it downloaded and installed.</p>\r\n<p>mkdir 'C:Program FilesWindowsPowerShellModulesWindowsUpdate' <br>Invoke-WebRequest -Uri https://raw.githubusercontent.com/adbertram/<br>Random-PowerShell-Work/master/Software%20Updates/WindowsUpdate.psm1 -<br>OutFile 'C:Program<br>FilesWindowsPowerShellModulesWindowsUpdateWindowsUpdate.psm1'</p>\r\n<p>Once installed, you'll then have multiple commands available to you.</p>\r\n<p>PS C:&gt; gcm -Module windowsupdate</p>\r\n<table class=\"editorTblTable editorTblSize10 editorTblStyledefault\"><tbody>\n<tr>\n<td>CommandType</td>\r\n<td>Name</td>\r\n<td>Version</td>\r\n<td>Source</td>\r\n</tr>\n<tr>\n<td>Function</td>\r\n<td>Get-WindowsUpdate</td>\r\n<td>0.0</td>\r\n<td>windowsupdate</td>\r\n</tr>\n<tr>\n<td>Function</td>\r\n<td>GetWindowsUpdateInstallResult</td>\r\n<td>0.0</td>\r\n<td>windowsupdate</td>\r\n</tr>\n<tr>\n<td>Function</td>\r\n<td>Install-WindowsUpdate</td>\r\n<td>0.0</td>\r\n<td>windowsupdate</td>\r\n</tr>\n<tr>\n<td>Function</td>\r\n<td>NewUpdateCriteriaQuery</td>\r\n<td>0.0</td>\r\n<td>windowsupdate</td>\r\n</tr>\n<tr>\n<td>Function</td>\r\n<td>NewWindowsUpdateScheduledTask</td>\r\n<td>0.0</td>\r\n<td>windowsupdate</td>\r\n</tr>\n<tr>\n<td>Function</td>\r\n<td>Remove-ScheduledTask</td>\r\n<td>0.0</td>\r\n<td>windowsupdate</td>\r\n</tr>\n<tr>\n<td>Function</td>\r\n<td>SearchWindowsUpdate</td>\r\n<td>0.0</td>\r\n<td>windowsupdate</td>\r\n</tr>\n<tr>\n<td>Function</td>\r\n<td>TestWindowsUpdateScheduledTask</td>\r\n<td>0.0</td>\r\n<td>windowsupdate</td>\r\n</tr>\n<tr>\n<td>Function</td>\r\n<td>Wait-ScheduledTask </td>\r\n<td>0.0</td>\r\n<td>windowsupdate</td>\r\n</tr>\n<tr>\n<td>Function</td>\r\n<td>Wait-WindowsUpdate</td>\r\n<td>0.0</td>\r\n<td>windowsupdate</td>\r\n</tr>\n</tbody></table>\n<p>Let's say I'd like to see what updates are installed on that computer we referenced earlier on the server. To do that, I can use the Get-WindowsUpdate command like so:</p>\r\n<p>PS&gt; Get-WindowsUpdate -ComputerName client1</p>\r\n<p>This task would list all of the updates that are available but are not installed. To take the next step and install those updates, you can then use the Install-WindowsUpdate command and even account for a reboot if necessary.</p>\r\n<p>PS&gt; Install-WindowsUpdate -ComputerName client1 -ForceReboot</p>\r\n<p>One of the great things about managing WSUS with PowerShell is that you are capable of extending the functionality in any way you'd like. So, for example, I could stitch these commands together and perhaps take a list of computers from a text file, add them to a WSUS target group and then invoke an update install all in one script!</p>\r\n<p>$computers = Get-Content -Path C:Computers.txt<br>foreach ($computer in $computers) {<br>    Invoke-Command -ComputerName WSUSSERVER -ScriptBlock { Add-<br>WsusComputer -Computer $using:computer -TargetGroupName 'Group Here' }<br>    Install-WindowsUpdate -ComputerName $computer<br>}</p>\r\n<p>By using the PowerShell commands that Microsoft provides and a community resource module, you should by now see the possibilities. If you haven't used PowerShell to manage WSUS yet, I encourage you to give it a try and see just how much time you can save by automating a lot of those manual processes.</p>\n","docType":"article","guid":"articles_24e04f8cb8436445f5111b0716047709","lastModified":"2018-09-04T10:00:00.000Z","published":"2018-09-04T10:00:00.000Z","structuredData":null,"subtitle":"Windows Software Update Services can use PowerShell to work with servers and Windows.","template":"v1","title":"Use PowerShell to Make WSUS Suck Less","type":"article","author":{"avatar":null,"bio":"Adam Bertram is a 20-year veteran of IT and experienced online business professional. He's an entrepreneur, IT influencer, Microsoft MVP, blogger, trainer and content marketing writer for multiple technology companies. Adam is also the founder of the popular IT career development platform TechSnips. Catch up on Adam's articles at adamtheautomator.com, connect on LinkedIn, or follow him on Twitter at @adbertram or the TechSnips Twitter account at @techsnips_io.","name":"Adam Bertram","image":null,"slug":null,"social":{"facebook":"","linkedin":"https://www.linkedin.com/in/adambertram/","twitter":"https://twitter.com/adbertram","website":"https://www.adamtheautomator.com/"},"status":"enabled","title":null,"type":"Contributing Writer","user":{"imagePath":"https://staging.business.com/images/undefined","profile":{"company":"eGain Communications","jobTitle":"Product Management Analyst","website":""}}},"breadcrumbs":null,"channels":{"primary":{"name":"Technology","slug":"technology"},"sub":{"name":"Technology Solutions","slug":"technology-solutions"}},"meta":{"robots":"index, follow","description":"Windows Software Update Services can use PowerShell to work with servers and Windows clients.","title":"Use PowerShell to Make WSUS Suck Less - business.com"},"parsedContent":{"toc":[{"id":"1-sync-your-wsus-server-with-microsoft-update","title":"1. Sync your WSUS server with Microsoft Update"},{"id":"query-all-of-the-computers-that-this-wsus-server-is-managing","title":"Query all of the computers that this WSUS server is managing"}],"json":[{"component":"p","children":["Windows Software Update Services (WSUS) has been around for a long time and has provided IT professionals a free tool to manage Windows and some third party updates across all of their Windows systems."]},{"component":"p","children":["It eases the task of inventoring, installing and maintaining patches across Windows. "]},{"component":"p","children":["WSUS relies on a server and a policy on each computer it's managing. Managing WSUS typically consists of working with two types of objects: the WSUS server(s) and the Windows clients. There's not a single tool out there that helps with each of these. This is where PowerShell can help out."]},{"component":"p","children":["Because PowerShell can interact with each object, we can use PowerShell to do some different activities related to installing updates with WSUS. First of all, when first rolling out a new WSUS server, download all of the required updates from Microsoft Update. When WSUS is installed, it also installs various PowerShell cmdlets to manage it, so we can remotely do many WSUS server activities. "]},{"component":"h2","props":{"id":"1-sync-your-wsus-server-with-microsoft-update"},"children":["1. Sync your WSUS server with Microsoft Update"]},{"component":"p","children":["One way to remotely connect to a WSUS server is to use PowerShell remoting so be sure that your WSUS server has this enabled by following ",{"component":"a","props":{"href":"http://www.howtogeek.com/117192/how-to-run-powershell-commands-on-remote-computers/","target":"_blank"},"children":["this"]}," guide. Once PowerShell remoting has been enabled, we can make a connection to our WSUS server by using the PowerShell cmdlet Enter-PSSession."]},{"component":"p","children":["PS> Enter-PSSession -ComputerName WSUSSERVER",{"component":"br"},"[WSUSSERVER]: PS>"]},{"component":"p","children":[{"component":"em","children":["Note: We're entering an interactive remoting session just to demonstrate some commands. You may also choose to use the Invoke-Command command to automate many of these commands in a larger script."]}]},{"component":"p","children":["First, determine how to query all of the updates currently on our WSUS server. To do that, we can use the Get-WsusUpdate command. When ran on a new WSUS server, you'll see that nothing is returned. This is because no updates have been synchronized yet. We can initiate a sync from PowerShell using the Get-WsusServer cmdlet."]},{"component":"p","children":["(Get-WsusServer).GetSubscription().StartSynchronization()"]},{"component":"p","children":["Once complete, all of the updates that were configured to sync should be downloaded locally. Once you've ensured all patches are synced with Microsoft Update, let's take a look at all of the clients this server is currently managing updates on. "]},{"component":"h2","props":{"id":"query-all-of-the-computers-that-this-wsus-server-is-managing"},"children":["Query all of the computers that this WSUS server is managing"]},{"component":"p","children":["[WSUSSERVER]: PS C:> Get-WsusComputer"]},{"component":"table","props":{"className":"editorTblTable editorTblSize10 editorTblStyledefault"},"children":[{"component":"tbody","children":[{"component":"tr","children":[{"component":"td","children":["Computer"]},{"component":"td","children":["IP Address"]},{"component":"td","children":["Operating System"]},{"component":"td","children":["Last Status Report"]}]},{"component":"tr","children":[{"component":"td","children":["client1.mylab.local"]},{"component":"td","children":["2607:fcc8:acc1:ed00:cd0:baa4:eea2:80a"]},{"component":"td","children":["Windows 8.1"]},{"component":"td","children":["1/1/0001 12:00:00 AM"]}]}]}]},{"component":"p","children":["To get a full listing of all of the commands available to you use the Get-Command command to view a list of all of the WSUS commands inside of the WSUS module."]},{"component":"p","children":["[WSUSSERVER]: PS C:> Get-Command -Module UpdateServices"]},{"component":"table","props":{"className":"editorTblTable editorTblSize10 editorTblStyledefault"},"children":[{"component":"tbody","children":[{"component":"tr","children":[{"component":"td","children":["CommandType"]},{"component":"td","children":["Name"]},{"component":"td","children":["Version"]},{"component":"td","children":["Source"]}]},{"component":"tr","children":[{"component":"td","children":["Cmdlet"]},{"component":"td","children":["Add-WsusComputer"]},{"component":"td","children":["2.0.0.0"]},{"component":"td","children":["UpdateServices"]}]},{"component":"tr","children":[{"component":"td","children":["Cmdlet"]},{"component":"td","children":["Approve-WsusUpdate"]},{"component":"td","children":["2.0.0.0"]},{"component":"td","children":["UpdateServices"]}]},{"component":"tr","children":[{"component":"td","children":["Cmdlet"]},{"component":"td","children":["Deny-WsusUpdate"]},{"component":"td","children":["2.0.0.0"]},{"component":"td","children":["UpdateServices"]}]},{"component":"tr","children":[{"component":"td","children":["Cmdlet"]},{"component":"td","children":["Get-WsusClassification"]},{"component":"td","children":["2.0.0.0"]},{"component":"td","children":["UpdateServices"]}]},{"component":"tr","children":[{"component":"td","children":["Cmdlet"]},{"component":"td","children":["Get-WsusComputer"]},{"component":"td","children":["2.0.0.0"]},{"component":"td","children":["UpdateServices"]}]},{"component":"tr","children":[{"component":"td","children":["Cmdlet"]},{"component":"td","children":["Get-WsusProduct"]},{"component":"td","children":["2.0.0.0"]},{"component":"td","children":["UpdateServices"]}]},{"component":"tr","children":[{"component":"td","children":["Cmdlet"]},{"component":"td","children":["Get-WsusServer"]},{"component":"td","children":["2.0.0.0"]},{"component":"td","children":["UpdateServices"]}]},{"component":"tr","children":[{"component":"td","children":["Cmdlet"]},{"component":"td","children":["Get-WsusUpdate"]},{"component":"td","children":["2.0.0.0"]},{"component":"td","children":["UpdateServices"]}]},{"component":"tr","children":[{"component":"td","children":["Cmdlet"]},{"component":"td","children":["Invoke-WsusServerCleanup"]},{"component":"td","children":["2.0.0.0"]},{"component":"td","children":["UpdateServices"]}]},{"component":"tr","children":[{"component":"td","children":["Cmdlet"]},{"component":"td","children":["Set-WsusClassification"]},{"component":"td","children":["2.0.0.0"]},{"component":"td","children":["UpdateServices"]}]},{"component":"tr","children":[{"component":"td","children":["Cmdlet"]},{"component":"td","children":["Set-WsusProduct"]},{"component":"td","children":["2.0.0.0"]},{"component":"td","children":["UpdateServices"]}]},{"component":"tr","children":[{"component":"td","children":["Cmdlet"]},{"component":"td","children":["Set-WsusServerSynchronization"]},{"component":"td","children":["2.0.0.0"]},{"component":"td","children":["UpdateServices"]}]}]}]},{"component":"p","children":["Once you've got your WSUS server configured how you'd like, we can also manage the WSUS clients. Although Microsoft doesn't give us a good option to do this via PowerShell, we'll rely on the community here. Let's download a module from Github called ",{"component":"a","props":{"href":"https://github.com/adbertram/Random-PowerShell-Work/blob/master/Software%20Updates/WindowsUpdate.psm1","target":"_blank"},"children":["WindowsUpdate"]},". Once installed, this module allows you to query remote computers for installed updates, install required updates and more. Here's a way to get it downloaded and installed."]},{"component":"p","children":["mkdir 'C:Program FilesWindowsPowerShellModulesWindowsUpdate' ",{"component":"br"},"Invoke-WebRequest -Uri https://raw.githubusercontent.com/adbertram/",{"component":"br"},"Random-PowerShell-Work/master/Software%20Updates/WindowsUpdate.psm1 -",{"component":"br"},"OutFile 'C:Program",{"component":"br"},"FilesWindowsPowerShellModulesWindowsUpdateWindowsUpdate.psm1'"]},{"component":"p","children":["Once installed, you'll then have multiple commands available to you."]},{"component":"p","children":["PS C:> gcm -Module windowsupdate"]},{"component":"table","props":{"className":"editorTblTable editorTblSize10 editorTblStyledefault"},"children":[{"component":"tbody","children":[{"component":"tr","children":[{"component":"td","children":["CommandType"]},{"component":"td","children":["Name"]},{"component":"td","children":["Version"]},{"component":"td","children":["Source"]}]},{"component":"tr","children":[{"component":"td","children":["Function"]},{"component":"td","children":["Get-WindowsUpdate"]},{"component":"td","children":["0.0"]},{"component":"td","children":["windowsupdate"]}]},{"component":"tr","children":[{"component":"td","children":["Function"]},{"component":"td","children":["GetWindowsUpdateInstallResult"]},{"component":"td","children":["0.0"]},{"component":"td","children":["windowsupdate"]}]},{"component":"tr","children":[{"component":"td","children":["Function"]},{"component":"td","children":["Install-WindowsUpdate"]},{"component":"td","children":["0.0"]},{"component":"td","children":["windowsupdate"]}]},{"component":"tr","children":[{"component":"td","children":["Function"]},{"component":"td","children":["NewUpdateCriteriaQuery"]},{"component":"td","children":["0.0"]},{"component":"td","children":["windowsupdate"]}]},{"component":"tr","children":[{"component":"td","children":["Function"]},{"component":"td","children":["NewWindowsUpdateScheduledTask"]},{"component":"td","children":["0.0"]},{"component":"td","children":["windowsupdate"]}]},{"component":"tr","children":[{"component":"td","children":["Function"]},{"component":"td","children":["Remove-ScheduledTask"]},{"component":"td","children":["0.0"]},{"component":"td","children":["windowsupdate"]}]},{"component":"tr","children":[{"component":"td","children":["Function"]},{"component":"td","children":["SearchWindowsUpdate"]},{"component":"td","children":["0.0"]},{"component":"td","children":["windowsupdate"]}]},{"component":"tr","children":[{"component":"td","children":["Function"]},{"component":"td","children":["TestWindowsUpdateScheduledTask"]},{"component":"td","children":["0.0"]},{"component":"td","children":["windowsupdate"]}]},{"component":"tr","children":[{"component":"td","children":["Function"]},{"component":"td","children":["Wait-ScheduledTask "]},{"component":"td","children":["0.0"]},{"component":"td","children":["windowsupdate"]}]},{"component":"tr","children":[{"component":"td","children":["Function"]},{"component":"td","children":["Wait-WindowsUpdate"]},{"component":"td","children":["0.0"]},{"component":"td","children":["windowsupdate"]}]}]}]},{"component":"p","children":["Let's say I'd like to see what updates are installed on that computer we referenced earlier on the server. To do that, I can use the Get-WindowsUpdate command like so:"]},{"component":"p","children":["PS> Get-WindowsUpdate -ComputerName client1"]},{"component":"p","children":["This task would list all of the updates that are available but are not installed. To take the next step and install those updates, you can then use the Install-WindowsUpdate command and even account for a reboot if necessary."]},{"component":"p","children":["PS> Install-WindowsUpdate -ComputerName client1 -ForceReboot"]},{"component":"p","children":["One of the great things about managing WSUS with PowerShell is that you are capable of extending the functionality in any way you'd like. So, for example, I could stitch these commands together and perhaps take a list of computers from a text file, add them to a WSUS target group and then invoke an update install all in one script!"]},{"component":"p","children":["$computers = Get-Content -Path C:Computers.txt",{"component":"br"},"foreach ($computer in $computers) {",{"component":"br"},"    Invoke-Command -ComputerName WSUSSERVER -ScriptBlock { Add-",{"component":"br"},"WsusComputer -Computer $using:computer -TargetGroupName 'Group Here' }",{"component":"br"},"    Install-WindowsUpdate -ComputerName $computer",{"component":"br"},"}"]},{"component":"p","children":["By using the PowerShell commands that Microsoft provides and a community resource module, you should by now see the possibilities. If you haven't used PowerShell to manage WSUS yet, I encourage you to give it a try and see just how much time you can save by automating a lot of those manual processes."]}]},"resource":null,"sponsorship":null,"thumbnail":{"path":"https://staging.business.com/images/content/5b8/eca2d92a3a4ee5a8b4574/1500-0-","caption":"Shutterstock","isBlurred":false},"bestPicks":null},"related":{"relatedArticles":[{"title":"PowerShell: Everything You Need to Know","canonical":"https://www.business.com/articles/powershell-everything-you-need-to-know/","slug":"powershell-everything-you-need-to-know","thumbnail":"https://www.business.com/images/content/5b8/998581039eb8f738b457b/1500-0-","dek":"What you need to know to unlock Microsoft PowerShell's full capabilities.","lastModified":"2018-09-05T17:00:00Z","published":"2018-09-05T17:00:00Z","sponsored":false},{"title":"Essential PowerShell Cmdlets For Managing Active Directory","canonical":"https://www.business.com/articles/powershell-active-directory-cmdlets/","slug":"powershell-active-directory-cmdlets","thumbnail":"https://www.business.com/images/content/5cf/90cab7b4374ab068b456f/1500-0-","dek":"Administering Active Directory is one of the most critical roles in any Windows network.","lastModified":"2018-09-04T08:00:00Z","published":"2018-09-04T08:00:00Z","sponsored":false},{"title":"Essential PowerShell Cmdlets For Auditing And Maintaining Storage","canonical":"https://www.business.com/articles/powershell-for-storage/","slug":"powershell-for-storage","thumbnail":"https://www.business.com/images/content/5d0/18e065a215ea2498b4588/1500-0-","dek":"PowerShell v5 offers some new features for managing storage.","lastModified":"2018-09-04T11:00:00Z","published":"2018-09-04T11:00:00Z","sponsored":false},{"title":"Your Guide to Creating a Small Business Marketing Plan","canonical":"https://www.business.com/articles/sample-marketing-plan-outline-and-template/","slug":"sample-marketing-plan-outline-and-template","thumbnail":"https://www.business.com/images/content/5f3/3e1765a215eb62d8b4567/1500-0-","dek":"Follow these templates and guidelines to get started on creating your business's marketing plan.","lastModified":"2020-08-12T12:28:00Z","published":"2018-03-02T13:00:00Z","sponsored":false},{"title":"From COVID-19 to Hurricane Season: Disaster Preparedness for Small Business","canonical":"https://www.business.com/articles/business-disaster-prep/","slug":"business-disaster-prep","thumbnail":"https://www.business.com/images/content/5e7/a495e5a215eb11d8b4569/1500-0-","dek":"Natural disasters – whether a hurricane, tornado or outbreak like COVID-19 – can have a disastrous effect on small businesses, but they don't have to. Here's how to weather a disaster successfully.","lastModified":"2020-03-25T15:19:00Z","published":"2018-09-26T07:00:00Z","sponsored":false},{"title":"How To Manage IIS Websites With PowerShell","canonical":"https://www.business.com/articles/powershell-manage-iis-websites/","slug":"powershell-manage-iis-websites","thumbnail":"https://www.business.com/images/content/5d0/07b2b7b437409688b4568/1500-0-","dek":"When setting up a new website in IIS are you still using the IIS Web Manager?","lastModified":"2018-09-06T07:00:00Z","published":"2018-09-06T07:00:00Z","sponsored":false},{"title":"Using Lean Strategies to Achieve Team Synergy and Efficiency","canonical":"https://www.business.com/articles/lean-strategies-team-efficiency/","slug":"lean-strategies-team-efficiency","thumbnail":"https://www.business.com/images/content/5be/480e49c658a51108b458c/1500-0-","dek":"Learn more about lean manufacturing strategies and how to implement them in your business.","lastModified":"2018-11-08T08:00:00Z","published":"2018-11-08T08:00:00Z","sponsored":false},{"title":"Managing Files over SFTP with PowerShell","canonical":"https://www.business.com/articles/manage-files-over-sftp-powershell/","slug":"manage-files-over-sftp-powershell","thumbnail":"https://www.business.com/images/content/5d0/1c54e9c658ac27e8b4571/1500-0-","dek":"Native support for Secure File Transfer Protocol (SFTP) is not in PowerShell.","lastModified":"2018-09-05T07:00:00Z","published":"2018-09-05T07:00:00Z","sponsored":false},{"title":"How and When to Create and Use PowerShell Modules","canonical":"https://www.business.com/articles/powershell-modules/","slug":"powershell-modules","thumbnail":"https://www.business.com/images/content/5cf/a71415a215e501f8b457a/1500-0-","dek":"Step-by-step instructions on creating and using modules.","lastModified":"2018-09-05T08:00:00Z","published":"2018-09-05T08:00:00Z","sponsored":false},{"title":"Resources for Veteran-Owned Businesses","canonical":"https://www.business.com/articles/resources-veteran-owned-business/","slug":"resources-veteran-owned-business","thumbnail":"https://www.business.com/images/content/5b7/425da51ee47e7568b458a/1500-0-","dek":"How to start a business, find funding and gain customers as a veteran business owner.","lastModified":"2018-08-15T12:01:00Z","published":"2018-08-15T12:01:00Z","sponsored":false},{"title":"How to Create a Web Scraping Tool in PowerShell","canonical":"https://www.business.com/articles/create-web-scraping-tool-in-powershell/","slug":"create-web-scraping-tool-in-powershell","thumbnail":"https://www.business.com/images/content/5d0/06c899c658acc288b458a/1500-0-","dek":"Write a tool in PowerShell that will gather all the data from a web page.","lastModified":"2018-09-05T09:00:00Z","published":"2018-09-05T09:00:00Z","sponsored":false},{"title":"How To Sync Folders With PowerShell","canonical":"https://www.business.com/articles/powershell-sync-folders/","slug":"powershell-sync-folders","thumbnail":"https://www.business.com/images/content/5cf/f157d9c658a99338b4568/1500-0-","dek":"There is software that will sync files and folders for you, and PowerShell can help.","lastModified":"2018-09-06T09:00:00Z","published":"2018-09-06T09:00:00Z","sponsored":false}],"relatedReviews":[{"doc_type":"category","thumbnail":"https://staging.business.com/images/rz/5df908cc5a215e8c4a8b4568/conferencecall_Antonio_Diaz_Getty.jpg","canonical":"https://staging.business.com/categories/best-conference-call-services/","title":"The Best Conference Call Services of 2021","dek":"Which conference call service is right for your business in 2021? We review the top-rated services.","slug":"best-conference-call-services","lastModified":"2021-03-17T18:17:00Z"},{"doc_type":"category","thumbnail":"https://staging.business.com/images/rz/5df3d8695a215e58428b4570/POS_GETTY_DERO2084.jpg","canonical":"https://staging.business.com/categories/best-pos-systems/","title":"The Best POS Systems of 2021","dek":"Before you choose a POS system, check out our reviews of the best picks for 2021. ","slug":"best-pos-systems","lastModified":"2021-03-17T17:33:00Z"},{"doc_type":"category","thumbnail":"https://staging.business.com/images/rz/5e00d4787b43745d6a8b456e/Laptop_undrey_getty.jpg","canonical":"https://staging.business.com/categories/employee-monitoring-software/","title":"The Best Employee Monitoring Software of 2021","dek":"We've narrowed down the best employee monitoring software for businesses. Check out our best picks and reviews.","slug":"employee-monitoring-software","lastModified":"2021-03-05T15:40:00Z"}],"relatedSponsoredArticles":null}},"pageContext":{"displayModified":"2018-09-04T10:00:00.000Z","template":"v1","title":"Use PowerShell to Make WSUS Suck Less","meta":{"robots":"index, follow"},"docType":"articles","slug":"powershell-windows-software-update-services","canonical":"https://staging.business.com/articles/powershell-windows-software-update-services/","skipTOC":false}},"staticQueryHashes":[]}