Registrering/avregistrering av ThinApps m/PowerShell

Hvordan kan du håndtere registrering/avregistrering av ThinApps på sluttbrukers VDI ved hjelp av PowerShell?

  • Detaljer om ThinApp http://www.vmware.com/products/thinapp
  • PowerShell scriptet som er utviklet til dette formålet kan lastes ned: HER
  • Scriptet krever mindre tilpasninger til ditt miljø, dette er beskrevet i selve scriptet.
  • Script og metode beskrevet i dette innlegget er fra en VMWare View VDI-løsning som benytter floating assignment pools, uten tredjepart Roaming Profile verktøy. Operativsystem er Windows 8.1 som ikke støtter VMware View sin egen løsning for brukerprofiler. (Dette kommer først i VMWare View 6)

Bakgrunn:

Det eksisterer ikke noe sentralt management for ThinApps i versjon 5.x hvor man kan tildele / fjerne applikasjoner dynamisk til maskiner/brukere. En Thinapp består av flate filer på et nettverksområde som brukere aksesserer. Applikasjonen installeres ikke i tradisjonell forstand på klienten.

For eksempel kan applikasjonen «Firefox» plasseres på nettverkslokasjonen:

  • \filserverthinappsfirefoxfirefox.exe

Brukere starter da nevnte EXE-fil når de ønsker å benytte applikasjonen. Applikasjonen streames da til brukers VDI.

Problem:

Hvordan skal man da kunne håndtere tildeling av disse applikasjonene til brukere som skal ha de, uten at brukerne selv må gå inn og starte de manuelt fra aktuelt nettverksområde?

Løsning:

En ThinApp kan registreres på sluttbrukers VDI, slik at den fremstår som installert. På denne måten kan man også enkelt etablere snarveier for applikasjonen slik at sluttbruker slipper å navigere gjennom et nettverksområde for å finne sine(e) applikasjon(er).

Registrering av ThinApps gjennomføres med verktøyet thinreg.exe som er en del av ThinApp.

Slik registrerer man en ThinApp:

  • thinreg.exe /Q \filserverthinappsfirefoxfirefox.exe

Slik avregistrerer man en ThinApp:

  • thinreg.exe /Q /U \filserverthinappsfirefoxfirefox.exe

Når man etablerer en ThinApp har man mulighet til å spesifisere hvem som skal få lov til å starte den opp. Dette gjør man i parameters.ini filen for hver enkelt pakke. Her har man mulighet til å spesifisere en gruppe fra Active Directory. Dette muliggjør altså rettighetsstyring, inne i selve pakken.

  • Se detaljer for bruk av parameters.ini HER.
  • Se ThinApp 5.0 Users Guide HER.

Hvis en bruker forsøker å starte en applikasjon vedkommende ikke har rettigheter til, vil en melding presenteres på skjermen til bruker som beskriver dette. Meldingen kan man selv definere når man lager ThinApp pakken.

permission_denied_thinapp

Det som er ønsket oppnådd med dette logon-scriptet er følgende.

Registrerte applikasjoner

Gruppemedlemskap (AD)

Handling

A A thinreg.exe /Q
B thinreg.exe /Q /U
C C thinreg.exe /Q

For å oppnå automatikk i disse ønskede handligene, kreves det at man etablerer en navnestandard for de involverte komponenter, som scriptet kan forholde seg til. Eksempel på en slik navnestandard kan være som følger.

Applikasjonsgruppe Katalognavn ThinApp Inventory Name
APP_THN_[Applikasjon] [Applikasjon] [Applikasjon]

Eksempler:

Applikasjonsgruppe Katalognavn ThinApp Inventory Name
APP_THN_Firefox Firefox Firefox
APP_THN_Office2013 Office2013 Office2013

Dette medfører at registeroppføringene til hvert enkelt applikasjon blir seende noe slik ut.

ThinApp registrerer applikasjonen med [Applikasjon]_[hex(8)] i brukers registry-hive.

HKCU:SoftwareThinstallThinregFirefox_672536bc
HKCU:SoftwareThinstallThinregOffice2013_362781ab

På denne måten ivaretar vi en helhet i applikasjonsnavnet i strukturen, både i Thinapp-regimet og i Active Directory. En slik tilnærming er nødvendig for å kunne automatisere prosessen med å tildele/fjerne applikasjoner.

Katalogstrukturen for lagring av kildefilene til ThinApps kan skisseres på følgende måte:

thinapp_katalogstruktur

 

Logonscriptets handlinger er som følger:

logon_script_handlinger

I Windows 8.1 kan man også automatisk etablere en snarvei for applikasjoner på Start-Skjermen til bruker.

Dette gjøres via Group Policy innstillingen «Pin apps to Start when installed» (Administrative Templates / Start Menu and Task bar / Pin Apps to Start when Installed)

Bruk av denne innstillingen har noen forbehold:

Overnevnte medfører at GPO-en må populeres med App-ID-er i forkant av at applikasjonen tilgjengeliggjøres for sluttbruker.

Muligheten til å skrive kode for å «pinne» snarveier til Start-Skjermen er fjernet i Windows 8.1 (dette var mulig i Windows 8). Derfor er det ikke mulig å gjøre dette med PowerShell.

Følgende oppnås med beskrevet fremgangsmåte og script.

  • Applikasjoner registreres automatisk på alle VDI-er bruker logger inn på.
  • Applikasjoner avregistreres automatisk hvis bruker ikke lengre skal ha de tildelt.
  • Applikasjonen presenteres på Start-Skjermen til bruker.
  • Bruker opplever på denne måten et konsistent desktop-miljø, på tross av at bruker tildeles en ny VDI for hver pålogging.

Legg igjen en kommentar