How to create and apply Network Security Group/Rules Using PowerShell in Azure

What is NSG in Azure?
NSG is the region specific and can be used only within the region specified at creation time.



You can create network security group (NSG) using the PowerShell script. Here are some steps to create and apply NSG

1. Create a new NSG. Since I am in New Zealand and closet data centre for me is "Australia East" so i will use this in example
New-AzureNetworkSecurityGroup -Name "WFE_NSG" -Location " Australia East" -Label "WebFrontEnd NSG in Australia East"

2. Apply the rule to the NSG. Rule will allows all traffic from the Internet
Get-AzureNetworkSecurityGroup -Name "WFE_NSG" | Set-AzureNetworkSecurityRule -Name WEB -Type Inbound -Priority 100 -Action Allow -SourceAddressPrefix 'INTERNET' -SourcePortRange '*' -DestinationAddressPrefix '*' -DestinationPortRange '*' -Protocol TCP

3. Enabling inbound SQL communication
Get-AzureNetworkSecurityGroup -Name "WFE_NSG" | Set-AzureNetworkSecurityRule -Name SQL -Type Inbound -Priority 110 -Action Allow -SourceAddressPrefix '10.0.1.0/24' -SourcePortRange '*' -DestinationAddressPrefix '10.0.2.0/24' -DestinationPortRange '1433' -Protocol TCP

4. Applying Network Security Group (NSG)
Get-AzureVM -ServiceName $service -Name $VM | Set-AzureNetworkSecurityGroupConfig -NetworkSecurityGroupName "WFE_NSG"

5. Apply NSG to a virtual subnet
Get-AzureNetworkSecurityGroup -Name "WFE_NSG" | Set-AzureNetworkSecurityGroupToSubnet -VirtualNetworkName 'MyTestVNet' -SubnetName 'WFE_Subnet'
Get-AzureNetworkSecurityGroup -Name "WFE_NSG" | Set-AzureNetworkSecurityRule -Name RDPIN -Type Inbound -Priority 101 -Action Allow -SourceAddressPrefix 'INTERNET' -SourcePortRange '*' -DestinationAddressPrefix '*' -DestinationPortRange '3389' -Protocol '*'

Awesome MS Ignite 2016 - Auckland New Zealand

Thank you Microsoft for rocking MS Ignite 2016 in New Zealand. It was awesome experience with tech super stars in SkyCity Auckland. I really enjoyed technical sessions most specifically New in OMS, Azure IoT, DevOps, HoloLens last but not least Azure Security. 




Copying Objects (Blob) in cross Azure Subscriptions

In Azure copying objects from one subscription to another subscription OR within same subscription is very easy without any complexity. In this copy you don’t need to provide subscription ID or address etc.

To access storage accounts in Azure a key is required. Key you can get from Azure portal (As shown below in properties of Azure Storage Account). 







DevOps - ALM Training

Daniel Larsen from Microsoft gave us 4 days session on DevOps and Application Life Cycle Management training. It was fantastic to have one to one session with him. We learned ALM cycle.




Azure Automation - Automate your Development VMs


Microsoft is offering more than 200 cloud services. Azure Automation is very powerful service in Microsoft Cloud to automate other services.
For example Azure Automation can help in order to automate


  • Auto space provisioning/ Backup Restore space
  • VM’s availability in specific hours (On Prem/Cloud)
  • Notify users of underutilized VMs and perform remediation
  • Alert on a VM then turn on tracing, collect logs, upload to Azure Storage and make available in Visual Studio for troubleshooting
  • Deploy a new service to Azure and configure the end points for CPU and Memory alerts


There are many stuff you can automate but in below i will automate on scenario

Scenario: Azure Dev VM's required only in office hours (9:00 AM - 5:00 PM). That automation will save your VM consumption time significantly. You don't need to Start/Stop manually VM's daily. Here is step by step guide


1. Open  Azure Portal with URL https://portal.azure.com















2. Click on more services






































3. Search with name "Automation" you will found (Automation Account)



4. Click "Add" to create new "Automation Account"


5. Provide necessary details like name, Subscription, Resource Group, Location etc as in example its "TariqAzureAutomationAccount"


6. After you press create button you can see bell sign for status either created or not yet
7. In below image Automation Account created


8. Click on created automation account for details and here you can see "RunBooks", Click on "RunBooks"


9. This will redirect to page shown below to create new "RunBook"

10. Provide details like Name, Type as shown below



11. After some seconds you can see "RunBook" created

12. Click on newly created RunBook as in my example is "MyTestRunBook", click Edit button 

13. This is called Canvas where you can write code, here i pasted Connection String. This will handle authentication with Automation Run As account

 $Conn = Get-AutomationConnection -Name AzureRunAsConnection 
 Add-AzureRMAccount -ServicePrincipal -Tenant $Conn.TenantID `
 -ApplicationId $Conn.ApplicationID -CertificateThumbprint $Conn.CertificateThumbprint


14. On left side you can find PowerShell commands available for further actions

15. In my example we want to start Azure Development VM, so selected "Start VM" command by doing right click and add to canvas

16. This will looks like this




17. Put your VM name and Resource Group Name as shown below








18. After save, click on start



19. After some moments this will show you status like below 


20. Now save and click Publish












21. Once you click Publish option will give you alert










22. Window will looks like below and you can set schedule for your job














23. Click on Schedule in order to create new schedule



24. In below example name of schedule is "StartDailyVMs" and start time is 9:00 AM






25. You can see schedule has been created and "Status" is On












26. Schedule is already done and job will be executed next day morning at 9:00AM but here you run job forcefully also





 27. After job i can see status of my existing virtual machine "TestVM1" is changed from "Stopped" to "Starting"


Speaking in [NZ Microsoft Cloud & Infrastructure User Group] at Microsoft New Zealand

It was really nice to speak in NZ Microsoft Cloud & Infrastructure User Group.

Following was agenda:

5:00pm - Networking over pizza and beverages
5:30pm - Welcome
5:40pm - Nick Westbrook: The News / Best of Ignite USA
6:00pm - Tariq Younas: Using Azure Automation in an Enterprise Environment
6:30pm - Perrin Rowland: Intueri Education's Journey from Moodle to Office 365
7:00pm - Close







Australian airline (Qantas) uses cloud services - Microsoft Azure

Since the world is moving to cloud airlines are also not behind. Microsoft Cloud - Azure is getting popularity in airline industry as well. They are using Enterprise Mobility Suite, Microsoft Azure, Microsoft Intune, Office 365 and Yammer to build the solution.
To read full story click here on Microsoft's customers site