Advertisement
Guest User

Untitled

a guest
Jul 30th, 2015
206
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.75 KB | None | 0 0
  1. #Auth to your azure account
  2. Add-AzureAccount
  3.  
  4. Import-Module 'C:\Program Files (x86)\code4ward.net\Royal TS V3\RoyalDocument.PowerShell.dll' -Force
  5.  
  6. function CreateRoyalFolderHierarchy()
  7. {
  8. param(
  9. [string]$folderStructure,
  10. [string]$splitter,
  11. $Folder
  12. )
  13. $currentFolder = $Folder
  14.  
  15. $folderStructure -split $splitter | %{
  16. $folder = $_
  17. $existingFolder = Get-RoyalObject -Folder $currentFolder -Name $folder -Type RoyalFolder
  18. if($existingFolder)
  19. {
  20. Write-Verbose "Folder $folder already exists - using it"
  21. $currentFolder = $existingFolder
  22. }
  23. else
  24. {
  25. Write-Verbose "Folder $folder does not exist - creating it"
  26. $newFolder= New-RoyalObject -Folder $currentFolder -Name $folder -Type RoyalFolder
  27. $currentFolder = $newFolder
  28. }
  29. }
  30. return $currentFolder
  31. }
  32.  
  33.  
  34.  
  35. $fileName = "AzureEnv.rtsz"
  36. $store = New-RoyalStore -UserName ((Get-Item Env:\USERNAME).Value)
  37. $doc = New-RoyalDocument -Store $store -Name "Azure Environment" -FileName $fileName
  38.  
  39. foreach($activeSubscription in (Get-AzureSubscription | Sort SubscriptionName)) {
  40.  
  41. $subscriptionName = $activeSubscription.SubscriptionName
  42. Write-Host "Importing Subscription: $subscriptionName - $($activeSubscription.SubscriptionId)"
  43.  
  44. Select-AzureSubscription -SubscriptionId $activeSubscription.SubscriptionId
  45. Set-AzureSubscription -SubscriptionId $activeSubscription.SubscriptionId
  46.  
  47. Get-AzureVM | Sort Name | ForEach-Object {
  48.  
  49. $vm = $_
  50.  
  51. $rdpEndpoint = $vm | Get-AzureEndpoint | Where LocalPort -eq 3389
  52. $sshEndpoint = $vm | Get-AzureEndpoint | Where LocalPort -eq 22
  53.  
  54. if($rdpEndpoint -ne $null) {
  55. $uri = "$($vm.ServiceName).cloudapp.net:$($rdpEndpoint.Port)";
  56.  
  57. Write-Host "Importing Windows VM - $($vm.Name) - $uri"
  58.  
  59. $lastFolder = CreateRoyalFolderHierarchy -folderStructure "Connections/$subscriptionName/$($vm.ServiceName)" -Splitter "\/" -Folder $doc
  60.  
  61. $newConnection = New-RoyalObject -Folder $lastFolder -Type RoyalRDSConnection -Name $vm.Name
  62. $newConnection.URI = $uri
  63. }
  64. elseif ($sshEndpoint -ne $null) {
  65. $uri = "$($vm.ServiceName).cloudapp.net:$($sshEndpoint.Port)";
  66.  
  67. Write-Host "Importing Linux VM - $($vm.Name) - $uri"
  68.  
  69. $lastFolder = CreateRoyalFolderHierarchy -folderStructure "Connections/$subscriptionName/$($vm.ServiceName)" -Splitter "\/" -Folder $doc
  70.  
  71. $newConnection = New-RoyalObject -Folder $lastFolder -Type RoyalSSHConnection -Name $vm.Name
  72. $newConnection.URI = $uri
  73. }
  74. else {
  75. Write-Host "Skipping $($vm.Name), no RDP or SSH endpoints"
  76. }
  77. }
  78.  
  79. # Print some whitespace between subscriptions
  80. Write-Host
  81. Write-Host
  82. Write-Host
  83. }
  84. Out-RoyalDocument -Document $doc -FileName $fileName
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement