daily pastebin goal
37%
SHARE
TWEET

UAG App Set AuthList

a guest Apr 6th, 2013 38 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. $ErrorActionPreference = "Stop"
  2.  
  3. $SecureString = ConvertTo-SecureString -String "\`d.T.~Vb/{41BAA34C-B0E6-41D0-8F2B-CB3901AAF6A8}\`d.T.~Vb/" -AsPlainText -Force
  4. $Creds = New-Object system.Management.Automation.PSCredential("domain\os2uag_connector", $SecureString)
  5. $SessionOpt = New-PSSessionOption -OperationTimeout (30*60*1000)
  6. $Session = New-PSSession -ComputerName "server-uag01" -Credential $Creds -SessionOption $SessionOpt
  7.  
  8. Invoke-Command -Session $Session -ScriptBlock {Import-Module "c:\Scripts\UAGFunctions.ps1"}
  9. Invoke-Command -Session $Session -ScriptBlock {Set-UAGConfig -BackupDir "c:\EGFBackups" -UAGActivatorPath "c:\Scripts\UAGActivate.exe" }
  10.  
  11. $ScriptBlock = {
  12.         #Имя приложения, отображаемое на портале
  13.         $AppName = "\`d.T.~Ed/{6F6D86D8-3492-4328-B606-7B983F64826F}.VM Name\`d.T.~Ed/"
  14.         #DN пользователя в AD (я использую Active Directory Repository, для других репозиториев эти атрибуты могут отличаться)
  15.         $UserDN = "\`d.T.~Ed/{D6BCE08A-3CA4-4480-9482-4635B5083573}.Distinguished Name\`d.T.~Ed/"
  16.         $UserCanArr = @($UserDN.split(",") | where {$_ -notlike "dc=*"} | foreach {$_.Substring(3)})
  17.         $UserCanArr = @(for($i=($UserCanArr.Count-1);$i -ge 0; $i--) { $UserCanArr[$i] })
  18.         #User Canonical String без домена (это тоже особенность Active Directory Repository в UAG)
  19.         $UserCanStr = [string]::Join('\', $UserCanArr)
  20.         #Получаю список авторизации для приложения
  21.         $authlist = Get-UAGAuth -AppName $AppName
  22.  
  23.         $Создаю новый объект
  24.         $userObj = New-Object System.Object
  25.         #DN
  26.         $userObj | Add-Member -Name ID -MemberType NoteProperty -Value $UserDN
  27.         #Тип - 1 (пользователь)
  28.         $userObj | Add-Member -Name IsUser -MemberType NoteProperty -Value "1"
  29.         #Это имя репозитория (не имя домена, а именно репозитория аутентификации)
  30.         $userObj | Add-Member -Name Repository -MemberType NoteProperty -Value "domain.com"
  31.         #User Canonical name
  32.         $userObj | Add-Member -Name UserName -MemberType NoteProperty -Value $UserCanStr
  33.         #Разрешить - 1 (для блокирования видимо 0)
  34.         $userObj | Add-Member -Name Allow -MemberType NoteProperty -Value "1"
  35.         #добавляю к исходному список (hash-таблица, в которой в качестве ключа используется DN) нового пользователя
  36.         $authlist[$userObj.ID] = $userObj
  37.  
  38.         #Устанавливаю список авторизации для приложения
  39.         Set-UAGAuth -AppName $AppName -UserArray $authlist
  40. }
  41.  
  42. #Выполняю скрипт-блок, подготовленный ранее
  43. Invoke-Command -Session $Session -ScriptBlock $ScriptBlock
  44. #Здесь можно активировать, но в моем случае активация конфигурации происходит чуть позже
  45. #Invoke-Command -Session $Session -ScriptBlock { Activate-UAGConfig }
  46.  
  47. $Session | Remove-PSSession
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top