11/12/2023
I dagens dynamiske digitale landskab er effektiv styring og overvågning af mobile enheder en absolut nødvendighed for enhver IT-administrator. Medarbejdere er i stigende grad afhængige af deres smartphones og tablets for at få adgang til virksomhedsdata, e-mails og applikationer, hvilket gør det essentielt at have et klart og opdateret overblik over alle de enheder, der er forbundet til din Azure-lejer og Exchange Online. Dette overblik er ikke kun kritisk for at opretholde en stærk sikkerhedsposition og sikre compliance med virksomhedens politikker, men også for at identificere og fjerne forældede eller ubrugte enheder, der potentielt kan udgøre en sikkerhedsrisiko eller blot forurene dine rapporter med irrelevant data. Heldigvis tilbyder PowerShell kraftfulde og fleksible værktøjer til netop dette formål, specifikt Get-MobileDevice og Get-MobileDeviceStatistics cmdlets. Denne artikel vil guide dig igennem den detaljerede proces med at indhente omfattende statistikker om dine mobile enheder, så du kan holde din digitale infrastruktur ikke kun ryddelig og organiseret, men også maksimalt sikker.

Nødvendige Forudsætninger
Før du kan dykke ned i PowerShell-kommandoerne og begynde at trække de ønskede enhedsstatistikker, er der et par vigtige forudsætninger, der skal være opfyldt. Disse trin sikrer, at du har de nødvendige værktøjer og de korrekte tilladelser til at interagere effektivt med dit Exchange Online-miljø og hente de data, du har brug for.
For det første skal du installere Exchange Online Management Module. Dette modul er den primære grænseflade, der giver dig mulighed for at administrere Exchange Online via PowerShell. Uden dette modul vil dine PowerShell-sessioner ikke genkende de specifikke cmdlets, der er nødvendige for at forespørge om mobile enheder. Installationen er typisk ligetil og kan udføres med en enkelt PowerShell-kommando, ofte via PowerShell Gallery, hvilket gør processen hurtig og ukompliceret.
For det andet kræver den brugerkonto, du anvender til at oprette forbindelse til Exchange Online, specifikke administrative rettigheder. Du skal enten have rollen som Exchange Administrator eller Global Administrator tildelt i din Microsoft 365-lejer. Disse roller giver dig den nødvendige adgang og de korrekte tilladelser til at forespørge om og administrere mobile enheder og deres tilknyttede data i din organisation. Uden de korrekte tilladelser vil dine PowerShell-forespørgsler blive afvist, og du vil ikke kunne hente de ønskede data, hvilket resulterer i adgangsfejl. Sørg derfor altid for, at den konto, du bruger, har de fornødne administrative rettigheder, før du påbegynder dine PowerShell-sessioner.
Kort opsummeret skal du sikre dig følgende, før du fortsætter:
- Exchange Online Management Module skal være korrekt installeret på din arbejdsstation.
- Din brugerkonto skal have enten rollen som Exchange Administrator eller Global Administrator tildelt i din Microsoft 365-lejer.
Indhentning af Mobil Enhedsstatistikker med PowerShell
Med de nødvendige forudsætninger på plads kan vi nu se på, hvordan vi mest effektivt udtrækker information fra Exchange Online ved hjælp af PowerShell. Som tidligere nævnt vil vi primært anvende to centrale cmdlets: Get-MobileDevice og Get-MobileDeviceStatistics. Selvom deres navne lyder ens, supplerer de hinanden på en måde, der giver et yderst omfattende og detaljeret billede af dine mobile enheders status og aktivitet.
Get-MobileDevice er den grundlæggende cmdlet, der bruges til at liste mobile enheder, som er registreret i dit Exchange Online-miljø. Denne cmdlet kan hente en liste over alle mobile enheder i din organisation, hvilket er nyttigt for et generelt overblik, eller du kan filtrere resultaterne yderligere ved at specificere en bestemt postkasse ved hjælp af -Mailbox parameteren. Dette er især praktisk, hvis du kun ønsker at se de enheder, der er associeret med en specifik bruger, for eksempel under fejlfinding eller brugeradministration.
Her er et eksempel på, hvordan du kan bruge Get-MobileDevice for en specifik bruger og udvælge de mest relevante egenskaber for at få et overskueligt resultat:
Import-Module ExchangeOnlineManagement Connect-ExchangeOnline -UserPrincipalName [email protected] Get-MobileDevice -Mailbox pcontreras | select @{Name = 'Identity' ; Expression = {$_.Identity -replace "\\.+"}}, ` DeviceId, IsManaged, IsCompliant, DeviceOS, DeviceType, FriendlyName, ` DeviceUserAgent, FirstSyncTime, DeviceAccessState, DeviceAccessStateReason, ClientType -First 1Dette script vil generere en uddata, der ligner den følgende, og giver dig et øjebliksbillede af enhedens grundlæggende information:
Identity: Paul Contreras DeviceId: D1151F256364422E827C79AF3D3B2230 IsManaged: False IsCompliant: False DeviceOS: iOS 13.7 DeviceType: Outlook FriendlyName : DeviceUserAgent: Outlook-iOS/2.0 FirstSyncTime: 9/12/2020 2:43:42 AM DeviceAccessState: Allowed DeviceAccessStateReason: ExternallyManaged ClientType: OutlookSom det fremgår, giver Get-MobileDevice dig afgørende grundlæggende oplysninger om enheden, herunder dens operativsystem (DeviceOS), den specifikke enhedstype (DeviceType), og tidspunktet for dens første synkronisering (FirstSyncTime). Egenskaben Identity er særligt nyttig, da den typisk indeholder en kombination af brugernavnet og enheds-ID'et, hvilket gør det betydeligt lettere at identificere den primære ejer af enheden. RegEx-udtrykket i eksemplet (-replace "\\.+") er designet til at rense Identity-strengen, så den kun viser brugernavnet, hvilket bidrager til et mere overskueligt og brugervenligt resultat i rapporter.
Mens Get-MobileDevice er fremragende til at liste enheder og deres grundlæggende attributter, er Get-MobileDeviceStatistics derimod uundværlig, når du har brug for et dybere indblik i enhedens faktiske synkroniseringsaktivitet. Denne cmdlet er afgørende, når du skal vurdere, hvor "frisk" og aktiv en enhed er, eller om den potentielt er forældet og ikke længere i brug. Den indeholder yderst vigtige egenskaber som LastSuccessSync (tidspunktet for seneste succesfulde synkronisering) og LastSyncAttemptTime (tidspunktet for seneste synkroniseringsforsøg), som præcist viser, hvornår en enhed sidst har interageret med Exchange Online. Disse tidsstempler er guld værd, når du systematisk skal identificere enheder, der ikke længere er aktivt i brug, og dermed potentielt kan fjernes eller undersøges nærmere.
PowerShell Script til Hentning af Enhed og Statistik
Da de to cmdlets, Get-MobileDevice og Get-MobileDeviceStatistics, supplerer hinanden så optimalt, er det ofte mest effektivt at kombinere dem i et enkelt PowerShell-script for at opnå de mest komplette og handlingsrettede data. Dette script giver dig en robust løsning til at hente en omfattende liste over alle mobile enheder i din organisation og derefter for hver enkelt enhed trække de detaljerede synkroniseringsstatistikker, hvilket skaber et fuldendt overblik over din mobile enhedsflåde.

