Hantera inställningar för enhetsåtkomst i Grundläggande mobilitet och säkerhet

Om du använder Grundläggande mobilitet och säkerhet kan det finnas enheter som du inte kan hantera med Grundläggande mobilitet och säkerhet. I så fall bör du blockera Exchange ActiveSync appåtkomst till Microsoft 365-e-post för mobila enheter som inte stöds av Grundläggande mobilitet och säkerhet. Genom att blockera Exchange ActiveSync appåtkomst kan du skydda organisationens information på flera enheter.

Följ dessa steg:

  1. Logga in på Microsoft 365 med ditt globala administratörskonto.

  2. I webbläsaren skriver du: https://compliance.microsoft.com/basicmobilityandsecurity.

  3. Gå till fliken Organisationsinställning .

  4. Välj Åtkomstbegränsning för MDM-enhet som inte stöds och kontrollera att Tillåt åtkomst (enhetsregistrering krävs) har valts.

Information om vilka enheter Grundläggande mobilitet och säkerhet stöder finns i Funktioner i Grundläggande mobilitet och säkerhet.

Få information om Grundläggande mobilitet och säkerhet hanterade enheter

Dessutom kan du använda Microsoft Graph PowerShell för att få information om de enheter i din organisation som du har konfigurerat för Grundläggande mobilitet och säkerhet.

Här är en analys av enhetsinformationen som är tillgänglig för dig.

Beskrivning Vad du ska leta efter i PowerShell
Enheten har registrerats i Grundläggande mobilitet och säkerhet. Mer information finns i Registrera din mobila enhet med hjälp av Grundläggande mobilitet och säkerhet Värdet för parametern isManaged är:
True= enheten har registrerats.
False= enheten har inte registrerats.
Enheten är kompatibel med dina enhetssäkerhetsprinciper. Mer information finns i Skapa enhetssäkerhetsprinciper Värdet för parametern isCompliant är:
True = enheten är kompatibel med principer.
False = enheten är inte kompatibel med principer.

Grundläggande mobilitet och säkerhet PowerShell-parametrar.

Obs!

Kommandon och skript som följer returnerar också information om alla enheter som hanteras av Microsoft Intune.

Här följer några saker som du behöver konfigurera för att köra kommandon och skript:

Steg 1: Ladda ned och installera Microsoft Graph PowerShell SDK

Mer information om de här stegen finns i Ansluta till Microsoft 365 med PowerShell.

  1. Installera Microsoft Graph PowerShell SDK för Windows PowerShell med följande steg:

    1. Öppna en PowerShell-kommandotolk på administratörsnivå.

    2. Kör följande kommando:

      Install-Module Microsoft.Graph -Scope AllUsers
      
    3. Om du uppmanas att installera NuGet-leverantör skriver du Y och trycker på RETUR.

    4. Om du uppmanas att installera modulen från PSGGallery, skriver du Y och trycker på RETUR.

    5. Stäng PowerShell-kommandofönstret efter installationen.

Steg 2: Ansluta till din Microsoft 365-prenumeration

  1. Kör följande kommando i Powershell-fönstret.

    Connect-MgGraph -Scopes Device.Read.All, User.Read.All
    
  2. Ett popup-fönster öppnas där du kan logga in. Ange autentiseringsuppgifterna för ditt administrativa konto och logga in.

  3. Om ditt konto har de behörigheter som krävs visas "Välkommen till Microsoft Graph!" i Powershell-fönstret.

Steg 3: Kontrollera att du kan köra PowerShell-skript

Obs!

Du kan hoppa över det här steget om du redan har konfigurerat att köra PowerShell-skript.

Om du vill köra Get-GraphUserDeviceComplianceStatus.ps1 skriptet måste du aktivera körningen av PowerShell-skript.

  1. Från Windows Desktop väljer du Start och skriver sedan Windows PowerShell. Högerklicka på Windows PowerShell och välj sedan Kör som administratör.

  2. Kör följande kommando:

    Set-ExecutionPolicy RemoteSigned
    
  3. När du uppmanas till det skriver du Y och trycker sedan på Retur.

Kör cmdleten Get-MgDevice för att visa information om alla enheter i din organisation

  1. Öppna modulen Microsoft Azure Active Directory för Windows PowerShell.

  2. Kör följande kommando:

    Get-MgDevice -All -ExpandProperty "registeredOwners" | Where-Object {($_.RegisteredOwners -ne $null) -and ($_.RegisteredOwners.Count -gt 0)}
    

Fler exempel finns i Get-MgDevice.

Kör ett skript för att hämta enhetsinformation

