Vem bjöd in vem | Med den externa delningsfunktionen i O365 har Microsoft gett företag ett kraftfullt och enkelt sätt att samarbeta med externa partners. Då nya gästanvändare läggs till varje dag frågade en av mina kunder om det är möjligt att spåra vem som bjudit in vem eftersom de ville spåra detta och få dessa data tillgängliga när en användare lämnar företaget. De vill då kunna göra en sökning för att se vilka gäster som bjudits in av den användare som slutat.

I audit loggen i Azure AD kan detta enkelt uppnås genom att leta efter aktiviteten ”Invite external users”. Det längsta datumintervallet du kan välja är en månad.

5001-auditlogs-1672833334

Detta måste dock göras manuellt och för att ta reda på vem som inbjöd vem du behöver varje post öppnas vilket tar tid om det är många poster att gå igenom. Vi vill så klart göra det med hjälp av powershell istället för att kunna automatisera processen.

Med graph api’t har Microsoft exponerat informationen så den är lätt att komma åt. När vi läst ut önskat data kan vi lagra det offline i en csv-fil, databas etc och sedan fatta beslut om vad du ska göra med informationen. För min kund är detta en viktig del eftersom du bara har data för den senaste månaden så vi måste lagra den här informationen så den kan användas för att söka efter gäster inbjudna av personer som slutat på företaget.
I det här blogginlägget kommer jag bara exportera det till en csv-fil men principen är den samma.

Vi kommer att använda graph API för att hämta datat. För att kunna göra det måste vi först skapa en applikation i Azure AD som vi kommer att ge de nödvändiga behörigheter som behövs för att läsa audit log data. Hur en applikation läggs till kan du läsa om genom att spana in min kollega Daniels post:

Eftersom skriptet ska kunna köras schemalagt behöver vi använda applikationsrättigheter.

5001-graphpermissions-1672833335

När applikationen är skapad i Azure och har fått de nödvändiga rättigheterna måste den godkännas av en administratör. Modifiera url:en nedan i en text editor och ersätt applications id och redirect url med de från den applikationen som skapats:

https://login.microsoftonline.com/common/adminconsent?client_id=<Application ID>&state=12345&redirect_uri=<redirect url>

Använd sedan länken för att godkänna applikationen. När applikationen har godkänts kan följande skript användas för att komma åt data. Observera att beta-endpoints används för att komma åt audit data.

Ladda ner skript här!

 

5001-scriptpart1-1672833336

Den första funktionen används för att logga in och ge en token till applikationen så vi tillåts att läsa datat. Den andra funktionen används för att se när en gäst senast loggade in.

Vi har också GuestTracker-klassen som används för att bygga ett objekt för att lagra resultatet.

Nästa del i skriptet är där vi får vår token och läser data. Ange applicationsID, Secret och TenantID.

5001-scriptpart2-1672833338

Det sista steget är att loopa igenom resultatet för att slutligen exportera datat till en csv fil.

5001-scriptpart5-1672833339

Ett exempel på slutresultatet:

5001-scriptpart4-1672833341

Det va allt för denna gång!

/Henrik

Relaterade inlägg

Vill du vara säker på att inte missa något

Som du märker brinner vi för att dela med oss av våra erfarenheter, nyttiga lärdomar och spaningar ut i exosfären. Se till att följa vårt nyhetsbrev eller vårt flöde på Linkedin så du inte missar något.

Hidden

Denna webbplats använder cookies

Cookies ("kakor") består av små textfiler. Dessa innehåller data som lagras på din enhet. För att kunna placera vissa typer av cookies behöver vi inhämta ditt samtycke. Vi på Exobe AB, orgnr. 556769-5605 använder oss av följande slags cookies. För att läsa mer om vilka cookies vi använder och lagringstid, klicka här för att komma till vår cookiepolicy.

Hantera dina cookieinställningar

Nödvändiga cookies

Nödvändiga cookies är cookies som måste placeras för att grundläggande funktioner på webbplatsen ska kunna fungera. Grundläggande funktioner är exempelvis cookies som behövs för att du ska kunna använda menyer och navigera på sajten.

Funktionella cookies

Funktionella cookies behöver placeras för att webbplatsen ska kunna prestera som du förväntar dig, exempelvis så att den känner av vilket språk som du föredrar, för att känna av om du är inloggad, för att hålla webbplatsen säker, komma ihåg inloggningsuppgifter eller för att kunna sortera produkter på webbplatsen utefter dina preferenser.

Cookies för statistik

För att kunna veta hur du interagerar med webbplatsen placerar vi cookies för att föra statistik. Dessa cookies anonymiserar personuppgifter.

Cookies för personlig anpassning

För att ge dig en bättre upplevelse placerar vi cookies för dina preferenser

Cookies för annonsmätning

För att kunna erbjuda bättre service och upplevelse placerar vi cookies för att kunna anpassa marknadsföring till dig. Ett annat syfte med denna behandling är att kunna marknadsföra produkter eller tjänster till dig, ge anpassade erbjudanden eller marknadsföra och ge rekommendationer kring nya koncept utifrån vad du har köpt tidigare.

Cookies för personlig annonsmätning

För att kunna visa relevant reklam placerar vi cookies för att anpassa innehållet för dig

Cookies för anpassade annonser

För att visa relevanta och personliga annonser placerar vi cookies för att tillhandahålla unika erbjudanden som är skräddarsydda efter din användardata