* Preview Release for Office Workloads

* Fix Typos

* Typos

* default PW

* Add SFB Front End Server

* Bug Fixes for AD, SQL, Exchange, Deploy Script

* Addded Skype Edge Servers, Optimized deployment Script

* Major Update to all Templates including addition of ADFS and WAO Templates

* Azure Backup Server
This commit is contained in:
Thomas Roettinger 2019-03-15 22:27:10 +01:00 коммит произвёл Krishna Nithin
Родитель d9bda326a8
Коммит 2ba4c65b14
8 изменённых файлов: 423 добавлений и 0 удалений

Двоичные данные
.DS_Store поставляемый

Двоичный файл не отображается.

Двоичные данные
AzureBackupServer/.DS_Store поставляемый Normal file

Двоичный файл не отображается.

Просмотреть файл

@ -0,0 +1,87 @@
param (
[Parameter(Mandatory)]
[string]$destination,
[Parameter(Mandatory)]
[string]$baseUrl,
[Parameter(Mandatory)]
[string]$urlMSFTAST,
[Parameter(Mandatory)]
[string]$prereqList,
[Parameter(Mandatory)]
[string]$vaultName
)
function DownloadInstallAZCopy {
$dest = "MSFT_AzureStorageTools"
$dest = Join-Path $env:SystemDrive $destination
if(-not (Test-Path $dest)) {
New-Item -Path $dest -ItemType directory -Force
}
$output = "$dest\MicrosoftAzureStorageTools.msi"
if (-not (Test-Path $output)) {
Invoke-WebRequest -Uri $urlMSFTAST -OutFile $output
cd $dest
Start-Process C:\Windows\System32\msiexec.exe -ArgumentList "/package MicrosoftAzureStorageTools.msi /quiet" -wait
}
if(Test-Path "C:\Program Files (x86)\Microsoft SDKs\Azure\AzCopy") {
Write-Verbose "Ok"
}
else
{
Throw "Aborting, Azure Storage Tools not installed correctly"
}
}
function DownLoadPrereq {
$arrayList = $prereqList.split(",")
$dest = Join-Path $env:SystemDrive $destination
if(-not (Test-Path $dest)) {
New-Item -Path $dest -ItemType directory -Force
}
Foreach ($fileName in $arrayList)
{
$output = "$dest\$fileName"
$urlToDownload = $baseUrl+"/"+$fileName
if (-not (Test-Path $output)) {
cd "C:\Program Files (x86)\Microsoft SDKs\Azure\AzCopy"
.\AzCopy.exe /Source:$urlToDownload /Dest:$output
}
else
{
Throw "Error in downloading $filename mabs prerequisite"
}
}
}
function DownloadVault {
$vaultUrl = $baseUrl+ "/" + $vaultName
$vaultPath = "c:\vaultProfile"
$vaultLocalPath = Join-Path $vaultPath $vaultName
if (-not (Test-Path $vaultPath)) {
New-Item -Path $vaultPath -ItemType directory -Force
}
cd "C:\Program Files (x86)\Microsoft SDKs\Azure\AzCopy"
.\AzCopy.exe /Source:$vaultUrl /Dest:$vaultLocalPath
}
function InstallPrereqs {
$dest = Join-Path (Join-Path $env:SystemDrive $destination) "System_Center_Microsoft_Azure_Backup_Server_v3.exe"
if(Test-Path $dest) {
Start-Process $dest -ArgumentList "/verysilent /dir=c:\MABS" -wait
}
}
function HypervInstall {
Start-Process "dism.exe" -ArgumentList "/Online /Enable-feature /All /FeatureName:Microsoft-Hyper-V /FeatureName:Microsoft-Hyper-V-Management-PowerShell /quiet /norestart" -wait
}
DownloadInstallAZCopy
DownLoadPrereq
InstallPrereqs
DownloadVault
HypervInstall

Двоичные данные
AzureBackupServer/Artifacts/MabsWorkload.ps1.zip Normal file

Двоичный файл не отображается.

Просмотреть файл

@ -0,0 +1,43 @@
# Azure BackupS erver
This Template deploys Azure Backup Server.
You can find more information about Azure Backup Server here: https://docs.microsoft.com/en-us/azure/backup/backup-mabs-install-azure-stack
## Requirements
### Azure Stack
THe following Marketplace Items must be installed on Azure Stack:
- Windows Server 2016 Full Image
- DSC Extension
- Antimalware Extension
- Custom Script Extension for Windows
- Azure Diagnostic Extension for Windows
- Azure Performance Diagnostic
### Azure Backup Server
- Azure Subscription
- Vault Credential File
- Azure Backup Server V3 setup files
## Deployment
### Deploy manually via Portal
1. Download artifacts and template
2. Create Vault in Azure
3. Download Vault Credentials File and Azure Backup Server Version 3
4. Store the downloaded content in the artifacts folder
4. Upload the content from the artifacts folder into a new storage account
5. Deploy the Template
### Content
.\Template
This folder contains product template
.\Artifacts
This folder contains required DSC, Custom scripts and Setup files

Просмотреть файл

