Giter VIP home page Giter VIP logo

optimize-wsusserver's Introduction

GitHub GitHub release (latest by date including pre-releases)

Optimize-WsusServer.PS1

About The Project

Comprehensive Windows Server Update Services (WSUS) cleanup, optimization, maintenance, and configuration PowerShell script.

Free and open source: MIT License

Features

  • Deep cleaning search and removal of unnecessary updates by product title and update title.
  • Removal of device drivers from WSUS repository (greatly improves speed, reliability, and reduces storage space needed).
  • IIS Configuration validation and optimization.
  • Disable device driver synchronization and caching.
  • WSUS integrated update and computer cleanup.
  • Microsoft best practice WSUS database optimization and re-indexing.
  • Creation of daily and weekly optimization scheduled tasks.

Table of Contents

Getting Started

Prerequisites

Installation

  1. Download Optimize-WsusServer.ps1
  2. From PowerShell run
Optimize-WsusServer.ps1 -FirstRun

Usage

Optimize-WsusServer.ps1 -FirstRun

Presents a series of prompts for user to initiate all recommended first run optimization tasks. Additional parameters will be ignored, as they will be redundant.

Optimize-WsusServer.ps1 -DisableDrivers

Disable device driver synchronization and caching.

Optimize-WsusServer.ps1 -DeepClean

Searches through most likely categories for unneeded updates and drivers to free up massive amounts of storage and improve database responsiveness. Prompts user to approve removal before deletion.

Optimize-WsusServer.ps1 -CheckConfig

Validates current WSUS IIS configuration against recommended settings. Helps prevent frequent WSUS/IIS/SQL service crashes and the "RESET SERVER NODE" error.

Optimize-WsusServer.ps1 -OptimizeServer

Runs all of Microsoft's built-in WSUS cleanup processes.

Optimize-WsusServer.ps1 -OptimizeDatabase

Runs Microsoft's recommended SQL reindexing script.

Optimize-WsusServer.ps1 -InstallDailyTask

Creates a scheduled task to run the OptimizeServer function nightly.

Optimize-WsusServer.ps1 -InstallWeeklyTask

Creates a scheduled task to run the OptimizeDatabase function weekly.

License

Distributed under the MIT License. See LICENSE for more information.

Contact

Project Link: https://github.com/awarre/Optimize-WsusServer

References

optimize-wsusserver's People

Contributors

awarre avatar dummvogl avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

optimize-wsusserver's Issues

WSUS DB Optimization Fails

Hello!

When running the script with -FirstRun flag and running the optimizations, I'm getting the following error when it approaches the WSUS database optimizations:

Creating custom indexes in WSUS index if they don't already exist. This will speed up future database optimizations.
Invoke-Sqlcmd : A connection was successfully established with the server, but then an error occurred during the login
process. (provider: SSL Provider, error: 0 - The target principal name is incorrect.)
At C:\Scripts\Optimize-WsusServer-master\Optimize-WsusServer.ps1:440 char:5
+     Invoke-Sqlcmd -query $createCustomIndexesSQLQuery -ServerInstance ...
+     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (:) [Invoke-Sqlcmd], SqlException
    + FullyQualifiedErrorId : SqlExceptionError,Microsoft.SqlServer.Management.PowerShell.GetScriptCommand

Invoke-Sqlcmd : Incorrect syntax was encountered while parsing 'IF 0 = (SELECT COUNT(*) as index_count'.
At C:\Scripts\Optimize-WsusServer-master\Optimize-WsusServer.ps1:440 char:5
+     Invoke-Sqlcmd -query $createCustomIndexesSQLQuery -ServerInstance ...
+     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ParserError: (:) [Invoke-Sqlcmd], BatchParserException
    + FullyQualifiedErrorId : ExecutionFailureException,Microsoft.SqlServer.Management.PowerShell.GetScriptCommand

Running WSUS SQL database maintenence script. This can take an extremely long time on the first run.
Invoke-Sqlcmd : A connection was successfully established with the server, but then an error occurred during the login
process. (provider: SSL Provider, error: 0 - The target principal name is incorrect.)
At C:\Scripts\Optimize-WsusServer-master\Optimize-WsusServer.ps1:444 char:5
+     Invoke-Sqlcmd -query $wsusDBMaintenanceSQLQuery -ServerInstance $ ...
+     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (:) [Invoke-Sqlcmd], SqlException
    + FullyQualifiedErrorId : SqlExceptionError,Microsoft.SqlServer.Management.PowerShell.GetScriptCommand

Invoke-Sqlcmd : Incorrect syntax was encountered while parsing 'SET NOCOUNT ON;'.
At C:\Scripts\Optimize-WsusServer-master\Optimize-WsusServer.ps1:444 char:5
+     Invoke-Sqlcmd -query $wsusDBMaintenanceSQLQuery -ServerInstance $ ...
+     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ParserError: (:) [Invoke-Sqlcmd], BatchParserException
    + FullyQualifiedErrorId : ExecutionFailureException,Microsoft.SqlServer.Management.PowerShell.GetScriptCommand

Not sure what to do here. Thoughts?

IIS path referenced is not localized

Long story short. I couldnt' wait (patience over 9000) for it and had some spare time.
Resolved the Get-IISSite problem installing the nuget package: https://www.powershellgallery.com/packages/IISAdministration/1.1.0.0 this seem fixed. (you can state on the readme.md about it imo)

Everything working fine, just one problem I saw, but not really expert on PS scripting side tbh, here i'm running a localized WSUS (italian) and the: IIS:\Sites\WSUS Administration\ClientWebService harcoded is not the same as on the italian side, instead it is IIS:\Sites\Amministrazione di Windows Server Update Services\ClientWebService maybe it's possible to retrieve the name for it using a cmdlet for the IIS.

Regards

Originally posted by @LordDeimos666 in #3 (comment)

Errors

Hi

I am getting this as errors when running the script

PS C:\a> .\Optimize-WsusServer.ps1 -FirstRun
At C:\a\Optimize-WsusServer.ps1:235 char:180

  • ... -details-target btn-link d-lg-none mt-1 color-fg-inherit"> <svg aria ...
  •                                                             ~
    

The '<' operator is reserved for future use.
At C:\a\Optimize-WsusServer.ps1:238 char:16

  •            ~
    

The '<' operator is reserved for future use.
At C:\a\Optimize-WsusServer.ps1:243 char:148

  • ... -view-component="true" class="js-details-target btn-link"> <svg aria ...
  •                                                             ~
    

The '<' operator is reserved for future use.
At C:\a\Optimize-WsusServer.ps1:246 char:16

  •            ~
    

The '<' operator is reserved for future use.
At C:\a\Optimize-WsusServer.ps1:261 char:7

  •   ~
    

The '<' operator is reserved for future use.
At C:\a\Optimize-WsusServer.ps1:266 char:7

  •   ~
    

The '<' operator is reserved for future use.
At C:\a\Optimize-WsusServer.ps1:271 char:7

  •   ~
    

The '<' operator is reserved for future use.
At C:\a\Optimize-WsusServer.ps1:276 char:7

  •   ~
    

The '<' operator is reserved for future use.
At C:\a\Optimize-WsusServer.ps1:281 char:7

  •   ~
    

The '<' operator is reserved for future use.
At C:\a\Optimize-WsusServer.ps1:286 char:7

  •   ~
    

The '<' operator is reserved for future use.
Not all parse errors were reported. Correct the reported errors and try again.

  • CategoryInfo : ParserError: (:) [], ParseException
  • FullyQualifiedErrorId : RedirectionNotSupported

Get-WsusIISLocalizedNamespacePath doesn't exist

This line in the script references a cmdlet that as as far as I can tell doesn't exist. Web search returns no results for this cmdlet.

$iisPath = Get-WsusIISLocalizedNamespacePath

It generates the following error on my system:

Get-WsusIISLocalizedNamespacePath : The term 'Get-WsusIISLocalizedNamespacePath' is not recognized as the name of a
cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify
that the path is correct and try again.

feature request - decline updates by title

Decline updates using uneeded updates by Title.

Would come in handy to decline all arm64 for example. Why MSFT doesn't allow you to not download these things is beyond me.

Issue with deepclean & suggestions

Hi,

First of all, waht a great work. Thank you very much because it's really the tools that missed to manage WSUS...

I have two issues and one suggestion at the end

  1. It seems that even if you fixed DeepClean, it still doesn't remove updates that are declined.
  2. I added Windows Server 2012 to the $unneededUpdatesbyProductTitles list but it seems to also decline updates for 2012 R2
  3. It would be nice I think to add a feature to the optimize daily task to delete declined updates olders than X days, just to make sure the DB is not growing forever for old updates...

I think it's nice to decline old updates, but then they should be once removed from DB, hence suggestion 3 as well as bugfix 1 don't you think ?

Permissions on ClientWebService\web.config

