Tools for developing applications for Windows Azure
C# Other
Clone or download
Pull request Compare This branch is 125 commits ahead of tg-msft:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

Windows Azure PowerShell

This repo contains a set of PowerShell commandlets for developers and administrators to deploy and manage Windows Azure applications. It includes the following:

  • Cmdlets for developers to deploy both node.js and PHP applications.
  • Cmdlets for IT Administrators to manage their Windows Azure environments.
  • For documentation on how to build and deploy applications to Windows Azure please see the Windows Azure Developer Center.

    For comprehensive documentation on the developer cmdlets see here.

    For comprehensive documentation on the full set of Windows Azure cmdlets see Windows Azure Management Center.

    Developer Cmdlets


    • help node-dev - List node.js development cmdlets
    • help php-dev - List PHP development cmdlets

    Configure machines for publishing to the cloud.

    • Get-AzurePublishSettingsFile - Downloads a Windows Azure publish profile to your local computer
    • Import-AzurePublishSettingsFile - Imports the Publish Profile to enable publishing to Azure and managing hosted services

    Create services and roles that are preconfigured to use Node.js.

    • New-AzureServiceProject - Creates scaffolding for a new service
    • Add-AzureNodeWebRole - Creates scaffolding for a Node.js application using web role which will be hosted in the cloud via IIS
    • Add-AzureNodeWorkerRole - Creates scaffolding for a Node.js application using worker role which will be hosted in the cloud via node.exe
    • Add-AzurePHPWebRole - Creates scaffolding for a PHP application using web role which will be hosted in the cloud via IIS
    • Add-AzurePHPWorkerRole - Creates scaffolding for a PHP application which will be hosted in the cloud via php.exe

    Debug your applications in the local compute and storage emulators

    • Start-AzureEmulator - Starts both the compute and storage emulators and executes the service
    • Stop-AzureEmulator - Stops the compute emulator

    Publish your service to the cloud and configure publish settings

    • Publish-AzureServiceProject - Publish the current service to the cloud
    • Set-AzureServiceProject - Configure service name, deployment location and storage account to use for publishing the service to the cloud
    • Set-AzureServiceProjectRole - Configure role instance count

    Manage your hosted services

    • Start-AzureService - Starts a hosted service.
    • Stop-AzureService - Stops a hosted service
    • Remove-AzureService - Removes a hosted service
    • Get-AzureStorageAccount - Displays storage account details for the current Azure subscription.
    • Get-AzureStorageKey - Displays storage account keys for the specified storage account name.
    • Enable-AzureServiceProjectRemoteDesktop - Enables remote desktop access to a hosted service
    • Disable-AzureServiceProjectRemoteDesktop - Disables remote desktop access to a hosted service

    Getting Started

    Download Source Code

    To get the source code of the SDK via git just type:

    git clone
    cd ./azure-sdk-tools

    General Install Prerequisites

    Node.js Prerequisites (developer only)

    PHP Prerequisites (developer only)

    Configure PowerShell to automatically load commandlets

    1. Create a folder inside your user's Documents folder and name it WindowsPowerShell
    2. Inside that folder create a file called Microsoft.PowerShell_profile.ps1
    3. Edit the file in a text editor and add the following contents
    4. After you build the commandlets project, you can then open a PowerShell window and you should be able to use the commandlets. Please note that if you want to rebuild the project, you have close the PowerShell window, and then reopen it.

    Quick start

    1. First, create an Azure hosted service called HelloWorld by typing
      New-AzureServiceProject HelloWorld
    2. Inside the HelloWorld folder, add a new Web Role by typing
      Add-AzureNodeWebRole or Add-AzurePHPWebRole
    3. Test out the application in the local emulator by typing
      Start-AzureEmulator -Launch
    4. You are now ready to publish to the cloud service. Go ahead and register for a Windows Azure account and make sure you have your credentials handy.
    5. Get your account's publish settings and save them to a file
    6. Now import the settings
      Import-AzurePublishSettingsFile PATH_TO_PUBLISH_SETTINGS_FILE
    7. You are now ready to publish to the cloud. Make sure you specify a unique name for your application to ensure there aren't any conflicts during the publish process
      Publish-AzureServiceProject -ServiceName UNIQUE_NAME -Launch

    Need Help?

    Be sure to check out the Windows Azure Developer Forums on Stack Overflow if you have trouble with the provided code.

    Contribute Code or Provide Feedback

    If you would like to become an active contributor to this project please follow the instructions provided in Windows Azure Projects Contribution Guidelines.

    If you encounter any bugs with the library please file an issue in the Issues section of the project.

    Learn More