@ -0,0 +1,266 @@
{
"$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json",
"contentVersion": "1.0.0.0",
"apiProfile": "2018-03-01-hybrid",
"parameters": {
"MabsAvailabiliySetName": {
"type": "string",
"defaultValue": "MabsASet"
},
"vmPrefix": {
"type": "string",
"defaultValue": "srv"
},
"domainName": {
"type": "string",
"defaultValue": "contoso.com"
},
"adminUsername": {
"type": "string",
"metadata": {
"description": "Domain Admin username"
}
},
"adminPassword": {
"type": "securestring",
"metadata": {
"description": "Domain Admin password"
}
},
"passPhrase": {
"type": "securestring",
"minLength": 16,
"metadata": {
"description": "Mabs Passphrase, min 16 chars"
}
},
"workloadsLocation": {
"type": "string",
"defaultValue": "https://workloads.blob.orlando.azurestack.corp.microsoft.com/workload"
},
"vaultCredentialFileName": {
"type": "string",
"defaultValue": "vaultprem.VaultCredentials",
"metadata": {
"description": "name of the VaultCredential file"
}
},
"NoOfDisks": {
"type": "int",
"defaultValue": "2",
"metadata": {
"description": "Number of disks for striped volume"
}
},
"StorageSize": {
"type": "int",
"defaultValue": "500",
"metadata": {
"description": "size of each disk of striped volume"
}
}
},
"variables": {
"mabsPrefix": "[concat(parameters('vmPrefix'),'-mabs')]",
"vmNicName": "[tolower(concat(variables('mabsPrefix'),'-nic'))]",
"prereqFileNames" : "System_Center_Microsoft_Azure_Backup_Server_v3-1.bin,System_Center_Microsoft_Azure_Backup_Server_v3-2.bin,System_Center_Microsoft_Azure_Backup_Server_v3-3.bin,System_Center_Microsoft_Azure_Backup_Server_v3-4.bin,System_Center_Microsoft_Azure_Backup_Server_v3-5.bin,System_Center_Microsoft_Azure_Backup_Server_v3-6.bin,System_Center_Microsoft_Azure_Backup_Server_v3-7.bin,System_Center_Microsoft_Azure_Backup_Server_v3.exe",
"imagePublisher": "MicrosoftWindowsServer",
"imageOffer": "WindowsServer",
"uniqueStorageAccountName": "[tolower(concat('sa-',variables('mabsPrefix'),'-', resourceGroup().name))]",
"location": "[resourceGroup().location]",
"vmOsSku": "2016-Datacenter",
"vmDataDiskName": "[concat('dd-',variables('mabsPrefix'), resourceGroup().name)]",
"vmSize": "Standard_DS3",
"nsgName": "[concat('MABSNsg',resourceGroup().name)]",
"nsgID": "[resourceId('Microsoft.Network/networkSecurityGroups',variables('nsgName'))]",
"staticSubnetName": "[concat('ADStaticSubnet',resourceGroup().name)]",
"virtualNetworkName": "[concat('ADVNET',resourceGroup().name)]",
"vnetID": "[resourceId('Microsoft.Network/virtualNetworks', variables('virtualNetworkName'))]",
"staticSubnetID": "[concat(variables('vnetID'),'/subnets/',variables('staticSubnetName'))]",
"modulesPath": "[concat(parameters('workloadsLocation'),'/')]",
"modulesMabsDownload": "CSDownloadMabs.ps1",
"MabsInstallerPath":"MabsInstaller",
"modulesUrlMabsDownload": "[concat(variables('modulesPath'),variables('modulesMabsDownload'))]",
"AzCopyURL": "[concat(variables('modulesPath'),'MicrosoftAzureStorageTools.msi')]",
"ModulesURL": "[concat(parameters('workloadsLocation'),'/MabsWorkload.ps1.zip')]",
"ConfigurationFunction": "MabsWorkload.ps1\\InstallAndConfigureMabs"
},
"resources": [
{
"type": "Microsoft.Compute/availabilitySets",
"name": "[parameters('MabsAvailabiliySetName')]",
"location": "[resourceGroup().location]",
"sku": {
"name": "Aligned"
},
"properties": {
"platformUpdateDomainCount": 1,
"platformFaultDomainCount": 1
}
},
{
"type": "Microsoft.Network/networkSecurityGroups",
"name": "[variables('nsgName')]",
"location": "[variables('location')]",
"properties": {
"securityRules": [
{
"name": "nsgsrule",
"properties": {
"protocol": "*",
"sourcePortRange": "*",
"destinationPortRange": "*",
"sourceAddressPrefix": "*",
"destinationAddressPrefix": "*",
"access": "Allow",
"priority": 101,
"direction": "Inbound"
}
}
]
}
},
{
"type": "Microsoft.Network/networkInterfaces",
"name": "[concat(variables('vmNicName'))]",
"dependsOn": [
"[variables('nsgID')]"
],
"location": "[variables('location')]",
"properties": {
"ipConfigurations": [
{
"name": "ipconfigpublic",
"properties": {
"privateIPAllocationMethod": "Dynamic",
"subnet": {
"id": "[variables('staticSubnetId')]"
}
}
}
]
}
},
{
"type": "Microsoft.Compute/virtualMachines",
"name": "[concat(variables('mabsPrefix'))]",
"location": "[variables('location')]",
"dependsOn": [
"[concat('Microsoft.Network/networkInterfaces/',variables('vmNicName'))]"
],
"properties": {
"hardwareProfile": {
"vmSize": "[variables('vmSize')]"
},
"availabilitySet": {
"id": "[resourceId('Microsoft.Compute/availabilitySets/', parameters('MabsAvailabiliySetName'))]"
},
"osProfile": {
"computerName": "[concat(variables('mabsPrefix'))]",
"adminUsername": "[parameters('adminUsername')]",
"adminPassword": "[parameters('adminPassword')]"
},
"storageProfile": {
"imageReference": {
"publisher": "[variables('imagePublisher')]",
"offer": "[variables('imageOffer')]",
"sku": "[variables('vmOsSku')]",
"version": "latest"
},
"osDisk": {
"name": "[concat(variables('mabsPrefix'),'osdisk')]",
"managedDisk" : {
"storageAccountType" : "Premium_LRS"
},
"caching": "ReadWrite",
"createOption": "FromImage"
},
"copy": [
{
"name": "dataDisks",
"count": "[parameters('NoOfDisks')]",
"input": {
"caching": "None",
"diskSizeGB": "[parameters('StorageSize')]",
"lun": "[copyIndex('dataDisks')]",
"name": "[concat(variables('vmDataDiskName'),'-',copyIndex('dataDisks'))]",
"managedDisk" : {
"storageAccountType" :"Premium_LRS"
},
"createOption": "Empty"
}
}
]
},
"networkProfile": {
"networkInterfaces": [
{
"id": "[resourceId('Microsoft.Network/networkInterfaces',concat(variables('vmNicName')))]"
}
]
}
}
},
{
"type": "Microsoft.Compute/virtualMachines/extensions",
"name": "[concat(variables('mabsPrefix'),'/CustomScriptExtension')]",
"location": "[variables('location')]",
"dependsOn": [
"[concat('Microsoft.Compute/virtualMachines/',variables('mabsPrefix'))]"
],
"properties": {
"publisher": "Microsoft.Compute",
"type": "CustomScriptExtension",
"typeHandlerVersion": "1.4",
"autoUpgradeMinorVersion": true,
"settings": {
"fileUris": [
"[variables('modulesUrlMabsDownload')]"
],
"commandToExecute": "[concat('powershell -ExecutionPolicy Unrestricted -file ',variables('modulesMabsDownload'),' -destination ',variables('MabsInstallerPath'),' -urlMSFTAST ',variables('AzCopyURL'),' -baseUrl ',parameters('workloadsLocation'),' -prereqList ',variables('prereqFileNames'),' -vaultName ',parameters('vaultCredentialFileName'))]"
}
}
},
{
"name": "[concat(variables('mabsPrefix'),'/dscExtension')]",
"type": "Microsoft.Compute/virtualMachines/extensions",
"location": "[variables('location')]",
"dependsOn": [
"[concat('Microsoft.Compute/virtualMachines/', concat(variables('mabsPrefix'),'/extensions/','CustomScriptExtension'))]"
],
"tags": {
"displayName": "adfsDSCConfiguration"
},
"properties": {
"publisher": "Microsoft.Powershell",
"type": "DSC",
"typeHandlerVersion": "2.76",
"autoUpgradeMinorVersion": true,
"settings": {
"modulesUrl": "[variables('ModulesURL')]",
"configurationFunction": "[variables('ConfigurationFunction')]",
"properties": {
"domainName": "[parameters('domainName')]",
"AdminCreds": {
"userName": "[parameters('adminUserName')]",
"password": "PrivateSettingsRef:adminPassword"
},
"MABS_SecurityPassphrase": {
"userName": "[parameters('adminUserName')]",
"password": "PrivateSettingsRef:passPhrase"
},
"NoOfDisks": "[parameters('NoOfDisks')]",
"VaultCredentialFilePath": "[concat('c:\\vaultProfile\\',parameters('vaultCredentialFileName'))]",
"PassphraseSaveLocation": "c:\\vaultProfile\\"
}
},
"protectedSettings": {
"items": {
"adminPassword": "[parameters('adminPassword')]",
"passPhrase": "[parameters('passPhrase')]"
}
}
}
}
]
}

Просмотреть файл

@ -0,0 +1,27 @@
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json",
"contentVersion": "1.0.0.0",
"parameters": {
"domainName": {
"value": "contoso.com"
},
"adminUsername": {
"value": "thoroetadm"
},
"workloadsLocation": {
"value": "https://colab.blob.local.azurestack.external/workload"
},
"vmPrefix": {
"value": "srv"
},
"vaultCredentialFileName": {
"value": "Profile.VaultCredentials"
},
"NoOfDisks": {
"value": "2"
},
"StorageSize": {
"value": "100"
}
}
}

Двоичные данные
ScaleInOutExistingVmss-managed/.DS_Store поставляемый Normal file

Двоичный файл не отображается.