Might help someone.
Script failed to update settings in there as by defualt Administrators don't have Full Access to the file (couldn't update via IIS admin either)
This was Server 2019 if it makes a difference.

Resolved with the following.

Open an elevated Command Prompt window, and then go to the following location:
%programfiles%\Update Services\WebServices\ClientWebService
Type the following commands, and press Enter after each command:
takeown /f web.config
icacls web.config /grant administrators:(F)

Get-WsusIISLocalizedNamespacePath returns empty path

Hi,

I got a lot of error messages with FirstRun.

Get-WebConfigFile : Der Pfad "IIS:\Sites\ClientWebService" kann nicht gefunden werden, da er nicht vorhanden ist.
In C:\Install\Optimize-WsusServer-1.2.1\Optimize-WsusServer.ps1:845 Zeichen:26
+     $wsusWebConfigPath = Get-WebConfigFile -PSPath $iisPath | Select- ...
+                          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (IIS:\Sites\ClientWebService:String) [Get-WebConfigFile], ItemNotFoundEx
   ception
    + FullyQualifiedErrorId : PathNotFound,Microsoft.IIs.PowerShell.Provider.GetWebConfigCommand

So I checked the script step my step and found, that I get no output from the Get-WsusIISLocalizedNamespacePath function:

PS C:\> $iisSitePhysicalPath = Get-ItemPropertyValue -Path 'HKLM:\SOFTWARE\Microsoft\Update Services\Server\Setup\' -Name "TargetDir"

PS C:\> $iisSitePhysicalPath
C:\Program Files\Update Services\

PS C:\> $iisLocalizedString = Get-Website | Where-Object {$($_.PhysicalPath).StartsWith($iisSitePhysicalPath)} | Select-Object -ExpandProperty Name

PS C:\> $iisLocalizedString

PS C:\> $iisLocalizedNamespacePath = "IIS:\Sites\$iisLocalizedString\ClientWebService"

PS C:\> $iisLocalizedNamespacePath
IIS:\Sites\\ClientWebService

One problem is that Physical Path contains a Environment Variable:


PS C:\> Get-Website

Name             ID   State      Physical Path                  Bindings                                                                                                                 
----             --   -----      -------------                  --------                                                                                                                 
Default Web Site 1    Started    %SystemDrive%\inetpub\wwwroot  http *:80:                                                                                                               
                                                                https :443: sslFlags=0    

This could be fixed with:

$iisLocalizedString = Get-Website |Where-Object -FilterScript {[System.Environment]::ExpandEnvironmentVariables($_.PhysicalPath) -eq [System.Environment]::ExpandEnvironmentVariables($iisSitePhysicalPath)} | Select-Object -ExpandProperty Name

But the problem is also, that the paths dont match!


PS C:\> Write-Host $([System.Environment]::ExpandEnvironmentVariables($(Get-Website | Select-Object -ExpandProperty PhysicalPath)))
C:\inetpub\wwwroot

PS C:\> [System.Environment]::ExpandEnvironmentVariables($iisSitePhysicalPath)
C:\Program Files\Update Services\

So it looks like something is not right?!

SQL server not supported

Hi,

Thanks for the script. love it.

Unfortunately your script doesn't support (remote) SQL Server as WSUS database.

By simply adding: $ServerInstance = $wsusSqlServerName in the last else-clause of the Optimize-WsusDatabase function and commenting out the current line, the script will also support (remote) SQL Server. Sweet!

Stuck at the Optimize Server section of First run

I did a first Run on the script on our server 2019 WSUS installation.

I have gotten no errors.. but it has been sitting at the Optimize Server section with a blinking cursor for almost 96 hours.

Can it take this long to complete the process?

Just to note, This WSUS server hasn't been touched for a few years.. No maintenance or anything.

Is there anything i should do? Or just let it go?

Link Broken

Thanks for the great tool, very minor issue.
The link in Readme to Microsoft has not ported the WSUS module to PowerShell 7 returns This UserVoice instance is no longer available.

First run Error

Hi,
Thanks for the PS code; I run it for the first time and received the following message:

