Install the Azure Stack Development Kit (ASDK)

Install the ASDK

The steps in this article show you how to deploy the ASDK using a graphical user interface (GUI) provided by downloading and running the asdk-installer.ps1 PowerShell script.

  1. After the host computer successfully boots into the CloudBuilder.vhdx image, log in using the administrator credentials specified when you prepared the development kit host computer for ASDK installation. This should be the same as the development kit host local administrator credentials.

  2. Open an elevated PowerShell console and run the <drive letter>\AzureStack_Installer\asdk-installer.ps1PowerShell script. Note that the script might now be on a different drive than C:\ in the CloudBuilder.vhdx image. Click Install.

3. In the Identity Provider Type drop-down box, select Azure China Cloud, Azure US Government Cloud, AD FS, or Azure Cloud. Under Local Administrator Password type the local administrator password (which must match the current configured local administrator password) in the Password box, and then click Next.

If you choose an Azure subscription identity provider, you need an internet connection, the full name of an Azure AD directory tenant in the form of or an Azure AD verified custom domain name, and global admin credentials for the specified directory.

After deployment, Azure Active Directory global administrator permission is not required. However, some operations may require the global administrator credential. For example, a resource provider installer script or a new feature requiring a permission to be granted. You can either temporarily re-instate the account’s global administrator permissions or use a separate global administrator account that is an owner of the default provider subscription.
When using AD FS as the identity provider, the default stamp directory service is used. The default account to sign in with is azurestackadmin@azurestack.local, and the password to use is the one you provided as part of setup.

4. Select a network adapter to use for the development kit and then click Next.

5. On the Network Configuration page, provide a valid Time server IP address. This required field sets the time server to be used by the development kit. This parameter must be provided as a valid time server IP address. Server names are not supported.

Optionally, you can provide a DNS forwarder IP address. 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.

6. On the Verifying network interface card properties page, you’ll see a progress bar. When verification is complete, click Next.

7. On Summary page, click Deploy to start ASDK installation on the development kit host computer.

8. If you’re performing an Azure AD deployment, you’ll be prompted to enter your Azure AD global administrator account credentials a few minutes after setup starts

9. The deployment process will take a few hours, during which time the host computer will automatically reboot once. If you want to monitor the deployment progress, sign in as azurestack\AzureStackAdmin after the development kit host restarts. When the deployment succeeds, the PowerShell console displays: COMPLETE: Action ‘Deployment’.

Congratulations, you’ve successfully installed the ASDK!

If the deployment fails for some reason, you can redeploy from scratch or use the following PowerShell commands, from the same elevated PowerShell window, to restart the deployment from the last successful step:

cd C:\CloudDeployment\Setup
.\InstallAzureStackPOC.ps1 –Rerun

Prepare the ASDK host computer

Prepare the development kit host computer

  1. Sign in as a Local Administrator to your development kit host computer.

  2. Ensure that the CloudBuilder.vhdx file has been moved to the root of the C:\ drive (C:\CloudBuilder.vhdx).

  3. Run the following script to download the development kit installer file (asdk-installer.ps1) from the Azure Stack GitHub tools repository to the C:\AzureStack_Installer folder on your development kit host computer:

  4. Be sure to download the asdk-installer.ps1 file each time you install the ASDK using the below script.

# Variables
$Uri = ‘′
$LocalPath = ‘C:\AzureStack_Installer’
# Create folder
New-Item $LocalPath -Type directory
# Enforce usage of TLSv1.2 to download from GitHub
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
# Download file
Invoke-WebRequest $uri -OutFile ($LocalPath + ‘\’ + ‘asdk-installer.ps1’)

5. From an elevated PowerShell console, start the C:\AzureStack_Installer\asdk-installer.ps1 script, and then click Prepare Environment.

6. On the Select Cloudbuilder vhdx page of the installer, browse to and select the cloudbuilder.vhdx file that you downloaded and extracted in the previous steps. On this page, you can also, optionally, enable the Add drivers check box if you need to add additional drivers to the development kit host computer. Click Next.

7. On the Optional settings page, provide the local administrator account information for the development kit host computer and then click Next.
If you don’t provide the local administrator credentials in this step, you’ll need direct or KVM access to the host after the computer restarts as part of setting up the development kit.

You can also provide values for the following optional settings:

  • Computername: This option sets the name for the development kit host. The name must comply with FQDN requirements and must be 15 characters or less in length. The default is a random computer name generated by Windows.
  • Static IP configuration: Sets your deployment to use a static IP address. Otherwise, when the installer reboots into the cloudbuilder.vhdx, the network interfaces are configured with DHCP. If you choose to use a static IP configuration, additional options are displayed where you must also:
    • Select a network adapter. Make sure you can connect to the adapter before you click Next.
    • Make sure that the displayed IP address, Gateway, and DNS values are correct and then click Next.

8. Click Next to start the preparation process.

9. When the preparation indicates Completed, click Next.

10. Click Reboot now to boot the development kit host computer into the cloudbuilder.vhdx and continue the deployment process.

Download and extract the Azure Stack Development Kit (ASDK)

Download the ASDK

  1. Before you start the download, make sure that your computer meets the following prerequisites:
    • The computer must have at least 60 GB of free disk space available on four separate, identical logical hard drives in addition to the operating system disk.
    • .NET Framework 4.6 (or a later version) must be installed.
  2. Go to the Get Started page where you can download the Azure Stack Development Kit, provide your details, and then click Submit.
  3. Download and run the Deployment Checker for Azure Stack Development Kit prerequisite checker script. This standalone script goes through the pre-requisites checks done by the setup for Azure Stack Development Kit. It provides a way to confirm you are meeting the hardware and software requirements, before downloading the larger package for Azure Stack Development Kit.
  4. Under Download the software, click Azure Stack Development Kit.

Extract the ASDK

  1. After the download completes, click Run to launch the ASDK self-extractor (AzureStackDevelopmentKit.exe).
  2. Review and accept the displayed license agreement from the License Agreement page of the Self-Extractor Wizard and then click Next.
  3. Review the privacy statement information displayed on the Important Notice page of the Self-Extractor Wizard and then click Next.
  4. Select the location for Azure Stack setup files to be extracted to on the Select Destination Location page of the Self-Extractor Wizard and then click Next. The default location is current folder\Azure Stack Development Kit.
  5. Review the destination location summary on the Ready to Extract page of the Self-Extractor Wizard, and then click Extract to extract the CloudBuilder.vhdx (approximately 28GB) and ThirdPartyLicenses.rtf files. This process takes some time to complete.
  6. Copy or move the CloudBuilder.vhdx file to the root of the C:\ drive (C:\CloudBuilder.vhdx) on the ASDK host computer.

Azure Stack – hardware and Software requirements

Before you deploy the Azure Stack Development Kit (ASDK), make sure your development kit host computer meets the requirements described in this article.


Component Minimum Recommended
Disk drives: Operating System 1 operating system disk with minimum of 200 GB available for system partition (SSD or HDD) 1 OS disk with minimum of 200 GB available for system partition (SSD or HDD)
Disk drives: General development kit data* 4 disks. Each disk provides a minimum of 240 GB of capacity (SSD or HDD). All available disks are used. 4 disks. Each disk provides a minimum of 400 GB of capacity (SSD or HDD). All available disks are used.
Compute: CPU Dual-Socket: 16 Physical Cores (total) Dual-Socket: 20 Physical Cores (total)
Compute: Memory 192 GB RAM 256 GB RAM
Compute: BIOS Hyper-V Enabled (with SLAT support) Hyper-V Enabled (with SLAT support)
Network: NIC Windows Server 2012 R2 Certification. No specialized features required Windows Server 2012 R2 Certification. No specialized features required
HW logo certification Certified for Windows Server 2012 R2 Certified for Windows Server 2016

* You need more than this recommended capacity if you plan on adding many of the marketplace items from Azure.

Data disk drive configuration: All data drives must be of the same type (all SAS, all SATA, or all NVMe) and capacity. If SAS disk drives are used, the disk drives must be attached via a single path (no MPIO, multi-path support is provided).

HBA configuration options

  • (Preferred) Simple HBA
  • RAID HBA – Adapter must be configured in “pass through” mode
  • RAID HBA – Disks should be configured as Single-Disk, RAID-0

Supported bus and media type combinations

  • RAID SSD (If the media type is unspecified/unknown*)
  • NVMe

* RAID controllers without pass-through capability can’t recognize the media type. Such controllers mark both HDD and SSD as Unspecified. In that case, the SSD is used as persistent storage instead of caching devices. Therefore, you can deploy the development kit on those SSDs.

Example HBAs: LSI 9207-8i, LSI-9300-8i, or LSI-9265-8i in pass-through mode

Sample OEM configurations are available.

Operating system

OS Version Windows Server 2016 or later. The operating system version isn’t critical before the deployment starts, as you’ll boot the host computer into the VHD that’s included in the Azure Stack installation. The operating system and all required patches are already integrated into the image. Don’t use any keys to activate any Windows Server instances used in the development kit.

Account requirements

Typically, you deploy the development kit with internet connectivity, where you can connect to Microsoft Azure. In this case, you must configure an Azure Active Directory (Azure AD) account to deploy the development kit.

If your environment is not connected to the internet, or you don’t want to use Azure AD, you can deploy Azure Stack by using Active Directory Federation Services (AD FS). The development kit includes its own AD FS and Active Directory Domain Services instances. If you deploy by using this option, you don’t have to set up accounts ahead of time.



One available port on a switch for the development kit machine.

The development kit machine supports connecting to a switch access port or trunk port. No specialized features are required on the switch. If you are using a trunk port or if you need to configure a VLAN ID, you have to provide the VLAN ID as a deployment parameter.


Do not connect the development kit machine to the following subnets:


