diff --git a/docs/topics/clusterdefinitions.md b/docs/topics/clusterdefinitions.md index 51c2038bfb..5c90ea0723 100644 --- a/docs/topics/clusterdefinitions.md +++ b/docs/topics/clusterdefinitions.md @@ -640,7 +640,6 @@ format for `sourceVault.id`, can be obtained in cli, or found in the portal: /su format for `vaultCertificates.certificateUrl`, can be obtained in cli, or found in the portal: https://{keyvaultname}.vault.azure.net:443/secrets/{secretName}/{version} - ### windowsProfile `windowsProfile` provides configuration specific to Windows nodes in the cluster @@ -649,10 +648,10 @@ https://{keyvaultname}.vault.azure.net:443/secrets/{secretName}/{version} | -------------------------------- | -------- | ------------------------------------------------------------------------ | | adminUsername | yes | Username for the Windows adminstrator account created on each Windows node | | adminPassword | yes | Password for the Windows adminstrator account created on each Windows node | -| windowsPublisher | no | Publisher used to find Windows VM to deploy from marketplace. Default: `MicrosoftWindowsServer` | -| windowsOffer | no | Offer used to find Windows VM to deploy from marketplace. Default: `WindowsServer` | -| windowsSku | no | SKU usedto find Windows VM to deploy from marketplace. Default: `2019-Datacenter-Core-with-Containers-smalldisk` | -| imageVersion | no | Specific image version to deploy from marketplace. Default: `17763.737.1909062324`. This default is incremented as new versions are tested to avoid unexpected breaks. | +| windowsPublisher | no | Publisher used to find Windows VM to deploy from marketplace. Default: `microsoft-aks` | +| windowsOffer | no | Offer used to find Windows VM to deploy from marketplace. Default: `aks-windows` | +| windowsSku | no | SKU usedto find Windows VM to deploy from marketplace. Default: `2019-datacenter-core-smalldisk` | +| imageVersion | no | Specific image version to deploy from marketplace. Default: `17763.737.190923`. This default is incremented to include the latest Windows patches after being validated by the AKS Engine team. | | windowsImageSourceURL | no | Path to an existing Azure storage blob with a sysprepped VHD. This is used to test pre-release or customized VHD files that you have uploaded to Azure. If provided, the above 4 parameters are ignored. | | imageReference.name | no | Name of an Image. | | imageReference.resourceGroup | no | Resource group that contains the Image. | @@ -663,10 +662,43 @@ https://{keyvaultname}.vault.azure.net:443/secrets/{secretName}/{version} #### Windows Images -You can configure the image used for all Windows nodes one of the following ways (listed in order of precedence based on what is specified in the api model): +You can configure the image used for all Windows nodes one of the following ways: + +##### Defaults + +The AKS Engine team produces images that are optimized for and validated with aks-engine. +The latest latest version of these images are used as the default images for Windows nodes. + +These images are published to the Azure Marketplace under the `microsoft-aks` publisher and `aks-windows` offer. +Release notes for these images can be found under [releases/vhd-notes/aks-windows](../../releases/vhd-notes/aks-windows). +##### Marketplace Images -##### Custom VHD +Aks-engine also supports running 'vanilla' Windows Server images published by Microsoft. +These can be used by advanced users if a release other than Winders Server 2019 is needed. + +If you want to choose a specific Windows image, but automatically use the latest - set `windowsPublisher`, `windowsOffer`, and `windowsSku`. If you need a specific version, then add `imageVersion` too. + +You can find all available images with `az vm image list --all --publisher MicrosoftWindowsServer --offer WindowsServer --output table`, and the contents of these images are described in the knowledge base article [Windows Server release on Azure Marketplace update history](https://support.microsoft.com/en-us/help/4497947). + +If you want to use a specific image then `windowsPublisher`, `windowsOffer`, `windowsSku`, and `imageVersion` must all be set: + +```json +"windowsProfile": { + "adminUsername": "...", + "adminPassword": "...", + "windowsPublisher": "MicrosoftWindowsServer", + "windowsOffer": "WindowsServer", + "windowsSku": "2019-Datacenter-Core-with-Containers-smalldisk", + "imageVersion": "2019.0.20181107" + }, +``` + +##### Custom Images + +Listed in order of precedence based on what is specified in the api model: + +###### VHD To use an image uploaded to an Azure storage account (or any other accessible location) specify `windowsImageSourceURL`. @@ -680,7 +712,7 @@ To use an image uploaded to an Azure storage account (or any other accessible lo }, ``` -##### Shared Image Gallery +###### Shared Image Gallery To use an Image from a Shared Image Gallery specify `imageReference.name`, `imageReference.resourceGroup`, `imageReference.subscriptionId`, `imageReference.galllery`, and `imageReference.version`. @@ -698,7 +730,7 @@ To use an Image from a Shared Image Gallery specify `imageReference.name`, `imag }, ``` -##### Azure Image +###### Azure Image To use a pre-existing Azure Image specify `imageReference.name` and `imageReference.resourceGroup`. @@ -713,34 +745,6 @@ To use a pre-existing Azure Image specify `imageReference.name` and `imageRefere }, ``` -##### Marketplace image (Default) - -By default AKS engine will use a recently known good Windows image from the Azure marketplace (See [windowsProfile](#windowsProfile) table for specific values). - -```json -"windowsProfile": { - "adminUsername": "...", - "adminPassword": "..." - }, -``` - -If you want to choose a specific Windows image, but automatically use the latest - set `windowsPublisher`, `windowsOffer`, and `windowsSku`. If you need a specific version, then add `imageVersion` too. - -You can find all available images with `az vm image list --all --publisher MicrosoftWindowsServer --offer WindowsServer --output table`, and the contents of these images are described in the knowledge base article [Windows Server release on Azure Marketplace update history](https://support.microsoft.com/en-us/help/4497947). - -If you want to use a specific image then `windowsPublisher`, `windowsOffer`, `windowsSku`, and `imageVersion` must all be set: - -```json -"windowsProfile": { - "adminUsername": "...", - "adminPassword": "...", - "windowsPublisher": "MicrosoftWindowsServer", - "windowsOffer": "WindowsServer", - "windowsSku": "2019-Datacenter-Core-with-Containers-smalldisk", - "imageVersion": "2019.0.20181107" - }, -``` - ### servicePrincipalProfile `servicePrincipalProfile` describes an Azure Service credentials to be used by the cluster for self-configuration. See [service principal](service-principals.md) for more details on creation. diff --git a/pkg/api/azenvtypes.go b/pkg/api/azenvtypes.go index 13a3cb5d96..15dcb5ba62 100644 --- a/pkg/api/azenvtypes.go +++ b/pkg/api/azenvtypes.go @@ -148,6 +148,30 @@ var ( ImageVersion: "2019.09.24", } + // AKSWindowsServer2019OSImageConfig is the AKS image based on Windows Server 2019 + AKSWindowsServer2019OSImageConfig = AzureOSImageConfig{ + ImageOffer: "aks-windows", + ImageSku: "2019-datacenter-core-smalldisk", + ImagePublisher: "microsoft-aks", + ImageVersion: "17763.737.190923", + } + + // AzureStackWindowsServer2019OSImageConfig is the 'vanilla' Windows Server 2019 image to be used to with Azure Stack deployments + AzureStackWindowsServer2019OSImageConfig = AzureOSImageConfig{ + ImageOffer: "WindowsServer", + ImageSku: "2019-Datacenter-Core-with-Containers", + ImagePublisher: "MicrosoftWindowsServer", + ImageVersion: "latest", + } + + // WindowsServer2019OSImageConfig is the 'vanilla' Windows Server 2019 image + WindowsServer2019OSImageConfig = AzureOSImageConfig{ + ImageOffer: "WindowsServer", + ImageSku: "2019-Datacenter-Core-with-Containers-smalldisk", + ImagePublisher: "MicrosoftWindowsServer", + ImageVersion: "17763.737.1909062324", + } + // ACC1604OSImageConfig is the ACC image based on Ubuntu 16.04. ACC1604OSImageConfig = AzureOSImageConfig{ ImageOffer: "confidential-compute-preview", diff --git a/pkg/api/const.go b/pkg/api/const.go index 39afc5ff25..96733a4953 100644 --- a/pkg/api/const.go +++ b/pkg/api/const.go @@ -265,27 +265,6 @@ const ( // MaxAzureStackManagedDiskSize = size for Kubernetes master etcd disk volumes in GB if > 10 nodes as this is max what Azure Stack supports today. MaxAzureStackManagedDiskSize = "1023" - - // DefaultAzureStackWindowsOffer sets the default WindowsOffer value in WindowsProfile for Azure Stack - DefaultAzureStackWindowsOffer = "WindowsServer" - - // DefaultAzureStackWindowsSku sets the default WindowsSku value in WindowsProfile for Azure Stack - DefaultAzureStackWindowsSku = "2019-Datacenter-Core-with-Containers" - - // DefaultAzureStackImageVersion sets the default ImageVersion value in WindowsProfile for Azure Stack - DefaultAzureStackImageVersion = "latest" -) - -// WindowsProfile defaults -const ( - // DefaultWindowsPublisher sets the default WindowsPublisher value in WindowsProfile - DefaultWindowsPublisher = "MicrosoftWindowsServer" - // DefaultWindowsOffer sets the default WindowsOffer value in WindowsProfile - DefaultWindowsOffer = "WindowsServer" - // DefaultWindowsSku sets the default WindowsSku value in WindowsProfile - DefaultWindowsSku = "2019-Datacenter-Core-with-Containers-smalldisk" - // DefaultImageVersion sets the default ImageVersion value in WindowsProfile - DefaultImageVersion = "17763.737.1909062324" ) const ( diff --git a/pkg/api/defaults.go b/pkg/api/defaults.go index 0c61fd2d43..974382794b 100644 --- a/pkg/api/defaults.go +++ b/pkg/api/defaults.go @@ -701,29 +701,40 @@ func (p *Properties) setAgentProfileDefaults(isUpgrade, isScale bool, cloudName func (p *Properties) setWindowsProfileDefaults(isUpgrade, isScale bool) { windowsProfile := p.WindowsProfile if !isUpgrade && !isScale { - if windowsProfile.WindowsPublisher == "" { - windowsProfile.WindowsPublisher = DefaultWindowsPublisher - } if p.IsAzureStackCloud() { + if windowsProfile.WindowsPublisher == "" { + windowsProfile.WindowsPublisher = AzureStackWindowsServer2019OSImageConfig.ImagePublisher + } if windowsProfile.WindowsOffer == "" { - windowsProfile.WindowsOffer = DefaultAzureStackWindowsOffer + windowsProfile.WindowsOffer = AzureStackWindowsServer2019OSImageConfig.ImageOffer } if windowsProfile.WindowsSku == "" { - windowsProfile.WindowsSku = DefaultAzureStackWindowsSku + windowsProfile.WindowsSku = AzureStackWindowsServer2019OSImageConfig.ImageSku } if windowsProfile.ImageVersion == "" { - windowsProfile.ImageVersion = DefaultAzureStackImageVersion + windowsProfile.ImageVersion = AzureStackWindowsServer2019OSImageConfig.ImageVersion } } else { + if windowsProfile.WindowsPublisher == "" { + windowsProfile.WindowsPublisher = AKSWindowsServer2019OSImageConfig.ImagePublisher + } if windowsProfile.WindowsOffer == "" { - windowsProfile.WindowsOffer = DefaultWindowsOffer + windowsProfile.WindowsOffer = AKSWindowsServer2019OSImageConfig.ImageOffer } if windowsProfile.WindowsSku == "" { - windowsProfile.WindowsSku = DefaultWindowsSku + windowsProfile.WindowsSku = AKSWindowsServer2019OSImageConfig.ImageSku } + if windowsProfile.ImageVersion == "" { - windowsProfile.ImageVersion = DefaultImageVersion + // default versions are specific to a publisher/offer/sku + if windowsProfile.WindowsPublisher == AKSWindowsServer2019OSImageConfig.ImagePublisher && windowsProfile.WindowsOffer == AKSWindowsServer2019OSImageConfig.ImageOffer && windowsProfile.WindowsSku == AKSWindowsServer2019OSImageConfig.ImageSku { + windowsProfile.ImageVersion = AKSWindowsServer2019OSImageConfig.ImageVersion + } else if windowsProfile.WindowsPublisher == WindowsServer2019OSImageConfig.ImagePublisher && windowsProfile.WindowsOffer == WindowsServer2019OSImageConfig.ImageOffer && windowsProfile.WindowsSku == WindowsServer2019OSImageConfig.ImageSku { + windowsProfile.ImageVersion = WindowsServer2019OSImageConfig.ImageVersion + } else { + windowsProfile.ImageVersion = "latest" + } } } } diff --git a/pkg/api/defaults_test.go b/pkg/api/defaults_test.go index 574ce95e6d..a9abadadfb 100644 --- a/pkg/api/defaults_test.go +++ b/pkg/api/defaults_test.go @@ -1594,10 +1594,10 @@ func TestWindowsProfileDefaults(t *testing.T) { "defaults", WindowsProfile{}, WindowsProfile{ - WindowsPublisher: DefaultWindowsPublisher, - WindowsOffer: DefaultWindowsOffer, - WindowsSku: DefaultWindowsSku, - ImageVersion: DefaultImageVersion, + WindowsPublisher: AKSWindowsServer2019OSImageConfig.ImagePublisher, + WindowsOffer: AKSWindowsServer2019OSImageConfig.ImageOffer, + WindowsSku: AKSWindowsServer2019OSImageConfig.ImageSku, + ImageVersion: AKSWindowsServer2019OSImageConfig.ImageVersion, AdminUsername: "", AdminPassword: "", WindowsImageSourceURL: "", @@ -1607,7 +1607,109 @@ func TestWindowsProfileDefaults(t *testing.T) { false, }, { - "user overrides", + "aks vhd current version", + WindowsProfile{ + WindowsPublisher: AKSWindowsServer2019OSImageConfig.ImagePublisher, + WindowsOffer: AKSWindowsServer2019OSImageConfig.ImageOffer, + WindowsSku: AKSWindowsServer2019OSImageConfig.ImageSku, + }, + WindowsProfile{ + WindowsPublisher: AKSWindowsServer2019OSImageConfig.ImagePublisher, + WindowsOffer: AKSWindowsServer2019OSImageConfig.ImageOffer, + WindowsSku: AKSWindowsServer2019OSImageConfig.ImageSku, + ImageVersion: AKSWindowsServer2019OSImageConfig.ImageVersion, + AdminUsername: "", + AdminPassword: "", + WindowsImageSourceURL: "", + WindowsDockerVersion: "", + SSHEnabled: false, + }, + false, + }, + { + "aks vhd specific version", + WindowsProfile{ + WindowsPublisher: AKSWindowsServer2019OSImageConfig.ImagePublisher, + WindowsOffer: AKSWindowsServer2019OSImageConfig.ImageOffer, + WindowsSku: AKSWindowsServer2019OSImageConfig.ImageSku, + ImageVersion: "override", + }, + WindowsProfile{ + WindowsPublisher: AKSWindowsServer2019OSImageConfig.ImagePublisher, + WindowsOffer: AKSWindowsServer2019OSImageConfig.ImageOffer, + WindowsSku: AKSWindowsServer2019OSImageConfig.ImageSku, + ImageVersion: "override", + AdminUsername: "", + AdminPassword: "", + WindowsImageSourceURL: "", + WindowsDockerVersion: "", + SSHEnabled: false, + }, + false, + }, + { + "vanilla vhd current version", + WindowsProfile{ + WindowsPublisher: WindowsServer2019OSImageConfig.ImagePublisher, + WindowsOffer: WindowsServer2019OSImageConfig.ImageOffer, + WindowsSku: WindowsServer2019OSImageConfig.ImageSku, + }, + WindowsProfile{ + WindowsPublisher: WindowsServer2019OSImageConfig.ImagePublisher, + WindowsOffer: WindowsServer2019OSImageConfig.ImageOffer, + WindowsSku: WindowsServer2019OSImageConfig.ImageSku, + ImageVersion: WindowsServer2019OSImageConfig.ImageVersion, + AdminUsername: "", + AdminPassword: "", + WindowsImageSourceURL: "", + WindowsDockerVersion: "", + SSHEnabled: false, + }, + false, + }, + { + "vanilla vhd spepcific version", + WindowsProfile{ + WindowsPublisher: WindowsServer2019OSImageConfig.ImagePublisher, + WindowsOffer: WindowsServer2019OSImageConfig.ImageOffer, + WindowsSku: WindowsServer2019OSImageConfig.ImageSku, + ImageVersion: "override", + }, + WindowsProfile{ + WindowsPublisher: WindowsServer2019OSImageConfig.ImagePublisher, + WindowsOffer: WindowsServer2019OSImageConfig.ImageOffer, + WindowsSku: WindowsServer2019OSImageConfig.ImageSku, + ImageVersion: "override", + AdminUsername: "", + AdminPassword: "", + WindowsImageSourceURL: "", + WindowsDockerVersion: "", + SSHEnabled: false, + }, + false, + }, + { + "user overrides latest version", + WindowsProfile{ + WindowsPublisher: "override", + WindowsOffer: "override", + WindowsSku: "override", + }, + WindowsProfile{ + WindowsPublisher: "override", + WindowsOffer: "override", + WindowsSku: "override", + ImageVersion: "latest", + AdminUsername: "", + AdminPassword: "", + WindowsImageSourceURL: "", + WindowsDockerVersion: "", + SSHEnabled: false, + }, + false, + }, + { + "user overrides specific version", WindowsProfile{ WindowsPublisher: "override", WindowsOffer: "override", @@ -1631,10 +1733,10 @@ func TestWindowsProfileDefaults(t *testing.T) { "Azure Stack defaults", WindowsProfile{}, WindowsProfile{ - WindowsPublisher: DefaultWindowsPublisher, - WindowsOffer: DefaultAzureStackWindowsOffer, - WindowsSku: DefaultAzureStackWindowsSku, - ImageVersion: DefaultAzureStackImageVersion, + WindowsPublisher: AzureStackWindowsServer2019OSImageConfig.ImagePublisher, + WindowsOffer: AzureStackWindowsServer2019OSImageConfig.ImageOffer, + WindowsSku: AzureStackWindowsServer2019OSImageConfig.ImageSku, + ImageVersion: AzureStackWindowsServer2019OSImageConfig.ImageVersion, AdminUsername: "", AdminPassword: "", WindowsImageSourceURL: "", @@ -1646,45 +1748,25 @@ func TestWindowsProfileDefaults(t *testing.T) { } for _, test := range tests { - mockAPI := getMockAPIProperties("1.14.0") - mockAPI.WindowsProfile = &test.windowsProfile - if test.isAzureStack { - mockAPI.CustomCloudProfile = &CustomCloudProfile{} - } - mockAPI.setWindowsProfileDefaults(false, false) - if mockAPI.WindowsProfile.WindowsPublisher != test.expectedWindowsProfile.WindowsPublisher { - t.Fatalf("setWindowsProfileDefaults() test case %v did not return right default values %v != %v", test.name, mockAPI.WindowsProfile.WindowsPublisher, test.expectedWindowsProfile.WindowsPublisher) - } - if mockAPI.WindowsProfile.WindowsOffer != test.expectedWindowsProfile.WindowsOffer { - t.Fatalf("setWindowsProfileDefaults() test case %v did not return right default values %v != %v", test.name, mockAPI.WindowsProfile.WindowsOffer, test.expectedWindowsProfile.WindowsOffer) - } - if mockAPI.WindowsProfile.WindowsSku != test.expectedWindowsProfile.WindowsSku { - t.Fatalf("setWindowsProfileDefaults() test case %v did not return right default values %v != %v", test.name, mockAPI.WindowsProfile.WindowsSku, test.expectedWindowsProfile.WindowsSku) - } - if mockAPI.WindowsProfile.ImageVersion != test.expectedWindowsProfile.ImageVersion { - t.Fatalf("setWindowsProfileDefaults() test case %v did not return right default values %v != %v", test.name, mockAPI.WindowsProfile.ImageVersion, test.expectedWindowsProfile.ImageVersion) - } - if mockAPI.WindowsProfile.AdminUsername != test.expectedWindowsProfile.AdminUsername { - t.Fatalf("setWindowsProfileDefaults() test case %v did not return right default values %v != %v", test.name, mockAPI.WindowsProfile.AdminUsername, test.expectedWindowsProfile.AdminUsername) - } - if mockAPI.WindowsProfile.AdminPassword != test.expectedWindowsProfile.AdminPassword { - t.Fatalf("setWindowsProfileDefaults() test case %v did not return right default values %v != %v", test.name, mockAPI.WindowsProfile.AdminPassword, test.expectedWindowsProfile.AdminPassword) - } - if mockAPI.WindowsProfile.WindowsImageSourceURL != test.expectedWindowsProfile.WindowsImageSourceURL { - t.Fatalf("setWindowsProfileDefaults() test case %v did not return right default values %v != %v", test.name, mockAPI.WindowsProfile.WindowsImageSourceURL, test.expectedWindowsProfile.WindowsImageSourceURL) - } - if mockAPI.WindowsProfile.WindowsDockerVersion != test.expectedWindowsProfile.WindowsDockerVersion { - t.Fatalf("setWindowsProfileDefaults() test case %v did not return right default values %v != %v", test.name, mockAPI.WindowsProfile.WindowsDockerVersion, test.expectedWindowsProfile.WindowsDockerVersion) - } - if mockAPI.WindowsProfile.Secrets != nil { - t.Fatalf("setWindowsProfileDefaults() test case %v did not return right default values %v != %v", test.name, mockAPI.WindowsProfile.Secrets, nil) - } - if mockAPI.WindowsProfile.SSHEnabled != test.expectedWindowsProfile.SSHEnabled { - t.Fatalf("setWindowsProfileDefaults() test case %v did not return right default values %v != %v", test.name, mockAPI.WindowsProfile.SSHEnabled, test.expectedWindowsProfile.SSHEnabled) - } - if mockAPI.WindowsProfile.EnableAutomaticUpdates != nil { - t.Fatalf("setWindowsProfileDefaults() test case %v did not return right default values %v != %v", test.name, mockAPI.WindowsProfile.EnableAutomaticUpdates, nil) - } + test := test + t.Run(test.name, func(t *testing.T) { + t.Parallel() + + mockAPI := getMockAPIProperties("1.16.0") + mockAPI.WindowsProfile = &test.windowsProfile + if test.isAzureStack { + mockAPI.CustomCloudProfile = &CustomCloudProfile{} + } + mockAPI.setWindowsProfileDefaults(false, false) + + actual := mockAPI.WindowsProfile + expected := &test.expectedWindowsProfile + + diff := cmp.Diff(actual, expected) + if diff != "" { + t.Errorf("unexpected diff while comparing WindowsProfile: %s", diff) + } + }) } } diff --git a/releases/vhd-notes/aks-windows/2019-datacenter-core-smalldisk-17763.737.190923.txt b/releases/vhd-notes/aks-windows/2019-datacenter-core-smalldisk-17763.737.190923.txt new file mode 100644 index 0000000000..55f0e762b1 --- /dev/null +++ b/releases/vhd-notes/aks-windows/2019-datacenter-core-smalldisk-17763.737.190923.txt @@ -0,0 +1,96 @@ +Build Number: 20190923.1 +Build Id: 757 +Build Repo: https://github.com/Azure/aks-engine +Build Branch: master +Commit: 318e27b5de31747bc560ad7714772b832b521d84 + +System Info + OS Name : Windows Server 2019 Datacenter + OS Version : 17763.737 + OS InstallType : Server Core + +Allowed security protocols: Tls, Tls11, Tls12 + +Installed Features + +Display Name Name Install State +------------ ---- ------------- +[X] File and Storage Services FileAndStorage-Services Installed + [X] Storage Services Storage-Services Installed +[X] Hyper-V Hyper-V Installed +[X] .NET Framework 4.7 Features NET-Framework-45-Fea... Installed + [X] .NET Framework 4.7 NET-Framework-45-Core Installed + [X] WCF Services NET-WCF-Services45 Installed + [X] TCP Port Sharing NET-WCF-TCP-PortShar... Installed +[X] BitLocker Drive Encryption BitLocker Installed +[X] Containers Containers Installed +[X] Enhanced Storage EnhancedStorage Installed +[X] Remote Server Administration Tools RSAT Installed + [X] Role Administration Tools RSAT-Role-Tools Installed + [X] Hyper-V Management Tools RSAT-Hyper-V-Tools Installed + [X] Hyper-V Module for Windows PowerShell Hyper-V-PowerShell Installed +[X] System Data Archiver System-DataArchiver Installed +[X] Windows Defender Antivirus Windows-Defender Installed +[X] Windows PowerShell PowerShellRoot Installed + [X] Windows PowerShell 5.1 PowerShell Installed +[X] WoW64 Support WoW64-Support Installed + + + +Installed Packages + Language.Basic~~~en-US~0.0.1.0 + Language.Handwriting~~~en-US~0.0.1.0 + Language.OCR~~~en-US~0.0.1.0 + Language.Speech~~~en-US~0.0.1.0 + Language.TextToSpeech~~~en-US~0.0.1.0 + MathRecognizer~~~~0.0.1.0 + OpenSSH.Client~~~~0.0.1.0 + OpenSSH.Server~~~~0.0.1.0 + +Installed QFEs + KB4514366 : Update : http://support.microsoft.com/?kbid=4514366 + KB4512577 : Security Update : http://support.microsoft.com/?kbid=4512577 + KB4512578 : Security Update : http://support.microsoft.com/?kbid=4512578 + +Installed Updates + 2019-09 Cumulative Update for .NET Framework 3.5, 4.7.2 and 4.8 for Windows Server 2019 for x64 (KB4514601) + Security Intelligence Update for Windows Defender Antivirus - KB2267602 (Version 1.301.2094.0) + +Windows Update Registry Settings + https://docs.microsoft.com/en-us/windows/deployment/update/waas-wu-settings + HKLM:SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate + HKLM:SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU + NoAutoUpdate : 1 + +Docker Info +Version: Docker version 18.09.9, build ca97a20ff1 + +Images: + +Repository Tag ID +---------- --- -- +mcr.microsoft.com/windows/servercore ltsc2019 1ddfa8bee56a +mcr.microsoft.com/windows/nanoserver 1809 003f76c8d63b +mcr.microsoft.com/k8s/core/pause 1.2.0 a74290a8271a + + + +Cached Files: + +File Sha256 SizeBytes +---- ------ --------- +c:\akse-cache\hns.psm1 A8A53ED4FAC2E27C7E4268DB069D4CF3129A56D466EF3BF9465FB52DCD76A29C 14733 +c:\akse-cache\win-bridge.exe CA12506E55DF3E3428B29994AE1FC8131DDFBB6838A550DFA22287CDC6548634 9599488 +c:\akse-cache\win-k8s\azs-v1.14.6-1int.zip 43C9CBE75B621DB2AF802E5FB3C6C53BDF8BEF5DA59623DDD9D5483DD761A1AF 56008759 +c:\akse-cache\win-k8s\azs-v1.14.7-1int.zip B67C9B684FCA483DBDB9C2D1024CE39A06384B63F7E9B261DA4A4E1334C9F8B7 59750140 +c:\akse-cache\win-k8s\azs-v1.15.3-1int.zip 66F6110E23CEB4BBFA21E2B0A586FAA9FB012CBE7A05C9E5975A90F73B01DC1A 95274346 +c:\akse-cache\win-k8s\azs-v1.15.4-1int.zip 1E7B76FA30DFBF14D201D7058FFC258DBB0FA4A96FF07168A4B8AC3D4A200838 99025654 +c:\akse-cache\win-k8s\v1.14.6-1int.zip 60DCBF2DD2A1B7D9CD43AFCA4C73B1954CFCD8D3BD889FEFBA6BE1BF74A933FC 59749551 +c:\akse-cache\win-k8s\v1.14.7-1int.zip 161FECE8E31EAF3E9B5F3AFF9D138E3D5CF8F4AC5834C00069ADD815A573AB7B 59754112 +c:\akse-cache\win-k8s\v1.15.3-1int.zip 7F6B2F6D1FAB497133F5256830F52C3DB134D712D881EBA35C2A3110FDA68D7A 59719316 +c:\akse-cache\win-k8s\v1.15.4-1int.zip 6B7ED827B29D02B161C6F57F23FD483864EBA39FE84E0A66CF366BB583CBB256 59740293 +c:\akse-cache\win-k8s\v1.16.0-1int.zip 08CD45F298FFCC8324F819E2AF3958FB400E48A814AEDD51DC2DEBAD3E216D4B 62486113 +c:\akse-cache\win-vnet-cni\azure-vnet-cni-windows-amd64-v1.0.27.zip 7EFE962E00D4766C8ABDAF50ABCF7176A6CF046C43B760DB63C3D13A6A4F8DE4 6511793 + + +