PS ...\WSUS> .\Optimize-WsusServer.ps1 -FirstRun
At ...\WSUS\Optimize-WsusServer.ps1:169 char:126
+ ... etails px-3 px-md-4 px-lg-5 flex-wrap flex-md-nowrap" role="banner" >
+                                                                          ~
Missing file specification after redirection operator.
At ...\WSUS\Optimize-WsusServer.ps1:404 char:21
+         <svg class="octicon octicon-sign-out v-align-middle" viewBox= ...
+                     ~~~~~~~
Unexpected token 'octicon' in expression or statement.
At ....\WSUS\Optimize-WsusServer.ps1:485 char:68
+ ... g src="https://avatars.githubusercontent.com/u/24483278?s=60&amp;v=4" ...
+                                                                 ~
The ampersand (&) character is not allowed. The & operator is reserved for future use; wrap an ampersand in double
quotation marks ("&") to pass it as part of a string.
At ....\WSUS\Optimize-WsusServer.ps1:487 char:18
+     <span class="dropdown-caret"></span>
+                  ~~~~~~~~~~~~~~~~~~~~~~~
Unexpected token 'dropdown-caret"></span>
  </summary>
  <details-menu class="dropdown-menu' in expression or statement.
At ...\WSUS\Optimize-WsusServer.ps1:493 char:61
+           <svg style="box-sizing: content-box; color: var(--color-ico ...
+                                                             ~
Missing expression after unary operator '--'.
At ....\WSUS\Optimize-WsusServer.ps1:493 char:61
+ ... yle="box-sizing: content-box; color: var(--color-icon-primary);" view ...
+                                                ~~~~~~~~~~~~~~~~~~
Unexpected token 'color-icon-primary' in expression or statement.
At ..\WSUS\Optimize-WsusServer.ps1:493 char:61
+           <svg style="box-sizing: content-box; color: var(--color-ico ...
+                                                             ~
Missing closing ')' in expression.
At ..\WSUS\Optimize-WsusServer.ps1:493 char:79
+ ... le="box-sizing: content-box; color: var(--color-icon-primary);" viewB ...
+                                                                 ~
Unexpected token ')' in expression or statement.
At ...\WSUS\Optimize-WsusServer.ps1:493 char:92
+ ... g: content-box; color: var(--color-icon-primary);" viewBox="0 0 16 16 ...
+                                                                 ~
Unexpected token '0' in expression or statement.
At ....\WSUS\Optimize-WsusServer.ps1:493 char:94
+ ...  content-box; color: var(--color-icon-primary);" viewBox="0 0 16 16"  ...
+                                                                 ~
Unexpected token '0' in expression or statement.
Not all parse errors were reported.  Correct the reported errors and try again.
    + CategoryInfo          : ParserError: (:) [], ParseException
    + FullyQualifiedErrorId : MissingFileSpecification

The PowerShell version is 5 and I have run it on Windows Server 2016
Please help me..

Some Error Messages

Dear Sir,
Thanks for the script; after a couple of tries, I could run it for the first time.
During WSUS database optimization I received the following messages:

Run WSUS database optimization? Y/N: y
Creating custom indexes in WSUS index if they don't already exist. This will speed up future database optimizations.
Running WSUS SQL database maintenence script. This can take an extremely long time on the first run.
Invoke-Sqlcmd : A severe error occurred on the current command.  The results, if any, should be discarded.
 Msg 0, Level 11, State 0, Procedure , Line 0.
At ....\Optimize-WsusServer.ps1:448 char:5
+     Invoke-Sqlcmd -query $wsusDBMaintenanceSQLQuery -ServerInstance $ ...
+     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (:) [Invoke-Sqlcmd], SqlPowerShellSqlExecutionException
    + FullyQualifiedErrorId : SqlError,Microsoft.SqlServer.Management.PowerShell.GetScriptCommand

Run WSUS server optimization? Y/N: y
Deleting obsolete computers from WSUS database
Obsolete Computers Deleted:9
Deleting obsolete updates
Obsolete Updates Deleted:8324
Deleting unneeded content files
Diskspace Freed:0
Deleting obsolete update revisions
Invoke-WsusServerCleanup : The service did not respond to the start or control request in a timely fashion
At .....\Optimize-WsusServer.ps1:393 char:5
+     Invoke-WsusServerCleanup -CompressUpdates
+     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidData: (Microsoft.Updat...rCleanupCommand:InvokeWsusServerCleanupCommand) [Invoke-
   WsusServerCleanup], Win32Exception
    + FullyQualifiedErrorId : UnexpectedError,Microsoft.UpdateServices.Commands.InvokeWsusServerCleanupCommand

Declining expired updates
Invoke-WsusServerCleanup : The service cannot accept control messages at this time
At  .....\Optimize-WsusServer.ps1:396 char:5
+     Invoke-WsusServerCleanup -DeclineExpiredUpdates
+     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidData: (Microsoft.Updat...rCleanupCommand:InvokeWsusServerCleanupCommand) [Invoke-
   WsusServerCleanup], Win32Exception
    + FullyQualifiedErrorId : UnexpectedError,Microsoft.UpdateServices.Commands.InvokeWsusServerCleanupCommand

Declining superceded updates
Invoke-WsusServerCleanup : The service cannot accept control messages at this time
At  .....\Optimize-WsusServer.ps1:399 char:5
+     Invoke-WsusServerCleanup -DeclineSupersededUpdates
+     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidData: (Microsoft.Updat...rCleanupCommand:InvokeWsusServerCleanupCommand) [Invoke-
   WsusServerCleanup], Win32Exception
    + FullyQualifiedErrorId : UnexpectedError,Microsoft.UpdateServices.Commands.InvokeWsusServerCleanupCommand


Would you please kindly help me with these errors?
Thank you in advance.

Best Wishes,

Windows Server 2019 Errors on -FirstRun

I am attempting to run the script on a Windows Server 2019 Standard which has nothing more than WSUS, Microsoft SQL Server 2019 and the supported tools. The default PowerShell installed is 5.1, I attempted to use the latest of version 6 as well but have similar issues.

IISAdminiistration won't install with the following error;

PS C:\Users\char\Desktop> Install-Module Name IISAdministration
Install-Module : A positional parameter cannot be found that accepts argument 'IISAdministration'.
At line:1 char:1
+ Install-Module Name IISAdministration
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidArgument: (:) [Install-Module], ParameterBindingException
    + FullyQualifiedErrorId : PositionalParameterNotFound,Install-Module

SqlServer won't install with the following error;

PS C:\Users\char\Desktop> Install-Module -Name SqlServer

Untrusted repository
You are installing the modules from an untrusted repository. If you trust this repository, change its
InstallationPolicy value by running the Set-PSRepository cmdlet. Are you sure you want to install the modules from
'PSGallery'?
[Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend  [?] Help (default is "N"): a
PackageManagement\Install-Package : The following commands are already available on this system:'Add-SqlAvailabilityDat
abase,Add-SqlAvailabilityGroupListenerStaticIp,Add-SqlFirewallRule,Backup-SqlDatabase,ConvertFrom-EncodedSqlName,Conver
tTo-EncodedSqlName,Convert-UrnToPath,Disable-SqlAlwaysOn,Enable-SqlAlwaysOn,Get-SqlCredential,Get-SqlDatabase,Get-SqlIn
stance,Get-SqlSmartAdmin,Invoke-PolicyEvaluation,Invoke-Sqlcmd,Join-SqlAvailabilityGroup,New-SqlAvailabilityGroup,New-S
qlAvailabilityGroupListener,New-SqlAvailabilityReplica,New-SqlBackupEncryptionOption,New-SqlCredential,New-SqlHADREndpo
int,Remove-SqlAvailabilityDatabase,Remove-SqlAvailabilityGroup,Remove-SqlAvailabilityReplica,Remove-SqlCredential,Remov
e-SqlFirewallRule,Restore-SqlDatabase,Resume-SqlAvailabilityDatabase,Save-SqlMigrationReport,Set-SqlAuthenticationMode,
Set-SqlAvailabilityGroup,Set-SqlAvailabilityGroupListener,Set-SqlAvailabilityReplica,Set-SqlCredential,Set-SqlHADREndpo
int,Set-SqlNetworkConfiguration,Set-SqlSmartAdmin,Start-SqlInstance,Stop-SqlInstance,Suspend-SqlAvailabilityDatabase,Sw
itch-SqlAvailabilityGroup,Test-SqlAvailabilityGroup,Test-SqlAvailabilityReplica,Test-SqlDatabaseReplicaState,Test-SqlSm
artAdmin'. This module 'SqlServer' may override the existing commands. If you still want to install this module
'SqlServer', use -AllowClobber parameter.
At C:\Program Files\WindowsPowerShell\Modules\PowerShellGet\1.0.0.1\PSModule.psm1:1809 char:21
+ ...          $null = PackageManagement\Install-Package @PSBoundParameters
+                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (Microsoft.Power....InstallPackage:InstallPackage) [Install-Package],
   Exception
    + FullyQualifiedErrorId : CommandAlreadyAvailable,Validate-ModuleCommandAlreadyAvailable,Microsoft.PowerShell.Pack
   ageManagement.Cmdlets.InstallPackage

Lastly, running the script anyway returns errors on most entries, the full run is at the following link;
https://pastebin.com/f9EBS6Cn

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.