Spara först skriptet på datorn.

  1. Kopiera och klistra in följande text i Anteckningar.

        param (
     	[Parameter(Mandatory = $false)]
     	[PSObject[]]$users = @(),
     	[Parameter(Mandatory = $false)]
     	[Switch]$export,
     	[Parameter(Mandatory = $false)]
     	[String]$exportFileName = "UserDeviceOwnership_" + (Get-Date -Format "yyMMdd_HHMMss") + ".csv",
     	[Parameter(Mandatory = $false)]
     	[String]$exportPath = [Environment]::GetFolderPath("Desktop")
     )
    
     #Clearing the screen
     Clear-Host
    
     #Preparing the output object
     $deviceOwnership = @()
    
    
     if ($users.Count -eq 0) {
     	Write-Output "No user has been provided, gathering data for all devices in the tenant"
     	#Getting all Devices and their registered owners
     	$devices = Get-MgDevice -All -Property * -ExpandProperty registeredOwners
    
     	#For each device which has a registered owner, extract the device data and the registered owner data
     	foreach ($device in $devices) {
     		$DeviceOwners = $device | Select-Object -ExpandProperty 'RegisteredOwners'
     		#Checking if the DeviceOwners Object is empty
     		if ($DeviceOwners -ne $null) {
     			foreach ($DeviceOwner in $DeviceOwners) {
     				$OwnerDictionary = $DeviceOwner.AdditionalProperties
     				$OwnerDisplayName = $OwnerDictionary.Item('displayName')
     				$OwnerUPN = $OwnerDictionary.Item('userPrincipalName')
     				$OwnerID = $deviceOwner.Id
     				$deviceOwnership += [PSCustomObject]@{
     					DeviceDisplayName             = $device.DisplayName
     					DeviceId                      = $device.DeviceId
     					DeviceOSType                  = $device.OperatingSystem
     					DeviceOSVersion               = $device.OperatingSystemVersion
     					DeviceTrustLevel              = $device.TrustType
     					DeviceIsCompliant             = $device.IsCompliant
     					DeviceIsManaged               = $device.IsManaged
     					DeviceObjectId                = $device.Id
     					DeviceOwnerID                 = $OwnerID
     					DeviceOwnerDisplayName        = $OwnerDisplayName
     					DeviceOwnerUPN                = $OwnerUPN
     					ApproximateLastLogonTimestamp = $device.ApproximateLastSignInDateTime
     				}
     			}
     		}
    
     	}
     }
    
     else {
     	#Checking that userid is present in the users object
     	Write-Output "List of users has been provided, gathering data for all devices owned by the provided users"
     	foreach ($user in $users) {
     		$devices = Get-MgUserOwnedDevice -UserId $user.Id -Property *
     		foreach ($device in $devices) {
     			$DeviceHashTable = $device.AdditionalProperties
     			$deviceOwnership += [PSCustomObject]@{
     				DeviceId                      = $DeviceHashTable.Item('deviceId')
     				DeviceOSType                  = $DeviceHashTable.Item('operatingSystem')
     				DeviceOSVersion               = $DeviceHashTable.Item('operatingSystemVersion') 
     				DeviceTrustLevel              = $DeviceHashTable.Item('trustType')
     				DeviceDisplayName             = $DeviceHashTable.Item('displayName')
     				DeviceIsCompliant             = $DeviceHashTable.Item('isCompliant')
     				DeviceIsManaged               = $DeviceHashTable.Item('isManaged')
     				DeviceObjectId                = $device.Id
     				DeviceOwnerUPN                = $user.UserPrincipalName
     				DeviceOwnerID                 = $user.Id
     				DeviceOwnerDisplayName        = $user.DisplayName
     				ApproximateLastLogonTimestamp = $DeviceHashTable.Item('approximateLastSignInDateTime')
     			}
     		}
     	}
    
     }
    
     $deviceOwnership
    
     if ($export) {
     	$exportFile = Join-Path -Path $exportPath -ChildPath $exportFileName
     	$deviceOwnership | Export-Csv -Path $exportFile -NoTypeInformation
     	Write-Output "Data has been exported to $exportFile"
     }
    
  2. Spara den som en Windows PowerShell skriptfil med filnamnstillägget ".ps1". Till exempel Get-MgGraphDeviceOwnership.ps1.

    Obs!

    Skriptet är också tillgängligt för nedladdning på Github.

Kör skriptet för att hämta enhetsinformation för ett enda användarkonto

  1. Öppna PowerShell.

  2. Gå till mappen där du sparade skriptet. Om du till exempel har sparat den i C:\PS-Scripts kör du följande kommando.

    cd C:\PS-Scripts
    
  3. Kör följande kommando för att identifiera den användare som du vill hämta enhetsinformation för. Det här exemplet hämtar information om user@contoso.com.

    $user = Get-MgUser -UserId "user@contoso.com"
    
  4. Kör följande kommando för att initiera skriptet.

    .\Get-GraphUserDeviceComplianceStatus.ps1 -users $user -Export
    

Informationen exporteras till Windows Desktop som en CSV-fil. Du kan ange filnamnet och sökvägen till CSV:n.

Kör skriptet för att hämta enhetsinformation för en grupp användare

  1. Öppna PowerShell.

  2. Gå till mappen där du sparade skriptet. Om du till exempel har sparat den i C:\PS-Scripts kör du följande kommando.

    cd C:\PS-Scripts
    
  3. Kör följande kommando för att identifiera den grupp som du vill hämta enhetsinformation för. Det här exemplet hämtar information för användare i gruppen FinanceStaff.

    $groupId = Get-MgGroup -Filter "displayName eq 'FinanceStaff'" | Select-Object -ExpandProperty Id
    $Users = Get-MgGroupMember -GroupId $groupId | Select-Object -ExpandProperty Id | % { Get-MgUser -UserId $_ }
    
  4. Kör följande kommando för att initiera skriptet.

    .\Get-GraphUserDeviceComplianceStatus.ps1 -User $Users -Export
    

Informationen exporteras till Windows Desktop som en CSV-fil. Du kan använda ytterligare parametrar för att ange filnamnet och sökvägen för CSV:n.

Microsoft Connect har dragits tillbaka

Översikt över grundläggande Mobility and Security

Meddelande om tillbakadragning för MSOnline- och AzureAD-cmdletar

Get-MgUser

Get-MgDevice

Get-MgUserOwnedDevice