Mikäli flow’n tai Power Appsin omistaja poistuu organisaation palveluksesta, on hänen (oikeasti käytössä olevat) ratkaisut järkevää siirtää jonkun muun omistukseen. Tämä onnistuu nykyisin helposti.

Mutta entäpä jos osana näitä ratkaisuja on itse tehty yhdistin (custom connector)? Pitäisikö sille tehdä jotain? Miten?

Katsotaanpa.

Mistä näen ympäristöihin luodut omat yhdistimet?

Ensimmäisenä olisi hyvä ymmärtää, mistä nämä itse tehdyt yhdistimet löytää.

Käyttäjä Big Boss on luonut oman yhdistimen (Big Boss custom connector).

Minä olen tenantin Power Platform Admin. En kuitenkaan näe Big Bossin luomaa yhdistintä missään hallintakäyttöliittymässä.

Mutta mikäli organisaationi hyödyntää Center of Excellence Starter Kit:tiä, näen kaikki eri ympäristöihin luodut yhdistimet kätevästi sieltä.

Hmm…

Mikäli tiedot on onnistuttu keräämään CoE:n tietovarastoon, ne voi hakea myös itse flow’lla. Tiedot ympäristön sisältämistä omista yhdistimistä saa listattua Power Apps for Admin -yhdistimen alta löytyvällä Get Custom Connectors as Admin -toiminnolla.

Ok. Nyt meillä on keino selvittää, mitä itse luotuja yhdistimiä ympäristöissämme on. Ilman omistajaa jääneille yhdistimille pitäisi vielä päästä tekemäänkin jotain.

Miten pääsen muokkaamaan toisen tekemää yhdistintä?

Yritetään ensin oikoreittiä. Tiedämme että Big Boss on tehnyt canvas Power Appsin, joka käyttää omaa yhdistintä. Minulla on töydet oikeudet ympäristöön, joten voin jakaa kyseisen sovelluksen itselleni.

Yhdistin ilmestyy välittömästi minun custom connector listalleni.

Mutten voi muokata sitä (kynä-ikoni on passiivinen). Voin toki ladata yhdistimen omalle koneelleni talteen.

Mutta se ei nyt oikein riitä.

Jos BigBoss poistuu organisaatiosta, kukaan ei pääse muokkaamaan hänen luomiaan yhdistimiä. Mitä jos niihin tulisi tehdä korjauksia? Lisätä uusia toimintoja? Voimme tietenkin ladata nykyisen yhdistimen omalle työasemallemme, luoda sen pohjalta omaan omistukseemme uuden ja vaihtaa kaikki alkuperäistä yhdistintä käyttävät flow’t ja Power Appsit käyttämään sitä.

Ei kuunnosta järkevältä.

Valitettavasti oman yhdistimen omistajaa ei voi (vielä) vaihtaa. Meille kuitenkin riittää, että saamme annettua jollekin toiselle käyttäjällä muokkausoikeudet yhdistimeen.

Tämän voi tehdä flow’lla tai PowerShellillä.

Muokkausoikeuksien antaminen – Flow

Haetaan kaikki käyttäjän Big Boss luomat yhdistimet ja annetaan minulle niihin muokkausoikeudet.

Aloitetaan hakemalla kaikki ympäristöt ja käydään ne yksi kerrallaan läpi.

Tämän jälkeen kunkin ympäristön kohdalla haetaan kaikki sinne luodut yhdistimet. Ne suodatetaan (Filter Array) yhdistimen luojan (Created By) perusteella.

Lopuksi minulle annetaan näihin yhdistimiin muokkausoikeudet (Edit connector Role Assignment as Admin) .

Tarvittava uuden omistajan (minun) tunniste (properties/principal/id) löytyy esimerkiksi Azure AD:sta.

Flow’n suorituksen jälkeen pääsen muokkaamaan kaikkia Big Bossin luomia yhdistimiä.

Sillä minulla on niihin muokkausoikeudet.

Muokkausoikeuksien antaminen – PowerShell

Saman voi luonnollisesti tehdä myös PowerShellillä.

Avataan PowerShell järjestelmän ylläpitäjänä (Administrator).

Asennetaan tarvittavat modulit.

Install-Module -Name Microsoft.PowerApps.Administration.PowerShell
Install-Module -Name Microsoft.PowerApps.PowerShell -AllowClobber

Nyt voimme kirjautua haluttuun ympäristöön.

Add-PowerAppsAccount

Se hoituu tuttuun tapaan.

Käytettävällä tunnuksella tulee olla admin oikeudet ympäristöihin joissa toimitaan.

Power Apps Administration cmdlet sisältää vaikka mitä komentoja. Osa sellaisia, joita ei voi käyttöliittymän kautta tehdä. Muokkaajan lisääminen yhdistimelle tehdään Set-AdminPowerAppConnectorRoleAssignment -komennolla.

Set-AdminPowerAppConnectorRoleAssignment -ConnectorName shared_testapi.[Guid] -EnvironmentName [Guid] -RoleName CanEdit -PrincipalType User -PrincipalObjectId [Guid]

Tarvitsemme komentoa varten.

  • yhdistimen nimen (ConnectorName)
  • ympäristön tunnisteen (EnvironmentName)
  • uuden omistajan tunnisteen (PrincipalObjectId)

Eli samat tiedot, kuin flow’n kanssa. Tietenkin, sillä konepellin alla molemmat kutsuvat samaa rajapintaa.

Suurin työ on metsästää nämä tarvittavat tiedot.

Ympäristön nimi on helppo Se löytyy url-osoitteesta.

Tätä hyödyntäen voimme hakea kaikki kyseisen ympäristön yhdistimet.

Get-AdminPowerAppConnector -EnvironmentName Default-f8c98920-c3d7-46b3-b802-ae70afd4b77a

Voimme myös hakea kaikki Big Boss -käyttäjän luomat yhdistimet. Toisin kuin flow’lla, tämä onnistuu yhdellä komennolla kaikista ympäristöistä!

Get-AdminPowerAppConnector -CreatedBy bigboss@pertilamvp.onmicrosoft.com

Voimme hakea yhdistimiä myös nimen perusteella. Seuraava komento palauttaa kaikki default-ympäristön yhdistimet, joiden nimessä esiintyy teksti ”finnish”.

Get-AdminPowerAppConnector *finnish* -EnvironmentName Default-f8c98920-c3d7-46b3-b802-ae70afd4b77a

Meitä kiinnostaa yhdistimen nimi. Se on tulosjoukon ensimmäisenä ja alkaa tekstillä ”shared_”.

Tarvittava komento on siis:

Set-AdminPowerAppConnectorRoleAssignment -ConnectorName shared_big-20boss-20custom-20connector-5fc8d9b5a5b6671-b9632be14afa6d81 -EnvironmentName Default-f8c98920-c3d7-46b3-b802-ae70afd4b77a -RoleName CanEdit -PrincipalType User -PrincipalObjectId xxxxxxx

Ja näin minulla on muokkausoikeudet kyseiseen yhdistimeen!

Yhteenveto

Useita Power Platformin ylläpitoon liittyviä tehtäviä ei voi tehdä suoraan käyttöliittymästä. Se ei kuitenkaan tarkoita, etteikö haluttua toimintoa voi tehdä. Flow’n Power Platformin Admin -toiminnoilla voi tehdä todella paljon. Mikäli taas PowerShell on sinulle tutumpi työkalu, voit käyttää sitä.

Mikäli taas haluat tehdä jotain eksoottisempaa, kannattaa tarkistaa aina sekä flow’n toiminnot että PowerShell komennot. Voi olla että etsimäsi löytyy ainoastaan toisesta.