This repo contains a set of PowerShell cmddlets 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 How to use Windows Azure PowerShell. For comprehensive documentation on the full set of Windows Azure cmdlets see Windows Azure Management Center.
- Account
- Get and import Azure publish settings
- Subscription
- Manage Azure subscription
- Manage AffinityGroup
- Website
- Manage website, such as CRUD, start and stop.
- Save log
- Cloud service
- Create scaffolding for cloud service and role. Role support includes Node.js, PHP, Django and Cache.
- Manage cloud service and role, such as CRUD, start and stop.
- Enable/Disable remote desktop.
- Start/Stop Azure emulator.
- Manage certificate.
- Storage
- Manage storage account and access key.
- SQL Azure
- CRUD support for database server, database and firewall rule
- Service Bus
- Manage service bus namespaces.
- VM
- Manage VM, such as CRUD, import/export and start/stop/restart.
- Manage VM image, such as CRUD.
- Manage disk, such as CRUD.
- Manage VM endpoint, such as CRUD.
- Get/Set VM sub net.
- Manage certificate and SSH key.
- Deployment
- Manage deployment, such as CRUD, move, upgrade and restore.
- Get/Create DNS settings of a deployment.
- VNet
- Manage virtual network config, connection and gateway.
- Utility
- Test whether a name is avaiable. Currently support cloud service name, storage account name and service bus namespace name.
- Get the list of geo locations supported by Azure.
- Get the list of OS supported by Azure.
- Direct you to Azure portal.
For detail descriptions and examples of the cmdlets, type
help azure
to get all the cmdlets.help node-dev
to get all Node.js development related cmdlets.help php-dev
to get all PHP development related cmdlets.get-help <cmdlet name>
to get the details of a specific cmdlet.
- Install Microsoft Web Platform Installer.
- Open Microsoft Web Platform Installer and search for Windows Azure PowerShell.
- Install.
To get the source code of the SDK via git just type:
git clone https://github.com/WindowsAzure/azure-sdk-tools.git<br/>cd ./azure-sdk-tools
- Windows Azure SDK
- Windows PowerShell 2.0
- WiX (Only needed if you want to build the setup project)
-
Create a folder inside your user's Documents folder and name it WindowsPowerShell
-
Inside that folder create a file called Microsoft.PowerShell_profile.ps1
-
Edit the file in a text editor and add the following contents
Import-Module PATH_TO_AZURE-SDK-TOOLS_CLONE\Package\Release\Azure.psd1
-
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.
-
Create an Azure hosted service called HelloWorld by typing
New-AzureServiceProject HelloWorld
-
Inside the HelloWorld folder, add a new Web Role by typing
Add-AzureNodeWebRole
orAdd-AzurePHPWebRole
-
Test out the application in the local emulator by typing
Start-AzureEmulator -Launch
-
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.
-
Get your account's publish settings and save them to a file by typing
Get-AzurePublishSettingsFile
-
Now import the settings
Import-AzurePublishSettingsFile PATH_TO_PUBLISH_SETTINGS_FILE
-
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. Then type
Publish-AzureServiceProject -ServiceName UNIQUE_NAME -Launch
Be sure to check out the Windows Azure Developer Forums on Stack Overflow if you have trouble with the provided code.
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.