Megosztás a következőn keresztül:


Megosztott Microsoft Entra-fiókok a HoloLensben

A HoloLens megosztott Microsoft Entra (korábbi nevén Azure Active Directory-) fiókjai rendszeres Microsoft Entra felhasználói fiókok, amelyek hitelesítő adatok nélkül tudnak bejelentkezni a HoloLensbe. Ez a beállítás ideális olyan forgatókönyvekhez, ahol a következő feltételek teljesülnek:

  • Több személy osztozik ugyanazon a HoloLens-eszközkészleten
  • Hozzáférés szükséges Microsoft Entra erőforrásokhoz, például Dynamics 365 útmutatók tartalmához
  • Nem szükséges nyomon követni, hogy ki használta az eszközt.

A megosztott Microsoft Entra-fiókok használatának legfontosabb előnyei

  • Egyszerűsített üzembe helyezés. Korábban a több személy között megosztott Microsoft Entra fiókok beállításához manuálisan kellett beállítani az egyes eszközöket. A megosztott Microsoft Entra fiókok lehetővé teszik, hogy egyszer konfigurálja a környezetet, és automatikusan üzembe helyezhesse bármelyik eszközén az Autopilot részeként.
  • Nagyszerű felhasználói élmény. A megosztott Microsoft Entra-fiókok felhasználóinak nem kell hitelesítő adatokat megadniuk az eszköz használatának megkezdéséhez. Koppintson és menjen!
  • Hozzáférés Microsoft Entra erőforrásokhoz. A megosztott Microsoft Entra-fiókok felhasználói könnyen hozzáférhetnek Microsoft Entra erőforrásokhoz, hogy extra hitelesítés nélkül elindíthassák a távsegítség-hívást, vagy megnyithassák az útmutatót.

Fontos

Mivel a megosztott Microsoft Entra fiókok hitelesítő adatok megadása nélkül is elérhetők a HoloLens-eszközön, fizikailag biztonságossá kell tenni ezeket a HoloLens-eszközöket, hogy csak a jogosult személyzet férhessen hozzá. Ezeket a fiókokat zárolhatja feltételes hozzáférési szabályzatok alkalmazásával, az önkiszolgáló jelszó-visszaállítás letiltásával és a hozzárendelt hozzáférési profilok konfigurálásával azokra az eszközökre, ahol ezeket a fiókokat használják.

Megjegyzés

Mivel ezek megosztott fiókok, az ezeket a fiókokat használó felhasználók nem jelennek meg a tipikus első bejelentkezési beállítási képernyőn, beleértve a PIN- és íriszregisztrációkat, a biometrikus adatgyűjtési értesítéseket és a különböző hozzájárulási képernyőket. Győződjön meg arról, hogy ezekhez a fiókokhoz a megfelelő alapértelmezett beállításokat szabályzattal konfigurálták (lásd: Felhasználók beállítása HoloLens 2 gyorsan), és hogy a felhasználók tisztában vannak ezekkel az alapértelmezett beállításokkal.

A megosztott Microsoft Entra-fiókok ismert korlátozásai

  • A megosztott Microsoft Entra fiókok nem használhatják a PIN-kódot vagy az íriszt az aktuális kiadásba való bejelentkezéshez, még akkor sem, ha regisztrálták őket.

A megosztott Microsoft Entra-fiókok fogalmi áttekintése

Ez a folyamat lehetővé teszi egy HoloLens-eszköz számára, hogy felhasználói fiókot foglaljon le, és bejelentkezhet ebbe a felhasználói fiókba az eszközhöz és az eszközhöz kapcsolódó hitelesítő adatokkal. A kép a folyamatot írja le:

Megosztott fiók diagramja

  1. Az Intune SCEP-konfigurációs profillal rendelkezik az SCEP-szolgáltatáshoz.
  2. Az eszköz csatlakozik az Intune-hoz, és megkapja a profiladatokat.
  3. Az eszköz kapcsolatba lép az SCEP-szolgáltatással, és egy eszköztanúsítványt állít elő a következő egyszerű felhasználónévvel HL-{Serial}@contoso.com: .
  4. Az eszköz bejelentkezik a korroszponáló felhasználói fiókba az Entra ID-ben, a tanúsítványt MFA-ként használva, hogy zökkenőmentes bejelentkezést biztosítson.

A tanúsítvány nem távolítható el/exportálható az eszközről, és a felhasználói fiók úgy van konfigurálva, hogy az MFA más formája nem érhető el. Ez a konfiguráció biztosítja, hogy a megosztott fiókot csak a HoloLens-eszköz tudja bejelentkezni.

A megosztott Microsoft Entra fiókok konfigurálásának lépéseinek áttekintése

A HoloLens megosztott Microsoft Entra fiókjai normál Microsoft Entra felhasználói fiókokként vannak implementálva, amelyek Microsoft Entra tanúsítványalapú hitelesítéshez (CBA) vannak konfigurálva.

A megosztott Microsoft Entra fiókok magas szintű konfigurálása a következő lépéseket tartalmazza:

  1. (Ajánlott) Konfigurálja a céleszközöket, hogy csatlakozzanak Microsoft Entra és regisztráljanak az Intune-ba az Autopilot használatával.
  2. Konfigurálja a Microsoft Entra-bérlőt úgy, hogy engedélyezze Microsoft Entra CBA-t egy kiválasztott fiókcsoporthoz.
  3. Konfigurálja Microsoft Intune, hogy eszközkonfigurációkat alkalmazzon a következő eszközök egy kiválasztott csoportjára:
    1. A CBA Microsoft Entra használt ügyféltanúsítványok üzembe helyezése az eszközökre az Intune SCEP-tanúsítványprofiljaival.
    2. Telepítse a hitelesítésszolgáltatói tanúsítványt , hogy az eszközök megbízzanak az ügyféltanúsítványok kibocsátójában.
    3. A megosztott fiók konfigurációjának üzembe helyezése, amely arra utasítja az eszközt, hogy mely tanúsítványok érvényesek Microsoft Entra CBA-ra.
  4. Előkészíti az egyes eszközöket a megosztott Microsoft Entra-fiókokhoz.

Előfeltételek

A megosztott Microsoft Entra fióktámogatás az Insider előzetes verziójától kezdve érhető el a 10.0.22621.1217-Microsoft HoloLens buildhez.

Amellett, hogy a szükséges operációs rendszer a HoloLensre épül, meg kell felelnie a Microsoft Entra CBA előfeltételeinek is (Microsoft Entra tanúsítványalapú hitelesítés konfigurálása).

Végül hozzá kell férnie a Microsoft Intune az eszközkonfigurációk és ügyféltanúsítványok üzembe helyezéséhez. Az ügyféltanúsítványok Intune-on keresztüli üzembe helyezéséhez szükséges infrastruktúráért lásd: A Microsoft Intune által támogatott tanúsítványtípusok ismertetése. Ebben a példában SCEP-tanúsítványokat használunk.

Megjegyzés

Több lehetőség is rendelkezésre áll az SCEP-tanúsítványok üzembe helyezésére, beleértve a Microsoft NDES-t és a PKI-t. A HoloLens esetében egyszerűbb lehet egy Azure-szolgáltatás használata a tanúsítványregisztráció kezeléséhez. A (Azure Marketplace) több lehetőség is rendelkezésre áll, amelyek lehetővé teszik a HoloLens megosztott Microsft Entra-fiókok konfigurációinak elkülönítését a vállalati PKI-től.

Az SCEP szolgáltatás fő követelményei a következők:

  1. A szolgáltatás elfogadhatja Microsoft Intune eszköztanúsítvány-kéréseit.
  2. A szolgáltatás képes a meghatározott EKU-val rendelkező tanúsítványok létrehozására (ügyfél-hitelesítés és intelligenskártya-bejelentkezés).

Erősen ajánlott konfigurálni az eszközöket az Autopilothoz. Az Autopilot leegyszerűsíti a végfelhasználók eszközbeállítási élményét.

A Microsoft Entra-bérlő konfigurálása Microsoft Entra CBA engedélyezéséhez

A Microsoft Entra-bérlőt úgy kell konfigurálni, hogy engedélyezze Microsoft Entra CBA-t egy kiválasztott felhasználói csoport számára.

  1. Hozzon létre egy Microsoft Entra csoportot, amely tartalmazza a megosztott Microsoft Entra-fiókokat. Példaként a "SharedAccounts" nevet használjuk ehhez a csoporthoz.
  2. Hozzon létre egy Microsoft Entra csoportot, amely tartalmazza a megosztott HoloLens-eszközöket. Példaként ehhez a csoporthoz a "SharedDevices" nevet használjuk. Ezt a csoportot később eszközalapú Intune-konfigurációs profilokhoz rendelik.
  3. Engedélyezze Microsoft Entra tanúsítványalapú hitelesítést (CBA) a SharedAccounts csoporthoz. A teljes részletes útmutatóért lásd: Microsoft Entra tanúsítványalapú hitelesítés konfigurálása. A beállításhoz a következő magas szintű lépések szükségesek:
    1. Adja hozzá a hitelesítésszolgáltató tanúsítványát a Microsoft Entra. Microsoft Entra ID lehetővé teszi a hitelesítésszolgáltató által kibocsátott ügyféltanúsítványok számára a CBA végrehajtását.
    2. Engedélyezze a CBA-t a "SharedAccounts" csoporthoz.
    3. Úgy konfigurálja a CBA-t, hogy a hitelesítésszolgáltató által kibocsátott tanúsítvány MFA-t használjon. Ez a lépés annak biztosítása, hogy a felhasználók egy másik tényező beállítása nélkül férhessenek hozzá az MFA-t igénylő erőforrásokhoz.
    4. Engedélyezze a tanúsítványkötést a UserPrincipalName használatával.

Intune-konfiguráció

Az Intune-t úgy kell konfigurálni, hogy a CBA Microsoft Entra szükséges tanúsítványokat telepítse. Az Intune-nak üzembe kell helyeznie egy konfigurációt is, amely utasítja az eszközöket, hogy mely tanúsítványok érvényesek Microsoft Entra CBA-ra.

Ügyféltanúsítvány üzembe helyezése az SCEP-en keresztül

Az eszközöknek rendelkezniük kell a megfelelő ügyféltanúsítvánnyal Microsoft Entra CBA végrehajtásához. Hozzon létre egy SCEP-konfigurációt, és rendelje hozzá a "SharedDevices"-hez:

  1. Tanúsítvány típusa: Eszköz

  2. Adjon hozzá egy egyszerű felhasználónevet (UPN) Tulajdonos alternatív neve (SAN), ahol az érték az eszközhöz rendelt megosztott fiók egyszerű felhasználóneve. Az UPN-nek tartalmaznia kell az eszköz sorozatszámát az eszközhöz való társításához. A(z) {{Device_Serial}} Intune-változóval hivatkozhat az eszköz sorozatszámára. Adjon meg például egy értéket HL-{{Device_Serial}}@contoso.com , ha a megosztott fiókok névformátuma a következő HL-123456789@contoso.com: .

  3. Kulcstároló-szolgáltató (KSP): Válassza a "TPM megkövetelése, ellenkező esetben sikertelen" lehetőséget annak biztosításához, hogy a tanúsítványt ne lehessen exportálni az eszközről máshol használni.

  4. Győződjön meg arról, hogy a tanúsítvány legalább a következő kiterjesztett kulcshasználatokkal (EKU-kkal) rendelkezik:

    • Smartcard-bejelentkezés: 1.3.6.1.4.1.311.20.2.2
    • Ügyfél-hitelesítés: 1.3.6.1.5.5.7.3.2

    További EKU-kat is hozzáadhat ehhez a listához, hogy tovább korlátozza a Microsoft Entra CBA-hoz engedélyezett tanúsítványokat. Ezeket az EKU-kat hozzá kell adnia a ConfigureSharedAccount szabályzat XML-hez.

Példa SCEP-konfigurációra

Az SCEP Intune-ban történő konfigurálásának részletes lépéseit lásd: SCEP-tanúsítványprofilok használata Microsoft Intune.

Hitelesítésszolgáltatói tanúsítvány üzembe helyezése

Az eszközöknek megbízhatónak kell lennie az ügyféltanúsítványt kiállító hitelesítésszolgáltatóban is. Hozzon létre egy megbízható tanúsítványkonfigurációt, és rendelje hozzá a "SharedDevices" csoporthoz. Ez a hozzárendelés üzembe helyezi a hitelesítésszolgáltatói tanúsítványt az eszközökön. Lásd: Megbízható tanúsítványprofilok létrehozása Microsoft Intune.

ConfigureSharedAccount szabályzat

Ez a szabályzat tájékoztatja az eszközöket, hogy mely tanúsítványok használhatók Microsoft Entra CBA-hoz. Hozzon létre egy egyéni eszközkonfigurációs szabályzatot, és rendelje hozzá a "SharedDevices" szolgáltatáshoz:

Szabályzat Adattípus
./Vendor/MSFT/Policy/Config/MixedReality/ConfigureSharedAccount Sztring vagy sztring (XML-fájl)

Példakonfiguráció:

<SharedAccountConfiguration>
    <SharedAccount>
        <!--
          TODO: Replace the example value below with your issuer certificate's thumbprint.
          You may customize the restrictions for which certificates are displayed. See below.
        -->
        <IssuerThumbprint>77de0879f69314d867bd08fcf2e8e6616548b3c8</IssuerThumbprint>
    </SharedAccount>
</SharedAccountConfiguration>

Testre szabhatja azokat a korlátozásokat, amelyeknél a tanúsítványok Microsoft Entra CBA-hoz jelennek meg. A fenti példa megköveteli, hogy a kiállító tanúsítványának ujjlenyomata megegyezik a megadott értékkel. A korlátozást a kiállító neve alapján is alkalmazhatja, vagy további korlátozásokat alkalmazhat a tanúsítvány kiterjesztett kulcshasználata (EKU-k) alapján. Lásd: ConfigureSharedAccount XML Példák az XML konfigurálására.

Az eszközkonfiguráció mentése előtt ellenőrizze az XML-t a ConfigureSharedAccount XML-sémában megadott sémával, hogy az megfelelően legyen formázva.

Egyedi eszközkonfiguráció

A megosztott Microsoft Entra fiókokhoz konfigurálni kívánt Minden HoloLens-eszköz esetében hajtsa végre a következő lépéseket:

  1. Hozzon létre egy Microsoft Entra felhasználót az ügyféltanúsítvány SCEP-en keresztüli üzembe helyezésének 2. lépésében megadott formátumban. Példa: HL-123456789@contoso.com.
  2. Adja hozzá a felhasználót a "SharedAccounts" csoporthoz.
  3. Győződjön meg arról, hogy az eszköz hozzá van adva a "SharedDevices" csoporthoz. Először konfigurálja az eszközöket az Autopilothoz, hogy azok már Microsoft Entra legyenek.

A folyamat automatizálásához használható PowerShell-szkript példáiért lásd: Eszközbeállítási példaszkript .

A konfiguráció tesztelése

Miután elvégezte a fenti konfigurációt, kipróbálhatja a megosztott Microsoft Entra-fiókokat a HoloLensen!

Ha az eszköz már konfigurálva van az Autopilothoz, vegye át az eszközt a szokásos Autopilot-folyamaton. A szükséges eszközkonfigurációk az Autopilot során lesznek alkalmazva. Az Autopilot-folyamat befejezése után a következő képernyő jelenik meg:

Bejelentkezési képernyő megosztott fiókkal

Koppintson a "Bejelentkezés" gombra a megosztott Microsoft Entra fiók használatának megkezdéséhez.

Hibaelhárítás

Probléma: A megosztott Microsoft Entra fiók nem jelenik meg a bejelentkezési képernyőn!

Megoldás: Először ellenőrizze, hogy az eszköz a megfelelő tanúsítványokat kapja-e. Nyissa meg a tanúsítványkezelőt (Tanúsítványkezelő), és győződjön meg arról, hogy az ügyféltanúsítvány és a hitelesítésszolgáltatói tanúsítványok is sikeresen üzembe lettek helyezve az eszközön.

Az ügyféltanúsítvány esetében győződjön meg arról, hogy telepítve van a "Saját" tárolóba a "Helyi gépen".

Tanúsítványkezelő a tanúsítvány helyével

Ha a tanúsítvány nem található, kövesse az Intune SCEP-profilok hibaelhárítási lépéseit.

Ha a tanúsítvány jelen van, győződjön meg arról, hogy a tanúsítvány az érvényességi dátumokon belül van a várt kiállítóval és EKU-val:

Tanúsítványkezelő a tanúsítvány tulajdonságaival

Ezután győződjön meg arról, hogy a MixedReality/ConfigureSharedAccount fájlra alkalmazott XML-szabályzatérték megfelelően van formázva. Az online számos XML-séma (XSD) egyikével ellenőrizheti, hogy az XML megfelel-e a ConfigureSharedAccount XML-sémában leírt sémának.

Probléma: A bejelentkezési kísérlet sikertelen!

Megoldás: Ellenőrizze, hogy megfelelően konfigurálta-e a CBA-t a Microsoft Entra tanúsítványalapú hitelesítés konfigurálásával kapcsolatos utasításokat követve. Tekintse meg a tanúsítványalapú hitelesítés (CBA) Microsoft Entra gyakori kérdéseit is. Néha hasznos lehet, ha először megpróbálkozhat ezekkel a hibakeresési lépésekkel egy windowsos asztali eszközön: a Windows intelligens kártyás bejelentkezés Microsoft Entra tanúsítványalapú hitelesítéssel.

Hivatkozások

ConfigureSharedAccount XML-séma

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <xsd:element name="SharedAccountConfiguration">
    <xsd:complexType mixed="true">
      <xsd:sequence>
        <xsd:element minOccurs="1" maxOccurs="1" name="SharedAccount">
          <xsd:complexType>
            <xsd:sequence>
              <xsd:choice>
                <xsd:element name="IssuerThumbprint">
                  <xsd:simpleType>
                    <xsd:restriction base="xsd:string">
                      <xsd:maxLength value="40" />
                    </xsd:restriction>
                  </xsd:simpleType>
                </xsd:element>
                <xsd:element name="IssuerName">
                  <xsd:simpleType>
                    <xsd:restriction base="xsd:string">
                      <xsd:maxLength value="512" />
                    </xsd:restriction>
                  </xsd:simpleType>
                </xsd:element>
              </xsd:choice>
              <xsd:element minOccurs="0" maxOccurs="1" name="EkuOidRequirements">
                <xsd:complexType>
                  <xsd:sequence>
                    <xsd:element maxOccurs="5" name="Oid">
                      <xsd:simpleType>
                        <xsd:restriction base="xsd:string">
                          <xsd:maxLength value="100" />
                        </xsd:restriction>
                      </xsd:simpleType>
                    </xsd:element>
                  </xsd:sequence>
                </xsd:complexType>
              </xsd:element>
            </xsd:sequence>
          </xsd:complexType>
        </xsd:element>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>
</xsd:schema>

ConfigureSharedAccount XML-példák

Megkövetelheti, hogy a kiállító tanúsítványa CN=yourCA, DC=Test tanúsítvánnyal rendelkezik:

<SharedAccountConfiguration>
    <SharedAccount>
        <IssuerName>CN=yourCA, DC=Test</IssuerName>
    </SharedAccount>
</SharedAccountConfiguration>

A kiállító tanúsítványának rendelkeznie kell egy megadott ujjlenyomattal:

<SharedAccountConfiguration>
    <SharedAccount>
        <IssuerThumbprint>77de0879f69314d867bd08fcf2e8e6616548b3c8</IssuerThumbprint>
    </SharedAccount>
</SharedAccountConfiguration>

A kiállító tanúsítványának rendelkeznie kell egy megadott ujjlenyomattal, és hogy az ügyféltanúsítvány 1.2.3.4.5.6 és 1.2.3.4.5.7 azonosítójú EKU-kkal rendelkezik:

<SharedAccountConfiguration>
    <SharedAccount>
        <IssuerThumbprint>77de0879f69314d867bd08fcf2e8e6616548b3c8</IssuerThumbprint>
        <EkuOidRequirements>
            <Oid>1.2.3.4.5.6</Oid>
            <Oid>1.2.3.4.5.7</Oid>
        </EkuOidRequirements>
    </SharedAccount>
</SharedAccountConfiguration>

Az EKUs 1.3.6.1.4.1.311.20.2.2 (Smartcard Logon) és az 1.3.6.1.5.5.7.3.2 (ügyfél-hitelesítés) mindig szükséges, függetlenül attól, hogy szerepelnek-e a listában.

Példa eszközbeállítási szkriptre

A mintaeszköz-beállítási szkript használata előtt módosítsa a hivatkozásokat a "contoso"-ról a tartomány nevére.

<#
.Synopsis
Configures a device for shared account

.Description
This script configures a device for shared account.

Note that you'll need to have the necessary permissions in your tenant to manage
user and device memberships and query Intune devices.

.Example
.\ConfigureSharedDevice.ps1 400064793157
#>


param (
    [Parameter(Mandatory = $true)]
    [string]
    # Serial number of the device. Typically a 12-digit numeric string.
    $DeviceSerialNumber,
    [string]
    # Group ID of the group that contains the shared accounts such as HL-123456789@contoso.com
    $SharedAccountGroupId,
    [string]
    # Group ID of the group that contains the shared devices
    $SharedDeviceGroupId
)

function Install-Dependencies {
    Write-Host -Foreground Cyan "Installing Dependencies..."

    if (!(Get-InstalledModule Microsoft.Graph -ErrorAction SilentlyContinue)) {
        Write-Host -Foreground Cyan "Installing Microsoft.Graph"
        Install-Module Microsoft.Graph -Scope CurrentUser -Repository 'PSGallery'
    }

    Write-Host -Foreground Cyan "Installing Dependencies... Done"
}

function New-PasswordString {
    $alphabet = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*()_-=+[]{}|;:,.<>/?'
    $length = 40
    $password = ""
    for ($i = 0; $i -lt $length; $i++) {
        $password += $alphabet[(Get-Random -Minimum 0 -Maximum $alphabet.Length)]
    }

    return $password
}

function New-SharedUser {
    param (
        $UserName,
        $DisplayName
    )

    # Does user already exist?
    $searchResult = Get-MgUser -Count 1 -ConsistencyLevel eventual -Search "`"UserPrincipalName:$UserName`""

    if ($searchResult.Count -gt 0) {
        Write-Host -Foreground Cyan "$UserName exists, using existing user."
        return $searchResult
    }

    $mailNickName = $UserName.Split('@')[0];

    Write-Host -Foreground Cyan "Creating $UserName"

    $passwordProfile = @{
        Password = New-PasswordString
    }

    return New-MgUser -AccountEnabled -DisplayName $DisplayName -Country US -UsageLocation US -MailNickname $mailNickName -UserPrincipalName $UserName -PasswordProfile $passwordProfile
}

function New-SharedUserForDevice {
    param (
        $DeviceSerialNumber
    )

    $userName = "HL-$DeviceSerialNumber@contoso.onmicrosoft.com"
    $displayName = "Shared HoloLens"

    return New-SharedUser -UserName $userName -DisplayName $displayName
}

function Add-UserToGroup {
    param (
        $UserId,
        $GroupId
    )

    $groupResult = Get-MgGroup -GroupId $GroupId
    if ($groupResult.Count -eq 0) {
        throw "Failed to find user group"
    }

    Write-Host -Foreground Cyan "Adding user ($UserId) to group"
    New-MgGroupMember -GroupId $GroupId -DirectoryObjectId $UserId
}

function Get-DeviceAADId {
    param (
        $DeviceSerialNumber
    )

    $deviceResult = Get-MgDeviceManagementManagedDevice | Where-Object { $_.SerialNumber -eq $DeviceSerialNumber }

    if ($deviceResult.Count -eq 0) {
        throw "Cannot find device with serial number $DeviceSerialNumber in Intune"
    }

    $result = ($deviceResult | Select-Object -First 1).AzureAdDeviceId

    Write-Host "Found device: $result"

    return $result
}

function Add-DeviceToGroup {
    param (
        $DeviceAADId,
        $GroupId
    )

    $groupResult = Get-MgGroup -GroupId $GroupId
    if ($groupResult.Count -eq 0) {
        throw "Failed to find device group"
    }

    $deviceResult = Get-MgDevice -Count 1 -ConsistencyLevel eventual -Search "`"DeviceId:$DeviceAADId`""
    if ($deviceResult.Count -eq 0) {
        throw "Failed to find device $DeviceAADId"
    }

    Write-Host -Foreground Cyan "Adding device $($deviceResult.Id) to group"
    
    New-MgGroupMember -GroupId $GroupId -DirectoryObjectId $deviceResult.Id
}

function Register-SharedDevice {
    param (
        $DeviceSerialNumber
    )

    Install-Dependencies

    Connect-MgGraph -Scopes "User.ReadWrite.All", "Group.Read.All", "GroupMember.ReadWrite.All", "DeviceManagementManagedDevices.Read.All", "Device.ReadWrite.All"

    $deviceAADId = Get-DeviceAADId $DeviceSerialNumber
    Add-DeviceToGroup $deviceAADId $SharedDeviceGroupId

    $user = New-SharedUserForDevice $DeviceSerialNumber
    Add-UserToGroup $user.Id $SharedAccountGroupId
}

Register-SharedDevice $DeviceSerialNumber