As I mentioned, I
had created my first VM in my Imperfect Lab with the Azure Portal. But I wanted to be able to do this using
PowerShell from my workstation To recap my "physical" set up so far:
- VNETs
- ImperfectNet
- AnotherNet
- Storage Accounts in Different Regions
- imperfectstore (West US)
- anotherstore (East US)
- Cloud Services
- imperfectcore
- anothercore
(I don't think I've mentioned it before, but if you are just starting out and need to get your ISE connected to you Azure account, just run Add-AzureAccount. You'll get prompted for your credentials.)
To start, I'm just
going to create an additional server in the same network as my current domain
controller. Then I'll have a server I
can promote to DC later, or use for another service.
If you have multiple
subscriptions and/or multiple storage accounts set up, like I do, you need to
make sure Azure knows where you want to put things. My subscription happens to be the Visual Studio one.
Set-AzureSubscription
-SubscriptionName "Visual Studio Ultimate with MSDN" -CurrentStorageAccount "imperfectstore"
Then you'll want to
configure the basic variables for your VM. In this case, this is the adminstrator name and password, as well as the name of
the Windows Server 2012 R2 image available at the time of this exercise. You'll
want to make sure to get the current name of whatever OS you want to install.
$un =
"adminname"
$pwd = "secretpassword"
$image = "a699494373c04fc0bc8f2bb1389d6106__Windows-Server-2012-R2-201411.01-en.us-127GB.vhd"
Pick up that VM
image the full list with: Get-AzureVMImage | Select ImageName
Then, configure a few more variables using the
New-AzureVMConfig. In this case, I'm
settting the server name and instance size, pulling in the username and
password variable I set with the lines above and specifying the pre-existing subnet I want to use.
$newVM =
New-AzureVMConfig -Name "Server2" -InstanceSize "Small"
-Image $image |
Add-AzureProvisioningConfig -Windows
-AdminUserName $un -Password $pwd |
Set-AzureSubnet -SubnetNames
"FirstSubnet"
Finally, kick off
the VM creation with one of the following options:
- Into an Existing Cloud Service: New-AzureVM -VMs $newVM -ServiceName "imperfectcore"
- Into an New Cloud Service: New-AzureVM -VMs $newVM -ServiceName "newcloudservice" -Location "West US" -VNetName "imperfectnet"
Give this all a few minutes to cook and your new VM will be deployed. I haven't joined it to the domain yet... baby steps here, baby steps! I like to make sure one thing works at time, so it's easier to troubleshoot when I have issues. That's what a lab is for, right?
Update (12/26/14): For easy access to these code snippets, you can find them here.
Update (12/26/14): For easy access to these code snippets, you can find them here.
No comments:
Post a Comment