Nedenfor er et eksempel på et script, der først henter alle mobile enheder i organisationen (du kan også vælge at filtrere efter en enkelt bruger) ved hjælp af Get-MobileDevice. Derefter itererer scriptet igennem hver fundne enhed for at hente de detaljerede statistikker med Get-MobileDeviceStatistics, ved at bruge enhedens unikke GUID som reference. Dette sikrer, at du får alle de relevante oplysninger samlet ét sted.
# Hent alle mobile enheder i organisationen $MobileDeviceList = Get-MobileDevice # Alternativt: Hent alle mobile enheder fra en enkelt bruger # $MobileDeviceList = Get-MobileDevice -Mailbox [email protected] foreach ($Device in $MobileDeviceList) { $Stats = Get-MobileDeviceStatistics -Identity $Device.Guid.toString() [PSCustomObject]@{ Identity = $Device.Identity -replace "\\.+" DeviceType = $Device.DeviceType DeviceOS = $Device.DeviceOS LastSuccessSync = $Stats.LastSuccessSync LastSyncAttemptTime = $Stats.LastSyncAttemptTime LastPolicyUpdateTime = $Stats.LastPolicyUpdateTime LastPingHeartbeat = $Stats.LastPingHeartbeat ClientType = $Stats.ClientType } }Dette script vil generere en konsoluddata, der elegant kombinerer information fra begge cmdlets, hvilket giver et omfattende og detaljeret overblik over hver mobil enhed:
Identity: Paul Contreras DeviceType: Outlook DeviceOS: iOS 13.7 LastSuccessSync: 9/12/2020 2:43:43 AM LastSyncAttemptTime: 9/12/2020 2:43:43 AM LastPolicyUpdateTime: 9/12/2020 2:43:43 AM LastPingHeartbeat : ClientType: Outlook Identity: Paul Contreras DeviceType: iPhone DeviceOS: iOS 14.1 18A8395 LastSuccessSync: 11/12/2020 2:40:02 AM LastSyncAttemptTime: 11/12/2020 2:40:02 AM LastPolicyUpdateTime: 11/11/2020 6:32:40 PM LastPingHeartbeat: 600 ClientType: EASDetaljeret Gennemgang af Cmdlets og Egenskaber
For at maksimere din forståelse og effektivt udnytte disse PowerShell-værktøjer er det afgørende at kende de vigtigste egenskaber, de returnerer, og hvad hver enkelt betyder for din daglige mobilenhedsadministration. Denne viden vil give dig mulighed for at træffe informerede beslutninger baseret på de indsamlede data.
Get-MobileDevice Egenskaber:
- Identity: Denne egenskab repræsenterer den unikke identitet for den mobile enhed. Typisk vil den indeholde en kombination af brugernavnet og enhedens unikke ID (f.eks. 'Paul Contreras\iPhone_12345'). Denne identitet er afgørende for at knytte en specifik enhed til en bestemt bruger og er dit primære referencepunkt, når du skal spore eller administrere en enhed. At forstå denne struktur hjælper dig med at sortere og filtrere data mere effektivt.
- DeviceId: En globalt unik identifikator (GUID) for selve enheden. Dette ID er konstant og nyttigt til specifikke forespørgsler, automatisering eller til at matche enhedsdata med andre systemer som et entydigt referencepunkt.
- IsManaged: Angiver, om enheden administreres via en Mobile Device Management (MDM) løsning, f.eks. Microsoft Intune. En
Trueværdi indikerer, at enheden er under central styring, hvilket ofte er et vigtigt sikkerhedskrav for at håndhæve virksomhedspolitikker og beskytte data. - IsCompliant: Viser, om enheden overholder organisationens definerede sikkerheds- og adgangspolitikker for mobile enheder. En
Falseværdi kan indikere en potentiel sikkerhedsbrist eller et konfigurationsproblem, der kræver øjeblikkelig opmærksomhed. - DeviceOS: Angiver operativsystemet på enheden (f.eks. iOS 13.7, Android 11, Windows Phone). Dette er vigtigt for at forstå din enhedsflådes diversitet, vurdere kompatibilitet med applikationer og identificere enheder, der kører forældede eller usikre OS-versioner.
- DeviceType: Beskriver den generelle type af enhed (f.eks. iPhone, Android, Outlook Mobile App). Hjælper med at kategorisere din enhedsflåde og forstå, hvilke typer enheder der bruges til at få adgang til virksomhedsressourcer.
- FriendlyName: Et brugervenligt navn for enheden, som ofte er sat af brugeren selv eller tildelt af MDM-systemet. Dette kan gøre det lettere at identificere enheder i rapporter for ikke-tekniske brugere.
- DeviceUserAgent: En streng, der identificerer den klientapplikation (f.eks. Outlook-iOS/2.0, EAS), der bruges til at synkronisere med Exchange Online. Nyttig for at se, hvilke apps dine brugere anvender.
- FirstSyncTime: Tidspunktet for enhedens første succesfulde synkronisering med Exchange Online. Dette er nyttigt for at forstå enhedens 'alder' i dit system og dens historik.
- DeviceAccessState: Angiver den aktuelle adgangstilstand for enheden til Exchange Online (f.eks. Allowed, Blocked, Quarantined). Dette er en afgørende sikkerhedsparameter, der viser, om en enhed har tilladelse til at synkronisere.
- DeviceAccessStateReason: Giver en årsag til enhedens adgangstilstand, hvis den ikke er tilladt (f.eks. ExternallyManaged, DeviceNotProvisioned). Dette er uvurderligt for fejlfinding af adgangsproblemer.
- ClientType: Den specifikke type klient, der bruges til synkronisering (f.eks. Outlook, EAS - Exchange ActiveSync).
Get-MobileDeviceStatistics Egenskaber:
- LastSuccessSync: Tidspunktet for enhedens seneste succesfulde synkronisering. Dette er en af de mest kritiske egenskaber for at identificere forældede enheder. En gammel dato her indikerer stærkt, at enheden enten ikke længere er aktivt i brug, eller at den oplever vedvarende synkroniseringsproblemer, der kræver undersøgelse.
- LastSyncAttemptTime: Tidspunktet for enhedens seneste synkroniseringsforsøg, uanset om det var succesfuldt eller ej. Hvis dette tidspunkt er meget nyere end
LastSuccessSync, kan det indikere, at enheden forsøger at synkronisere, men oplever gentagne fejl, hvilket kan kræve fejlfinding. - LastPolicyUpdateTime: Tidspunktet for, hvornår enheden sidst modtog en opdatering af sikkerheds- eller adgangspolitikker fra Exchange Online. Dette er vigtigt for at sikre, at enhederne kører med de seneste sikkerhedsindstillinger og er i overensstemmelse med de aktuelle krav.
- LastPingHeartbeat: Den sidste gang enheden sendte et 'heartbeat' til serveren, hvilket indikerer, at den er online og potentielt aktiv. En høj værdi (i sekunder) eller en manglende værdi kan indikere inaktivitet eller et forbindelsesproblem, selvom enheden stadig forsøger at synkronisere.
- ClientType: Ligesom i
Get-MobileDeviceangiver denne den specifikke klienttype, der bruges til synkronisering.
Identifikation af Forældede Enheder
En af de primære og mest værdifulde årsager til at trække detaljerede mobilenhedsstatistikker er den systematiske identifikation af forældede enheder. En forældet enhed er en enhed, der ikke længere er i aktiv brug af en medarbejder, men som stadig er registreret i dit system. Disse enheder kan udgøre en unødvendig sikkerhedsrisiko, da de potentielt kan give uautoriseret adgang til tidligere medarbejdere, kompromitterede konti, eller simpelthen være en 'død' adgang, der kan udnyttes. Derudover kan de forurene dine rapporter og gøre det vanskeligere at få et præcist og aktuelt billede af din aktive enhedsflåde, hvilket forringer din evne til at træffe datadrevne beslutninger.
Ved at udnytte egenskaberne LastSuccessSync og LastSyncAttemptTime fra Get-MobileDeviceStatistics kan du effektivt fastsætte en klar tærskel for inaktivitet. For eksempel kan du beslutte, at enhver enhed, der ikke har synkroniseret succesfuldt inden for de sidste 90 dage, betragtes som forældet og derfor bør undersøges nærmere eller slettes fra systemet. Det kombinerede PowerShell-script, vi har gennemgået, giver dig direkte adgang til disse kritiske tidsstempler, hvilket gør analyse, rapportering og den efterfølgende oprydning meget lettere og mere automatiserbar.
Regelmæssige audits af dine mobile enheder er en fremragende strategi for 'forårsrengøring' i din Azure-lejer og Exchange Online-miljø. Det bidrager ikke kun til at opretholde et rent, organiseret og effektivt IT-miljø, men forbedrer også den overordnede sikkerhedsposition markant ved at fjerne potentielle adgangspunkter og sårbarheder, der ikke længere er nødvendige eller overvåges aktivt. Denne proaktive tilgang er essentiel i kampen mod uautoriseret adgang og datalækage.
Almindelige Udfordringer og Løsninger
Under arbejdet med mobilenhedsstatistikker i PowerShell støder mange brugere på lignende spørgsmål og udfordringer. Lad os adressere nogle af de mest almindelige scenarier, baseret på input fra lignende situationer og forumdiskussioner, og give klare løsninger.
Udfordring: Få UPN (User Principal Name) og Sidste Login Tid for en Enhed
Den originale Get-MobileDevice cmdlet giver ikke direkte User Principal Name (UPN) for brugeren eller den præcise sidste login-tid i alle situationer, hvilket kan være en frustration, når man forsøger at få et fuldendt billede. Dog giver den Identity-egenskaben, som ofte indeholder et brugervenligt navn (f.eks. 'Paul Contreras'), der kan bruges til at identificere brugeren. For at få den seneste aktivitetstid er Get-MobileDeviceStatistics derimod afgørende, da den leverer de yderst vigtige tidsstempler LastSuccessSync og LastSyncAttemptTime.
Løsning: Som demonstreret i det kombinerede PowerShell-script tidligere, er den mest effektive og anbefalede metode at bruge Get-MobileDevice til at liste enhederne og derefter iterere igennem resultaterne for systematisk at kalde Get-MobileDeviceStatistics for hver enkelt enhed. Du anvender $Device.Guid.toString() til at videregive den unikke identifikator for enheden fra Get-MobileDevice til Get-MobileDeviceStatistics's -Identity parameter. Dette processuelle flow forbinder de to datasæt og giver dig både brugeridentiteten (fra Identity-egenskaben i Get-MobileDevice) og de detaljerede synkroniseringstider. Selvom UPN'en ikke direkte returneres af disse specifikke cmdlets som en separat, navngivet egenskab, er Identity-egenskaben ofte tilstrækkelig til at identificere den tilknyttede bruger i de fleste administrative scenarier.

