Deploy ASDK from the command line using PowerShell
The Azure Stack Development Kit (ASDK) is a testing and development environment that you can deploy to evaluate and demonstrate Azure Stack features and services. To get it up and running, you need to prepare the environment hardware and run some scripts. The scripts take several hours to run. After that, you can sign in to the admin and user portals to start using Azure Stack.
Prerequisites
Prepare the ASDK host computer. Plan your hardware, software, and network. The computer that hosts the ASDK must meet hardware, software, and network requirements. Choose between using Microsoft Entra ID or Active Directory Federation Services (AD FS). Be sure to follow these prerequisites before starting your deployment so that the installation process runs smoothly.
Before you deploy the ASDK, make sure your planned ASDK host computer's hardware, operating system, account, and network configurations meet the minimum requirements for installing the ASDK.
Review the ASDK deployment requirements and considerations.
Download and extract the deployment package
After ensuring that your ASDK host computer meets the basic requirements for installing the ASDK, the next step is to download and extract the ASDK deployment package. The deployment package includes the Cloudbuilder.vhdx file, which is a virtual hard drive that includes a bootable operating system and the Azure Stack installation files.
You can download the deployment package to the ASDK host or to another computer. The extracted deployment files take up 60 GB of free disk space, so using another computer can help reduce the hardware requirements for the ASDK host.
Download and extract the Azure Stack Development Kit (ASDK)
Prepare the ASDK host computer
Before you can install the ASDK on the host computer, the environment must be prepared and the system configured to boot from VHD. After this step, the ASDK host will boot to the Cloudbuilder.vhdx (a virtual hard drive that includes a bootable operating system and the Azure Stack installation files).
Use PowerShell to configure the ASDK host computer to boot from CloudBuilder.vhdx. These commands configure your ASDK host computer to boot from the downloaded and extracted Azure Stack virtual harddisk (CloudBuilder.vhdx). After completing these steps, restart the ASDK host computer.
To configure the ASDK host computer to boot from CloudBuilder.vhdx:
- Launch a command prompt as admin.
- Run
bcdedit /copy {current} /d "Azure Stack"
. - Copy (CTRL+C) the CLSID value returned, including the required curly brackets (
{}
). This value is referred to as{CLSID}
and needs to be pasted in (CTRL+V or right-click) in the remaining steps. - Run
bcdedit /set {CLSID} device vhd=[C:]\CloudBuilder.vhdx
. - Run
bcdedit /set {CLSID} osdevice vhd=[C:]\CloudBuilder.vhdx
. - Run
bcdedit /set {CLSID} detecthal on
. - Run
bcdedit /default {CLSID}
. - To verify boot settings, run
bcdedit
. - Ensure that the CloudBuilder.vhdx file has been moved to the root of the C:\ drive (
C:\CloudBuilder.vhdx
) and restart the ASDK host computer. When the ASDK host computer is restarted, it should boot from the CloudBuilder.vhdx virtual machine (VM) hard drive to begin ASDK deployment.
Important
Ensure that you have direct physical or KVM access to the ASDK host computer before restarting it. When the VM first starts, it prompts you to complete Windows Server Setup. Provide the same admin credentials you used to log into the ASDK host computer.
Prepare the ASDK host using PowerShell
After the ASDK host computer successfully boots into the CloudBuilder.vhdx image, sign in with the same local admin credentials you used to log into the ASDK host computer. These are also the same credentials you provided as part of completing the Windows Server Setup when the host computer booted from VHD.
Note
Optionally, you can also configure Azure Stack telemetry settings before installing the ASDK.
Open an elevated PowerShell console and run the commands in this section to deploy the ASDK on the ASDK host.
Important
ASDK installation supports exactly one network interface card (NIC) for networking. If you have multiple NICs, make sure that only one is enabled (and all others are disabled) before running the deployment script.
You can deploy Azure Stack with Microsoft Entra ID or Windows Server AD FS as the identity provider. Azure Stack, resource providers, and other apps work the same way with both.
Tip
If you don't supply any setup parameters (see InstallAzureStackPOC.ps1 optional parameters and examples below), you're prompted for the required parameters.
Deploy Azure Stack using Microsoft Entra ID
To deploy Azure Stack using Microsoft Entra ID as the identity provider, you must have internet connectivity either directly or through a transparent proxy.
Run the following PowerShell commands to deploy the ASDK using Microsoft Entra ID:
cd C:\CloudDeployment\Setup
$adminpass = Get-Credential Administrator
.\InstallAzureStackPOC.ps1 -AdminPassword $adminpass.Password
A few minutes into ASDK installation you'll be prompted for Microsoft Entra credentials. Provide the Microsoft Entra admin credentials for your tenant.
Deploy Azure Stack using AD FS
To deploy the ASDK using AD FS as the identity provider, run the following PowerShell commands (you just need to add the -UseADFS parameter):
cd C:\CloudDeployment\Setup
$adminpass = Get-Credential Administrator
.\InstallAzureStackPOC.ps1 -AdminPassword $adminpass.Password -UseADFS
In AD FS deployments, the default stamp Directory Service is used as the identity provider. The default account to sign in with is azurestackadmin@azurestack.local, and the password is set to what you provided as part of the PowerShell setup commands.
The deployment process can take a few hours, during which time the system automatically reboots once. When the deployment succeeds, the PowerShell console displays: COMPLETE: Action 'Deployment'. If the deployment fails, try running the script again using the -rerun parameter. Or, you can redeploy ASDK from scratch.
Important
If you want to monitor the deployment progress after the ASDK host reboots, you must sign in as AzureStack\AzureStackAdmin. If you sign in as a local admin after the host computer is restarted (and joined to the azurestack.local domain), you won't see the deployment progress. Don't rerun deployment, instead sign in as AzureStack\AzureStackAdmin with the same password as the local admin to validate that the setup is running.
Microsoft Entra deployment script examples
You can script the entire Microsoft Entra deployment. Here are a few commented examples that include some optional parameters.
If your Microsoft Entra identity is only associated with one Microsoft Entra directory:
cd C:\CloudDeployment\Setup
$adminpass = Get-Credential Administrator
$aadcred = Get-Credential "<Microsoft Entra administrator account name>"
.\InstallAzureStackPOC.ps1 -AdminPassword $adminpass.Password -InfraAzureDirectoryTenantAdminCredential $aadcred -TimeServer 52.168.138.145 #Example time server IP address.
If your Microsoft Entra identity is associated with greater than one Microsoft Entra directory:
cd C:\CloudDeployment\Setup
$adminpass = Get-Credential Administrator
$aadcred = Get-Credential "<Microsoft Entra administrator account name>" #Example: user@AADDirName.partner.onmschina.cn
.\InstallAzureStackPOC.ps1 -AdminPassword $adminpass.Password -InfraAzureDirectoryTenantAdminCredential $aadcred -InfraAzureDirectoryTenantName "<Azure AD directory in the form of domainname.partner.onmschina.cn or an Azure AD verified custom domain name>" -TimeServer 52.168.138.145 #Example time server IP address.
If your environment doesn't have DHCP enabled, then you must include the following additional parameters to one of the options above (example usage provided):
.\InstallAzureStackPOC.ps1 -AdminPassword $adminpass.Password -InfraAzureDirectoryTenantAdminCredential $aadcred -TimeServer 10.222.112.26
ASDK InstallAzureStackPOC.ps1 optional parameters
Parameter | Required/Optional | Description |
---|---|---|
AdminPassword | Required | Sets the local admin account and all other user accounts on all the VMs created as part of ASDK deployment. This password must match the current local admin password on the host. |
InfraAzureDirectoryTenantName | Required | Sets the tenant directory. Use this parameter to specify a specific directory where the Microsoft Entra account has permissions to manage multiple directories. Full name of a Microsoft Entra tenant in the format of .partner.onmschina.cn or a Microsoft Entra ID verified custom domain name. |
TimeServer | Required | Use this parameter to specify a specific time server. This parameter must be provided as a valid time server IP address. Server names aren't supported. |
InfraAzureDirectoryTenantAdminCredential | Optional | Sets the Microsoft Entra user name and password. These Azure credentials must be an Org ID. |
InfraAzureEnvironment | Optional | Select the Azure Environment with which you want to register this Azure Stack deployment. Select Azure - China. |
DNSForwarder | Optional | A DNS server is created as part of the Azure Stack deployment. To allow computers inside the solution to resolve names outside of the stamp, provide your existing infrastructure DNS server. The in-stamp DNS server forwards unknown name resolution requests to this server. |
Rerun | Optional | Use this flag to rerun deployment. All previous input is used. Reentering data previously provided isn't supported because several unique values are generated and used for deployment. |
Perform post-deployment configurations
After installing the ASDK, there are a few recommended post-installation checks and configuration changes that should be made. Validate your installation was installed successfully by using the test-AzureStack cmdlet, then install Azure Stack PowerShell and GitHub tools.
We recommend you reset the password expiration policy to make sure that the password for the ASDK host doesn't expire before your evaluation period ends.
Note
Optionally, you can also configure Azure Stack telemetry settings after installing the ASDK.
Register with Azure
You must register Azure Stack with Azure so that you can download Azure Marketplace items to Azure Stack.
Register Azure Stack with Azure
Next steps
Congratulations! After completing these steps, you'll have an ASDK environment with both admin https://adminportal.local.azurestack.external
and user https://portal.local.azurestack.external
portals.