These subnets are reserved for the internal networks within the development kit environment.


Only IPv4 is supported. You cannot create IPv6 networks.


Make sure there is a DHCP server available on the network that the NIC connects to. If DHCP is not available, you must prepare an additional static IPv4 network besides the one used by host. You must provide that IP address and gateway as a deployment parameter.

Internet access

Azure Stack requires access to the Internet, either directly or through a transparent proxy. Azure Stack does not support the configuration of a web proxy to enable Internet access. Both the host IP and the new IP assigned to the AzS-BGPNAT01 (by DHCP or static IP) must be able to access Internet. Ports 80 and 443 are used under the and domains.

Move-CsUser : Unable to locate Windows Live ID token from the provided credentials, or fr om Active Directory Federation Services (AD FS) credentials cache.


I am getting below error while trying to move the on-premises lync 2013 user to Skype Online.

O365 Sign in method – Seamless Single Sign-on
ADFS Services – Stopped

ADConnect Sync – OK

Password Write back – Enabled

Move-CsUser -Identity “” -Target -Confirm:$false -Verbose

VERBOSE: CN=MailTest,OU=Test,OU=Users,OU=IT,OU……………..DC=local

WARNING: Moving a user from the current version to an earlier version (or to a service

version) can cause data loss.


Move-CsUser : Unable to locate Windows Live ID token from the provided credentials, or fr

om Active Directory Federation Services (AD FS) credentials cache.

At line:1 char:1

+ Move-CsUser -Identity “” -Target -Co …

+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

+ CategoryInfo          : InvalidOperation: (CN=MailTest,OU=………..DC=local:OCSAD

User) [Move-CsUser], MoveUserException

+ FullyQualifiedErrorId : MoveError,Microsoft.Rtc.Management.AD.Cmdlets.MoveOcsUserC


Move-CsUser : HostedMigration fault: Error=(510), Description=(This user’s tenant is not enabled for shared sip address space.)


In a Lync hybrid deployment, when you try to move users from the on-premises server that is running Lync to Skype for Business Online (formerly Lync Online) in Office 365, you receive the following error message in Skype for Business Online PowerShell:

Move-CsUser : HostedMigration fault: Error=(510), Description=(This user’s tenant is not enabled for shared sip address space.)


Before you try to migrate an on-premises Lync user to Skype for Business Online in Office 365, your Office 365 Skype for Business Online organization must be enabled for Shared Session Initiation Protocol (SIP) Address Space.

Set-CsTenantFederationConfiguration -SharedSipAddressSpace $true


How to connect to Skype for Business Online PowerShell

The first step is to install the Windows PowerShell Module for Skype for Business Online. For information, go to the following Microsoft website:

After you have the Skype for Business Online Connector module installed, open Windows PowerShell, and then run the following commands:

Import-Module LyncOnlineConnector


$cred = Get-Credential


$CSSession = New-CsOnlineSession -Credential $cred


Import-PSSession $CSSession -AllowClobber

For more information about how to connect to Skype for Business Online by using Windows PowerShell, go to the following Microsoft TechNet website:

409 Client Error: Conflict for url: Zone file path record name while importing a zone file to Azure DNS using CLI

Issue: –

You received this error while importing zone file using the CLI method to Azure DNS.

409 Client Error: Conflict for url: Zone file path



There is always a limit of records you can import to the Azure DNS zone. Let say MS set a limit of 2000 records and you try to import a file more than 2000 DNS records.


If you are importing more records than it shows in Azure DNS portal then you will getting this error when during the import, the records count reached the limit. Simply ask Microsoft to increase the records limit for each zone file.

How to to create the service connection point in the forest where computers exist to allow devices sync to Azure

Use below scrip to create a service connection point so that device sync can be enabled for Azure.

$verifiedDomain = “”    # Replace this with any of your verified domain names in Azure AD

$tenantID = “72f988bf-86f1-41af-91ab-2d7cd011db47”    # Replace this with you tenant ID

$configNC = “CN=Configuration,DC=corp,DC=contoso,DC=com”    # Replace this with your AD configuration naming context (use Get-ADRootDSE to get this value)

$de = New-Object System.DirectoryServices.DirectoryEntry

$de.Path = “LDAP://CN=Services,” + $configNC

$deDRC = $de.Children.Add(“CN=Device Registration Configuration”, “container”)


$deSCP = $deDRC.Children.Add(“CN=62a0ff2e-97b9-4513-943f-0d221bd30080”, “serviceConnectionPoint”)

$deSCP.Properties[“keywords”].Add(“azureADName:” + $verifiedDomain)

$deSCP.Properties[“keywords”].Add(“azureADId:” + $tenantID)


Error: No-Start-Connection in AD Connect Export Sync

Getting this error while exporting the objects in AD Connect. You will also see the below result in Sync service.



Resolution:- To resolve this issue go to Connectors, go to the properties of the connector giving the above error, select “Connect to Active Directory Forest” option and provide the credentials to connect. Once this is successful then sync will start again.