Udfordring: Hvordan Pipelines Resultaterne fra Get-MobileDevice til Get-MobileDeviceStatistics?
Mange PowerShell-brugere tænker naturligt på at bruge pipelining (symbolet |) til at overføre output fra én cmdlet direkte som input til en anden. Mens du ikke direkte kan pipe hele Get-MobileDevice-objektet til Get-MobileDeviceStatistics's -Identity parameter, er den mest robuste og forståelige løsning en simpel foreach-løkke. Dette er netop den tilgang, som det tidligere leverede script anvender.
Løsning: Scriptet indsamler først alle mobile enheder i en variabel (f.eks. $MobileDeviceList = Get-MobileDevice). Derefter gennemgås hver enkelt enhed i denne liste metodisk ved hjælp af en foreach ($Device in $MobileDeviceList)-løkke. Inde i denne løkke kaldes Get-MobileDeviceStatistics -Identity $Device.Guid.toString(). Dette sikrer, at hver enkelt enheds GUID bruges til at hente de specifikke statistikdata, hvilket effektivt opnår det ønskede resultat uden at skulle ty til komplekse pipelining-scenarier, der måske ikke er direkte understøttet af cmdlet-designet. Denne metode er både klar og yderst effektiv til at behandle data for et stort antal enheder.
Sammenligning af Cmdlets
For at give et hurtigt og overskueligt overblik over, hvilke informationer hver cmdlet primært leverer, kan følgende sammenlignende tabel være yderst nyttig:
| Egenskab / Parameter | Get-MobileDevice | Get-MobileDeviceStatistics |
|---|---|---|
| Enhedsidentitet (Navn) | Ja | Indirekte (via GUID) |
| Enheds-ID | Ja | Nej |
| Operativsystem | Ja | Nej |
| Enhedstype | Ja | Nej |
| Første Synkronisering | Ja | Nej |
| Sidste Succesfulde Synkronisering | Nej | Ja |
| Sidste Synkroniseringsforsøg | Nej | Ja |
| Administreret / Kompatibel | Ja | Nej |
| Klienttype | Ja | Ja |
| Sidste Politikopdatering | Nej | Ja |
| Sidste Ping Heartbeat | Nej | Ja |
Ofte Stillede Spørgsmål (FAQ)
Her er svar på nogle af de mest ofte stillede spørgsmål relateret til indhentning af mobilenhedsstatistikker i Exchange Online, som kan hjælpe med at afklare yderligere tvivl og give et bedre overblik over emnet.
Hvad er Exchange Online, og hvorfor er det relevant for mobilenheder?
Exchange Online er Microsofts førende cloud-baserede e-mail- og kalenderløsning, som er en integreret del af Microsoft 365-pakken (tidligere kendt som Office 365). Det er yderst relevant for mobilenheder, da det fungerer som den centrale platform, som smartphones og tablets synkroniserer med for at få adgang til e-mails, kalendere, kontakter og andre virksomhedsdata. Administrationsværktøjerne i PowerShell, herunder Get-MobileDevice og Get-MobileDeviceStatistics, bruges specifikt til at overvåge og administrere disse enheders adgangsrettigheder og deres synkroniseringsstatus med Exchange Online-miljøet, hvilket er afgørende for sikkerhed og compliance.
Hvordan får jeg en liste over mobile enheder, der synkroniserer med min lejer?
Den mest effektive og anbefalede måde at få en komplet og detaljeret liste over alle mobile enheder, der i øjeblikket synkroniserer med din Exchange Online-lejer, er at anvende det PowerShell-script, der er beskrevet og demonstreret tidligere i denne artikel. Dette script starter med at bruge Get-MobileDevice til at hente den grundlæggende liste over alle enheder. Derefter anvender den en foreach-løkke til at iterere igennem disse enheder og hente yderligere, detaljerede synkroniseringsstatistikker for hver enkelt enhed ved hjælp af Get-MobileDeviceStatistics. Denne kombinerede tilgang sikrer, at du får det mest omfattende billede, inklusive kritiske data som seneste synkroniseringstider, operativsystemer og enhedstyper, hvilket er essentielt for en dybdegående analyse.
Er Get-MobileDevice tilstrækkelig som cmdlet på egen hånd?Get-MobileDevice er en fremragende start og giver en solid basis af oplysninger om tilsluttede mobile enheder, såsom enhedstype, operativsystem, og hvornår enheden første gang synkroniserede. Dette kan være tilstrækkeligt for en hurtig oversigt. Men for at få et dybere og mere handlingsrettet indblik i enhedens faktiske aktivitet, især med henblik på at identificere forældede eller inaktive enheder, er Get-MobileDeviceStatistics absolut uundværlig. Den leverer kritiske tidsstempler som LastSuccessSync og LastSyncAttemptTime, som Get-MobileDevice ikke inkluderer. Derfor er den bedste praksis og anbefaling at kombinere de to cmdlets for at opnå det mest komplette, præcise og handlingsrettede datasæt, der understøtter både operationel effektivitet og sikkerhedsbeslutninger.
Konklusion
At have et klart, præcist og opdateret overblik over de mobile enheder, der interagerer med din Azure-lejer og Exchange Online, er en afgørende faktor for både operationel effektivitet og robust IT-sikkerhed. PowerShells Get-MobileDevice og Get-MobileDeviceStatistics cmdlets giver dig de nødvendige og kraftfulde værktøjer til at opnå netop dette. Ved at mestre brugen af disse kommandoer kan du nemt og systematisk identificere forældede enheder, proaktivt overvåge synkroniseringsaktivitet og effektivt administrere din organisations mobile enhedsflåde. Dette bidrager ikke kun til en mere strømlinet og effektiv IT-drift, men styrker også din organisations samlede sikkerhedsposition markant ved at identificere og fjerne potentielle sårbarheder. Husk, at regelmæssig overvågning, analyse og oprydning er nøglen til at opretholde et sundt, sikkert og produktivt digitalt miljø i din organisation.
Hvis du vil læse andre artikler, der ligner Få Mobil Enhedsstatistik i PowerShell for Exchange Online, kan du besøge kategorien Mobil.
