SHARE
TWEET

Enable UAG Application

a guest Apr 6th, 2013 41 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. $ErrorActionPreference = "Stop"
  2.  
  3. Get-PSSession | Remove-PSSession
  4.  
  5. #Пароль для учетной записи, которая подключается удаленно к UAG
  6. $SecureString = ConvertTo-SecureString -String "\`d.T.~Vb/{41BAA34C-B0E6-41D0-8F2B-CB3901AAF6A8}\`d.T.~Vb/" -AsPlainText -Force
  7. $Creds = New-Object system.Management.Automation.PSCredential("domain\os2uag_connector", $SecureString)
  8. $SessionOpt = New-PSSessionOption -OperationTimeout (30*60*1000)
  9.  
  10. #Подключаемся к UAG через PSRemoting
  11. $Session = New-PSSession -ComputerName "server-uag01" -Credential $Creds -SessionOption $SessionOpt
  12.  
  13. #Импортируем модуль с функциями
  14. Invoke-Command -Session $Session -ScriptBlock {Import-Module "c:\Scripts\UAGFunctions.ps1"}
  15. #Устанавливаем глобальные переменные $BackupDir и UAGActivator
  16. Invoke-Command -Session $Session -ScriptBlock {Set-UAGConfig -BackupDir "c:\EGFBackups" -UAGActivatorPath "c:\Scripts\UAGActivate.exe" }
  17. #Бэкапим конфиг
  18. Invoke-Command -Session $Session -ScriptBlock {Backup-UAGConfig}
  19.  
  20. $ScriptBlock = {
  21.         #Заполняем входную информацию для публикации
  22.         $VMID = "\`d.T.~Ed/{6F6D86D8-3492-4328-B606-7B983F64826F}.VM ID\`d.T.~Ed/"
  23.         $AppName = "\`d.T.~Ed/{6F6D86D8-3492-4328-B606-7B983F64826F}.VM Name\`d.T.~Ed/"
  24.         $ProjectID = [int]("\`d.T.~Ed/{6F6D86D8-3492-4328-B606-7B983F64826F}.Cloud\`d.T.~Ed/".Split("_")[0].Substring(1))
  25.         $IPAddress = "\`d.T.~Ed/{90F45712-817A-4429-A5F0-668F26467CFD}.{08BCA15A-22A5-4770-81E7-1D41E21D1CDA}\`d.T.~Ed/"
  26.        
  27.         #Смотрим опубликовано ли уже приложение по имени
  28.         $App = Get-UAGApp -AppName $AppName
  29.         if ($App){
  30.                 if ($App.VMID -ne ($VMID.ToString().ToUpper().Replace("-",""))){
  31.                         #Если приложение (ВМ) с таким именем опубликовано и VMID различаются, то скорее всего старую ВМ удалил и создали с тем же именем
  32.                         #в этом случае отключаем исходное
  33.                         Disable-UAGApp -AppName $AppName
  34.                         #включаем ярлык, заполняем атрибутами
  35.                         Enable-UAGApp -AppName $AppName -AppGUID $VMID -ProjectID $ProjectID -IpAddr $IPAddress
  36.                 }
  37.                 else{
  38.                         #обновляем информацию о приложении
  39.                         Set-UAGApp -AppName $AppName -IpAddr $IPAddress -ProjectID $ProjectID
  40.                 }
  41.         }
  42.         else{
  43.                 $App = Get-UAGApp -VMID $VMID
  44.                 if (-not $App){
  45.                         #Включаем Unused приложение
  46.                         Enable-UAGApp -AppName $AppName -AppGUID $VMID -ProjectID $ProjectID -IpAddr $IPAddress
  47.                 }
  48.                 else {
  49.                         #обновляем информацию о приложении
  50.                         Set-UAGApp -AppName ($App.AppPortalName) -AppGUID $VMID -IpAddr $IPAddress -NewAppName $AppName -ProjectID $ProjectID
  51.                 }
  52.         }
  53. }
  54. #выполняем скрипт-блок, сформированный ранее
  55. Invoke-Command -Session $Session -ScriptBlock $ScriptBlock
  56.  
  57. $Session | Remove-PSSession
RAW Paste Data
Pastebin PRO Summer Special!
Get 40% OFF on Pastebin PRO accounts!
Top