Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- $ErrorActionPreference = "Stop"
- Get-PSSession | Remove-PSSession
- #Пароль для учетной записи, которая подключается удаленно к UAG
- $SecureString = ConvertTo-SecureString -String "\`d.T.~Vb/{41BAA34C-B0E6-41D0-8F2B-CB3901AAF6A8}\`d.T.~Vb/" -AsPlainText -Force
- $Creds = New-Object system.Management.Automation.PSCredential("domain\os2uag_connector", $SecureString)
- $SessionOpt = New-PSSessionOption -OperationTimeout (30*60*1000)
- #Подключаемся к UAG через PSRemoting
- $Session = New-PSSession -ComputerName "server-uag01" -Credential $Creds -SessionOption $SessionOpt
- #Импортируем модуль с функциями
- Invoke-Command -Session $Session -ScriptBlock {Import-Module "c:\Scripts\UAGFunctions.ps1"}
- #Устанавливаем глобальные переменные $BackupDir и UAGActivator
- Invoke-Command -Session $Session -ScriptBlock {Set-UAGConfig -BackupDir "c:\EGFBackups" -UAGActivatorPath "c:\Scripts\UAGActivate.exe" }
- #Бэкапим конфиг
- Invoke-Command -Session $Session -ScriptBlock {Backup-UAGConfig}
- $ScriptBlock = {
- #Заполняем входную информацию для публикации
- $VMID = "\`d.T.~Ed/{6F6D86D8-3492-4328-B606-7B983F64826F}.VM ID\`d.T.~Ed/"
- $AppName = "\`d.T.~Ed/{6F6D86D8-3492-4328-B606-7B983F64826F}.VM Name\`d.T.~Ed/"
- $ProjectID = [int]("\`d.T.~Ed/{6F6D86D8-3492-4328-B606-7B983F64826F}.Cloud\`d.T.~Ed/".Split("_")[0].Substring(1))
- $IPAddress = "\`d.T.~Ed/{90F45712-817A-4429-A5F0-668F26467CFD}.{08BCA15A-22A5-4770-81E7-1D41E21D1CDA}\`d.T.~Ed/"
- #Смотрим опубликовано ли уже приложение по имени
- $App = Get-UAGApp -AppName $AppName
- if ($App){
- if ($App.VMID -ne ($VMID.ToString().ToUpper().Replace("-",""))){
- #Если приложение (ВМ) с таким именем опубликовано и VMID различаются, то скорее всего старую ВМ удалил и создали с тем же именем
- #в этом случае отключаем исходное
- Disable-UAGApp -AppName $AppName
- #включаем ярлык, заполняем атрибутами
- Enable-UAGApp -AppName $AppName -AppGUID $VMID -ProjectID $ProjectID -IpAddr $IPAddress
- }
- else{
- #обновляем информацию о приложении
- Set-UAGApp -AppName $AppName -IpAddr $IPAddress -ProjectID $ProjectID
- }
- }
- else{
- $App = Get-UAGApp -VMID $VMID
- if (-not $App){
- #Включаем Unused приложение
- Enable-UAGApp -AppName $AppName -AppGUID $VMID -ProjectID $ProjectID -IpAddr $IPAddress
- }
- else {
- #обновляем информацию о приложении
- Set-UAGApp -AppName ($App.AppPortalName) -AppGUID $VMID -IpAddr $IPAddress -NewAppName $AppName -ProjectID $ProjectID
- }
- }
- }
- #выполняем скрипт-блок, сформированный ранее
- Invoke-Command -Session $Session -ScriptBlock $ScriptBlock
- $Session | Remove-PSSession
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement