Snabbstart: Etablera en simulerad TPM-enhet
I den här snabbstarten skapar du en TPM-simulerad enhet på din Windows dator. När du har konfigurerat enheten etablerar du den till din IoT-hubb med hjälp av Azure IoT Hub Device Provisioning-tjänsten. Exempelkoden används sedan för att registrera enheten med en instans av enhetsetableringstjänsten
Om du inte är bekant med etableringsprocessen kan du läsa etableringsöversikten. Se också till att slutföra stegen i Set up IoT Hub Device Provisioning Service with the Azure portal (Konfigurera IoT Hub Device Provisioning-tjänsten med Azure Portal) innan du fortsätter.
Azure IoT Device Provisioning Service stöder två typer av registreringar:
Registreringsgrupper som används för att registrera flera relaterade enheter.
Enskilda registreringar som används för att registrera en enskild enhet.
Den här artikeln visar enskilda registreringar.
Krav
Om du inte har en Azure-prenumeration kan du skapa ett kostnadsfritt konto innan du börjar.
Slutför stegen i Konfigurera IoT Hub Device Provisioning Service med Azure Portal.
Följande krav gäller för en Windows utvecklingsmiljö. För Linux eller macOS, se lämpligt avsnitt i Förbereda utvecklingsmiljön i SDK-dokumentationen.
- Visual Studio 2019 med arbetsbelastningen "Desktop development with C++" (Skrivbordsutveckling med C++) aktiverad. Visual Studio 2015 och Visual Studio 2017 stöds också.
Installera .NET Core 2.1 SDK eller senare Windows din dator. Du kan använda följande kommando för att kontrollera din version.
dotnet --info
- Installera Node.js v4.0+.
Installera Python 2.x eller 3.x. Se till att använda en 32-bitars eller 64-bitars installation beroende på vad som krävs för din konfiguration. Se till att du lägger till Python i de plattformsspecifika miljövariablerna när du uppmanas att göra det under installationen.
Om du använder ett Windows-operativsystem installerar du Visual C++ redistributable package så att du kan använda inbyggda DLL:er från Python.
Visual Studio 2019 med arbetsbelastningen "Desktop development with C++" (Skrivbordsutveckling med C++) aktiverad. Visual Studio 2015 och Visual Studio 2017 stöds också.
Installera Java SE Development Kit 8 eller senare installerat på datorn.
Ladda ned och installera Maven.
- Installera den senaste versionen av Git. Kontrollera att Git har lagts till i miljövariablerna som är tillgängliga för kommandofönstret. Den senaste versionen av verktygen som ska installeras finns i Software Freedom Conservancys Git-klientverktyg, som innehåller Git Bash , kommandoradsappen som du kan använda för att interagera med din lokala
gitGit-lagringsplats.
Förbereda utvecklingsmiljön
I det här avsnittet förbereder du en utvecklingsmiljö som används för att skapa Azure IoT C SDK och exemplet på TPM-enhetssimulator.
Ladda ned det senaste CMake-byggsystemet.
Viktigt
Kontrollera att Visual Studio (Visual Studio och arbetsbelastningen "Desktop development with C++" (Skrivbordsutveckling med C++) är installerade på datorn innan du startar
CMakeinstallationen. När förutsättningarna är uppfyllda och nedladdningen har verifierats installerar du CMake-byggesystemet. Tänk också på att äldre versioner av CMake-byggsystemet inte kan generera lösningsfilen som används i den här artikeln. Se till att använda den senaste versionen av CMake.Öppna en webbläsare och gå till sidan Version i Azure IoT C SDK.
Välj fliken Taggar överst på sidan.
Kopiera taggnamnet för den senaste versionen av Azure IoT C SDK.
Öppna en kommandotolk eller Git Bash-gränssnittet. Kör följande kommandon för att klona den senaste versionen av Azure IoT C SDK GitHub lagringsplatsen. (ersätt
<release-tag>med taggen som du kopierade i föregående steg).git clone -b <release-tag> https://github.com/Azure/azure-iot-sdk-c.git cd azure-iot-sdk-c git submodule update --initDen här åtgärden kan ta flera minuter att slutföra.
När åtgärden har slutförts kör du följande kommandon från
azure-iot-sdk-ckatalogen :mkdir cmake cd cmake
Öppna en Git CMD- eller Git Bash-kommandoradsmiljö.
Klona Azure IoT-exempel för C# GitHub lagringsplatsen med följande kommando:
git clone https://github.com/Azure-Samples/azure-iot-samples-csharp.git
Öppna en Git CMD- eller Git Bash-kommandoradsmiljö.
Klona lagringsplatsen azure-utpm-c GitHub med följande kommando:
git clone https://github.com/Azure/azure-utpm-c.git --recursive
Öppna en Git CMD- eller Git Bash-kommandoradsmiljö.
Klona Python GitHub-lagringsplatsen med följande kommando:
git clone --single-branch --branch v1-deprecated https://github.com/Azure/azure-iot-sdk-python.git --recursiveSkapa en mapp i din lokala kopia av den GitHub lagringsplatsen för CMake-byggprocessen.
cd azure-iot-sdk-python/c mkdir cmake cd cmakeSkapa Python-paketen med hjälp av de här instruktionerna.
Anteckning
Om du kör
build_client.cmdanvänder du--use-tpm-simulator-flagan.Anteckning
Om du använder
pipska du även installeraazure-iot-provisioning-device-client-paketet. Obs! De utgivna PIP-paketen använder verkliga TPM, inte simulatorn. Om du vill använda simulatorn måste du kompilera från källan med--use-tpm-simulator-flaggan.
Öppna en Git CMD- eller Git Bash-kommandoradsmiljö.
Klona Java GitHub-lagringsplatsen med följande kommando:
git clone https://github.com/Azure/azure-iot-sdk-java.git --recursive
Skapa och köra TPM-enhetssimulatorn
I det här avsnittet skapar och kör du TPM-simulatorn. Den här simulatorn lyssnar via en socket på portarna 2321 och 2322. Stäng inte kommandofönstret. Du måste se till att simulatorn körs till slutet av den här snabbstarten.
Kör följande kommando för att skapa Azure IoT C SDK som innehåller exempelkoden för TPM-enhetssimulatorn. En Visual Studio lösning för den simulerade enheten genereras i
cmakekatalogen . Det här exemplet tillhandahåller en TPM-attesteringsmekanism via SAS-tokenautentisering (signatur för delad åtkomst).cmake -Duse_prov_client:BOOL=ON ..Tips
Om
cmakeinte hittar din C++-kompilator kan du få kompileringsfel när du kör kommandot ovan. Om det händer kan du försöka köra kommandot i Visual Studio kommandotolken.När bygget har lyckats ser de sista utdataraderna ut ungefär som följande utdata:
$ cmake -Duse_prov_client:BOOL=ON .. -- Building for: Visual Studio 16 2019 -- The C compiler identification is MSVC 19.23.28107.0 -- The CXX compiler identification is MSVC 19.23.28107.0 ... -- Configuring done -- Generating done -- Build files have been written to: C:/code/azure-iot-sdk-c/cmakeGå till rotmappen för git-lagringsplatsen som du klonade.
Kör TPM-simulatorn med hjälp av sökvägen som visas nedan.
cd .. .\provisioning_client\deps\utpm\tools\tpm_simulator\Simulator.exeSimulatorn visar inga utdata. Låt den fortsätta att köras när den simulerar en TPM-enhet.
I huvudmenyn för device provisioning-tjänsten väljer du Översikt.
Kopiera värdet FÖR ID-omfång.

I en kommandotolk ändrar du kataloger till projektkatalogen för TPM-enhetsetableringsexemplet.
cd .\azure-iot-samples-csharp\provisioning\Samples\device\TpmSampleSkriv följande kommando för att skapa och köra TPM-enhetsetableringsexempel (ersätt
<IDScope>med ID-omfånget för din etableringstjänst).dotnet run <IDScope>Anteckning
Det här kommandot startar simulatorn för TPM-chip i en separat kommandotolk. På Windows kan du stöta på en Windows-säkerhet-avisering som frågar om du vill
Simulator.exetillåta kommunikation i offentliga nätverk. I det här exemplet kan du avbryta begäran.Det ursprungliga kommandofönstret visar bekräftelsenyckeln, registrerings-ID och ett föreslaget enhets-ID som krävs för enhetsregistrering. Anteckna värdena. Du använder dessa värden för att skapa en enskild registrering i instansen av enhetsetableringstjänsten.
Anteckning
Blanda inte ihop fönstret som innehåller utdata från kommandot med fönstret som innehåller utdata från TPM-simulatorn. Du kan behöva välja det ursprungliga kommandofönstret för att få det till förgrunden.
Gå till GitHub rotmappen.
Kör TPM-simulatorn som HSM för den simulerade enheten.
.\azure-utpm-c\tools\tpm_simulator\Simulator.exeSkapa en ny tom mapp med namnet registerdevice. I mappen registerdevice skapar du en package.json-fil med följande kommando i kommandotolken (se till att besvara alla frågor som ställs av eller acceptera standardinställningarna om de
npmpassar dig):npm initInstallera följande tidigare paket:
npm install node-gyp -g npm install ffi -gAnteckning
Det finns några kända problem som kan uppstå när du installerar ovanstående paket. För att lösa dessa problem kan du köra
npm install --global --production windows-build-toolsmed hjälp av en kommandotolk i läget Kör som administratör. KörSET VCTargetsPath=C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140efter att du ersatt sökvägen med den installerade versionen och kör sedan installationskommandona igen.Installera alla nödvändiga paket som kör följande kommando i kommandotolken i mappen registerdevice:
npm install --save azure-iot-device azure-iot-device-mqtt azure-iot-security-tpm azure-iot-provisioning-device-http azure-iot-provisioning-deviceKommandot installerar följande paket:
en säkerhetsklient som fungerar med TPM:
azure-iot-security-tpmen transport för att enheten ska kunna ansluta till enhetsetableringstjänsten: antingen
azure-iot-provisioning-device-httpellerazure-iot-provisioning-device-amqpen klient som använder transport- och säkerhetsklienten:
azure-iot-provisioning-deviceenhetsklienten:
azure-iot-deviceen transport: antingen
azure-iot-device-amqp,azure-iot-device-mqttellerazure-iot-device-httpsäkerhetsklienten som du redan har installerat:
azure-iot-security-tpmAnteckning
Exemplen i den här snabbstarten använder
azure-iot-provisioning-device-httpazure-iot-device-mqtttransporterna och .
Öppna en textredigerare med dina val.
I mappen registerdevice skapar du en ny ExtractDevice.js fil.
Lägg till följande
require-instruktioner i början av ExtractDevice.js-filen:'use strict'; var tpmSecurity = require('azure-iot-security-tpm'); var tssJs = require("tss.js"); var myTpm = new tpmSecurity.TpmSecurityClient(undefined, new tssJs.Tpm(true));Lägg till följande funktion för att implementera metoden:
myTpm.getEndorsementKey(function(err, endorsementKey) { if (err) { console.log('The error returned from get key is: ' + err); } else { console.log('the endorsement key is: ' + endorsementKey.toString('base64')); myTpm.getRegistrationId((getRegistrationIdError, registrationId) => { if (getRegistrationIdError) { console.log('The error returned from get registration id is: ' + getRegistrationIdError); } else { console.log('The Registration Id is: ' + registrationId); process.exit(); } }); } });Spara och stäng ExtractDevice.js-filen.
node ExtractDevice.jsKör exemplet.
Utdatafönstret visar bekräftelsenyckeln och det registrerings-ID som krävs för enhetsregistrering. Kopiera de här värdena.
Kör följande kommando för att aktivera AUTENTISERING av SAS-token (kommandot genererar även en Visual Studio lösning för den simulerade enheten):
cmake -Duse_prov_client:BOOL=ON -Duse_tpm_simulator:BOOL=ON ..Öppna en andra kommandotolk.
I den andra kommandotolken navigerar du till TPM-simulatormappen.
Kör TPM-simulatorn som HSM för den simulerade enheten.
Välj Tillåt åtkomst. Simulatorn lyssnar via en socket på portarna 2321 och 2322. Stäng inte det här kommandofönstret. du måste se till att simulatorn fortsätter att köras till slutet av den här snabbstartsguiden.
.\azure-iot-sdk-python\c\provisioning_client\deps\utpm\tools\tpm_simulator\Simulator.exe

Kör TPM-simulatorn som HSM för den simulerade enheten.
Välj Tillåt åtkomst. Simulatorn lyssnar via en socket på portarna 2321 och 2322. Stäng inte det här kommandofönstret. du måste se till att simulatorn fortsätter att köras till slutet av den här snabbstartsguiden.
.\azure-iot-sdk-java\provisioning\provisioning-tools\tpm-simulator\Simulator.exe
Öppna en andra kommandotolk.
I den andra kommandotolken navigerar du till rotmappen och skapar exempelberoendena.
cd azure-iot-sdk-java mvn install -DskipTests=trueNavigera till exempelmappen.
cd provisioning/provisioning-samples/provisioning-tpm-sample
Läsa kryptografiska nycklar från TPM-enheten
I det här avsnittet skapar och kör du ett exempel som läser bekräftelsenyckeln och registrerings-ID:t från TPM-simulatorn som du slutade köra och som fortfarande lyssnar via portarna 2321 och 2322. Dessa värden används för enhetsregistrering med din instans för enhetsetableringstjänst.
Starta Visual Studio.
Öppna lösningen som genererades i cmake-mappen med namnet
azure_iot_sdks.sln.På Visual Studio väljer du Skapa > bygglösning för att skapa alla projekt i lösningen.
I fönstret Solution Explorer i Visual Studio går du till mappen Provision (Etablera)_Verktyg. Högerklicka på projektet tpm_device_provision och markera Set as Startup Project (Ange som startprojekt).
På Visual Studio väljer du Felsök > Starta utan felsökning för att köra lösningen. Appen läser och visar ett registrerings-ID och en bekräftelsenyckel. Anteckna eller kopiera dessa värden. Dessa kommer att användas i nästa avsnitt för enhetsregistrering.
Starta Visual Studio.
Öppna lösningen som genererades i cmake-mappen med namnet
azure_iot_sdks.sln.På Visual Studio väljer du Skapa > bygglösning för att skapa alla projekt i lösningen.
Högerklicka på projektet tpm_device_provision och markera Set as Startup Project (Ange som startprojekt).
Kör lösningen. Utdatafönstret visar bekräftelsenyckeln och det registrerings-ID som krävs för enhetsregistrering. Kopiera de här värdena.
Logga in på Azure Portal, välj knappen Alla resurser på den vänstra menyn och öppna Device Provisioning-tjänsten. Anteckna ID-omfånget och den globala slutpunkten för etableringstjänsten.

Redigera
src/main/java/samples/com/microsoft/azure/sdk/iot/ProvisioningTpmSample.javaså att ID-omfång och Global slutpunkt för etableringstjänsten inkluderas enligt tidigare notering.private static final String idScope = "[Your ID scope here]"; private static final String globalEndpoint = "[Your Provisioning Service Global Endpoint here]"; private static final ProvisioningDeviceClientTransportProtocol PROVISIONING_DEVICE_CLIENT_TRANSPORT_PROTOCOL = ProvisioningDeviceClientTransportProtocol.HTTPS;Spara filen.
Använd följande kommandon för att skapa projektet, navigera till målmappen och kör den skapade .jar-filen (ersätt
{version}med din version av Java):mvn clean install cd target java -jar ./provisioning-tpm-sample-{version}-with-deps.jarNär programmet börjar köras visas bekräftelsenyckeln och registrerings-ID:t. Kopiera dessa värden för nästa avsnitt. Se till att lämna programmet igång.
Skapa en post för enhetsregistrering
Logga in på Azure-portalen.
Välj Alla resurser på den vänstra menyn eller på portalsidan.
Välj device provisioning-tjänsten.
På Inställningar väljer du Hantera registreringar.
Längst upp på sidan väljer du + Lägg till enskild registrering.
I panelen Lägg till registrering anger du följande information:
Välj TPM som identitet för bestyrkande mekanism.
Ange registrerings-ID och bekräftelsenyckel för din TPM-enhet från de värden som du antecknade tidigare.
Välj en IoT hub som är länkad till din etableringstjänst.
Du kan även ange följande information:
- Ange ett unikt enhets-ID (du kan använda den föreslagna test-docs-device eller ange ett eget). Se till att undvika känsliga data när du namnger din enhet. Om du väljer att inte ange ett kommer registrerings-ID:t att användas för att identifiera enheten i stället.
- Uppdatera inledande enhetstvillingstatus med önskad inledande konfiguration för enheten.
När du är klar trycker du på knappen Spara.

Välj Spara.
Registrera enheten
I det här avsnittet konfigurerar du exempelkoden för att använda Advanced Message Queueing Protocol (AMQP) för att skicka enhetens startsekvens till instansen av enhetsetableringstjänsten. Den här startsekvensen gör att enheten registreras på en IoT-hubb som är länkad till instansen av enhetsetableringstjänsten.
I Azure Portal väljer du fliken Översikt för enhetsetableringstjänsten.
Kopiera värdet FÖR ID-omfång.

I fönstret Solution Explorer i Visual Studio går du till mappen Provision (Etablera)_Exempel. Expandera exempelprojektet som heter prov_dev_client_sample. Expandera Källfiler och öppna prov_dev_client_sample.c.
Längst upp i filen hittar du
#define-uttrycken för varje enhetsprotokoll enligt nedan. Se till att endastSAMPLE_AMQPsaknar kommentarer.För närvarande stöds inte MQTT-protokollet för enskild TPM-registrering.
// // The protocol you wish to use should be uncommented // //#define SAMPLE_MQTT //#define SAMPLE_MQTT_OVER_WEBSOCKETS #define SAMPLE_AMQP //#define SAMPLE_AMQP_OVER_WEBSOCKETS //#define SAMPLE_HTTPHitta konstanten
id_scopeoch ersätt värdet med ditt värde för ID-omfång som du kopierade tidigare.static const char* id_scope = "0ne00002193";Hitta definitionen för funktionen
main()i samma fil. Kontrollera att variabelnhsm_typeanges tillSECURE_DEVICE_TYPE_X509i stället förSECURE_DEVICE_TYPE_TPMenligt nedan.SECURE_DEVICE_TYPE hsm_type; //hsm_type = SECURE_DEVICE_TYPE_TPM; hsm_type = SECURE_DEVICE_TYPE_X509;Högerklicka på projektet prov_dev_client_sample och välj Set as Startup Project (Ange som startprojekt).
På Visual Studio väljer du Felsök > Starta utan felsökning för att köra lösningen. När du uppmanas att återskapa projektet väljer du Ja för att återskapa projektet innan du kör det.
Följande utdata är ett exempel på när etableringsenhetens klientprov lyckas med starten och ansluter till en instans av enhetsetableringstjänst för att hämta IoT-hubbinformation och registrera:
Provisioning API Version: 1.2.7 Registering... Press enter key to interrupt. Provisioning Status: PROV_DEVICE_REG_STATUS_CONNECTED Provisioning Status: PROV_DEVICE_REG_STATUS_ASSIGNING Provisioning Status: PROV_DEVICE_REG_STATUS_ASSIGNING Registration Information received from service: test-docs-hub.azure-devices.net, deviceId: test-docs-cert-device
I Azure Portal väljer du fliken Översikt för enhetsetableringstjänsten.
Kopiera värdet FÖR ID-omfång.

Öppna en valfri textredigerare.
I mappen registerdevice skapar du en ny RegisterDevice.js fil.
Lägg till följande
require-instruktioner i börjanRegisterDevice.jsfilen:'use strict'; var ProvisioningTransport = require('azure-iot-provisioning-device-http').Http; var iotHubTransport = require('azure-iot-device-mqtt').Mqtt; var Client = require('azure-iot-device').Client; var Message = require('azure-iot-device').Message; var tpmSecurity = require('azure-iot-security-tpm'); var ProvisioningDeviceClient = require('azure-iot-provisioning-device').ProvisioningDeviceClient;Anteckning
Azure IoT SDK för Node.js har stöd för fler protokoll, exempelvis AMQP, AMQP WS och MQTT WS. Fler exempel finns i Exempel på enhetsetableringstjänstens SDK för Node.js.
Lägg till variablerna globalDeviceEndpoint och idScope och använd dem för att skapa en ProvisioningDeviceClient-instans. Ersätt {globalDeviceEndpoint} och {idScope} med värdena i Global enhetsslutpunkt och ID-omfång från Steg 1:
var provisioningHost = '{globalDeviceEndpoint}'; var idScope = '{idScope}'; var tssJs = require("tss.js"); var securityClient = new tpmSecurity.TpmSecurityClient('', new tssJs.Tpm(true)); // if using non-simulated device, replace the above line with following: //var securityClient = new tpmSecurity.TpmSecurityClient(); var provisioningClient = ProvisioningDeviceClient.create(provisioningHost, idScope, new ProvisioningTransport(), securityClient);Lägg till följande funktion för att implementera metoden på enheten:
provisioningClient.register(function(err, result) { if (err) { console.log("error registering device: " + err); } else { console.log('registration succeeded'); console.log('assigned hub=' + result.registrationState.assignedHub); console.log('deviceId=' + result.registrationState.deviceId); var tpmAuthenticationProvider = tpmSecurity.TpmAuthenticationProvider.fromTpmSecurityClient(result.registrationState.deviceId, result.registrationState.assignedHub, securityClient); var hubClient = Client.fromAuthenticationProvider(tpmAuthenticationProvider, iotHubTransport); var connectCallback = function (err) { if (err) { console.error('Could not connect: ' + err.message); } else { console.log('Client connected'); var message = new Message('Hello world'); hubClient.sendEvent(message, printResultFor('send')); } }; hubClient.open(connectCallback); function printResultFor(op) { return function printResult(err, res) { if (err) console.log(op + ' error: ' + err.toString()); if (res) console.log(op + ' status: ' + res.constructor.name); process.exit(1); }; } } });Spara och stäng RegisterDevice.js-filen.
Kör följande kommando:
node RegisterDevice.jsLägg märke till de meddelanden som simulerar enhetsstart och anslutning till Device Provisioning-tjänsten för att hämta IoT-hubinformationen.
Navigera till exempelmappen på Git-lagringsplatsen.
cd azure-iot-sdk-python/provisioning_device_client/samplesMed python-IDE:n redigerar du Python-skriptet med namnet provisioning _ device client _ _ sample.py (replace ) (Ersätt ) och till de
{globalServiceEndpoint}värden som du{idScope}kopierade tidigare). Kontrollera också att TYP av _ _ SÄKERHETSENHET är inställt påProvisioningSecurityDeviceType.TPM.GLOBAL_PROV_URI = "{globalServiceEndpoint}" ID_SCOPE = "{idScope}" SECURITY_DEVICE_TYPE = ProvisioningSecurityDeviceType.TPM PROTOCOL = ProvisioningTransportProvider.HTTP
Kör exemplet.
python provisioning_device_client_sample.pyLägg märke till de meddelanden som simulerar enhetsstart och anslutning till Device Provisioning-tjänsten för att hämta IoT-hubinformationen.
I kommandofönstret som kör Java-exempelkoden på datorn trycker du på Retur för att fortsätta köra programmet. Lägg märke till de meddelanden som simulerar enhetsstart och anslutning till Device Provisioning-tjänsten för att hämta IoT-hubinformationen.

Bekräfta registreringen av enhetsetablering
Gå till Azure-portalen.
I den vänstra menyn eller på portalsidan väljer du Alla resurser.
Välj den IoT-hubb som enheten har tilldelats.
I menyn Utforskaren väljer du IoT-enheter.
Om enheten har etablerats korrekt bör enhets-ID:t visas i listan med Status inställt som aktiverat. Om du inte ser enheten väljer du Uppdatera överst på sidan.





Anteckning
Om du ändrade din inledande enhetstvillingstatus från standardvärdet i registreringsposten för din enhet kan den hämta önskad tvillingstatus från hubben och agera utifrån det. Mer information finns i Understand and use device twins in IoT Hub (Förstå och använda enhetstvillingar i IoT Hub).
Rensa resurser
Om du planerar att fortsätta arbeta med och utforska enhetsklientexempel ska du inte rensa upp resurserna som skapades i den här snabbstarten. Om du inte planerar att fortsätta kan du använda följande steg för att ta bort alla resurser som har skapats i den här snabbstarten.
Ta bort din enhetsregistrering
Stäng utdatafönstret för enhetsklientexemplet på datorn.
På den vänstra menyn i Azure Portal väljer du Alla resurser.
Välj device provisioning-tjänsten.
I Inställningar väljer du Hantera registreringar.
Välj fliken Enskilda registreringar.
Markera kryssrutan bredvid REGISTRERINGS-ID för den enhet som du har registrerat i den här snabbstarten.
Längst upp på sidan väljer du Ta bort.
Ta bort enhetsregistreringen från IoT Hub
På den vänstra menyn i Azure Portal väljer du Alla resurser.
Välj din IoT-hubb.
I menyn Utforskaren väljer du IoT-enheter.
Markera kryssrutan bredvid ENHETS-ID för den enhet som du registrerade i den här snabbstarten.
Längst upp på sidan väljer du Ta bort.
Nästa steg
I den här snabbstarten har du skapat en TPM-simulerad enhet på datorn och etablerat den på din IoT Hub med hjälp av IoT Hub Device Provisioning Service. Om du vill lära dig hur du registrerar TPM-enheten programmatiskt fortsätter du till snabbstarten för programmatisk registrering av en TPM-enhet.