Azure Cloud Shell ohne Terminal-Stress
Azure CLI und die SBS-Installationsskripte direkt im Browser ausführen – ohne lokale Installation und mit klaren Prüfungen für Tenant, Abonnement und Berechtigungen.
Der einfachste Weg: Cloud Shell im Azure-Portal
Azure Cloud Shell ist ein Terminal direkt im Browser. Sie sind mit Ihrem Azure-Konto bereits angemeldet und die Azure CLI (az) ist vorinstalliert. Für die Installation von Smarter Visitor Registration empfehlen wir Bash in Cloud Shell.
Diese Seite begleitet Sie durch die beiden einmaligen Microsoft-Entra-Schritte: prepare-app-registration vor der Marketplace-Bereitstellung und grant-graph-permissions danach. Die vollständige Reihenfolge finden Sie in der Installationsanleitung.
Vor einer Visitor-Registration-Installation
Beginnen Sie mit der Vorabprüfung für Subscription, eindeutige Firmennamen, App-Service-Quota und Resource Provider. Dort finden Sie getrennte Bash-Blöcke zum Prüfen und Registrieren, einschließlich Microsoft.OperationalInsights. Die Skript-Erklärung beschreibt die Änderungen im Mandanten; die Wiederanlauf-Hilfe unterscheidet Redeploy und Regionswechsel.
Cloud Shell öffnen
- Öffnen Sie portal.azure.com und wechseln Sie in den Tenant des Kunden.
- Wählen Sie oben in der schwarzen Portal-Leiste das Terminal-Symbol Cloud Shell. Alternativ öffnen Sie shell.azure.com.
- Wählen Sie Bash. Die Befehle auf dieser Seite sind für Bash geschrieben.
- Beim ersten Start kann Azure nach einem Abonnement und einem Speicher für Ihre Cloud-Shell-Dateien fragen. Folgen Sie dem Assistenten und warten Sie auf die Eingabeaufforderung, die mit
$endet.
Keine lokale Installation nötig
In Cloud Shell müssen Sie weder Azure CLI installieren noch normalerweise az login ausführen. Ihr Portal-Konto wird automatisch verwendet.
| Auswahl | Empfehlung |
|---|---|
| Bash | Empfohlen für die Befehle und .sh-Skripte in dieser Anleitung. |
| PowerShell | Funktioniert ebenfalls; verwenden Sie dann die bereitgestellten .ps1-Skripte und die PowerShell-Beispiele weiter unten. |
| Lokales Terminal | Nur verwenden, wenn Azure CLI bereits installiert ist und Sie mit Tenant-Wechsel, Dateipfaden und Shell-Rechten vertraut sind. |
Tenant und Abonnement kontrollieren
Prüfen Sie vor jedem Skript, in welchem Tenant und Abonnement Azure CLI arbeitet. Ein im Portal sichtbares Abonnement ist nicht automatisch das aktive CLI-Abonnement.
az account show \
--query "{subscription:name, subscriptionId:id, tenant:tenantId, user:user.name}" \
-o tableaz account list \
--query "[].{Name:name, Id:id, Tenant:tenantId, Default:isDefault}" \
-o table
az account set --subscription "<Abonnementname oder Abonnement-ID>"
az account show \
--query "{subscription:name, tenant:tenantId, user:user.name}" \
-o tableErst weitermachen, wenn der Kontext stimmt
Tenant, Abonnement und Benutzer müssen zum Kunden beziehungsweise zur geplanten Installation gehören. Wechseln Sie andernfalls im Portal das Verzeichnis oder melden Sie sich gezielt mit az login --tenant <Tenant-ID> an und wählen Sie danach das Abonnement erneut.
az ad signed-in-user show --query id -o tsvDieser Befehl liefert die Objekt-ID des aktuell angemeldeten Benutzers. Verwenden Sie sie als ersten Administrator nur, wenn genau dieses Konto später die Ersteinrichtung ausführt. Für eine andere Person kopieren Sie deren Objekt-ID aus dem Benutzerprofil im Entra Admin Center.
SBS-Skripte herunterladen
Kopieren Sie den gesamten Block in Bash. Die Skripte werden in das aktuelle Cloud-Shell-Verzeichnis geladen und anschließend ausführbar gemacht.
curl -fsSL \
https://www.smarterbusiness.at/downloads/smarter-visitor-registration/prepare-app-registration.sh \
-o prepare-app-registration.sh
curl -fsSL \
https://www.smarterbusiness.at/downloads/smarter-visitor-registration/grant-graph-permissions.sh \
-o grant-graph-permissions.sh
chmod +x prepare-app-registration.sh grant-graph-permissions.sh
ls -l prepare-app-registration.sh grant-graph-permissions.shWo sind meine Dateien?
Mit pwd sehen Sie das aktuelle Verzeichnis, mit ls -la dessen Inhalt. Wenn Ihre Cloud Shell persistenten Speicher verwendet, bleiben Dateien im Home-Verzeichnis auch für spätere Sitzungen erhalten.
Vor der Bereitstellung: App-Registrierung
Legen Sie zuerst im Marketplace-Schritt „Grundlagen“ den endgültigen Web-App-Namen und das Bereitstellungspräfix fest. Starten Sie dann das Vorbereitungsskript mit genau denselben Werten. Dafür benötigen Sie im Zieltenant mindestens Anwendungsadministrator oder Cloudanwendungsadministrator.
./prepare-app-registration.sh \
contoso-visitor-registration \
visitorregClient-ID kopieren
Am Ende erscheint App registration ready und darunter die Client ID. Kopieren Sie diese ID in den Marketplace-Schritt „Identity and security“. Ein erneuter Lauf mit denselben Werten aktualisiert die bestehende Registrierung sicher.
Nach der Bereitstellung: Graph-Rechte
Wenn die Marketplace-Bereitstellung erfolgreich abgeschlossen ist, führen Sie das zweite Skript aus. Dafür benötigen Sie Administrator für privilegierte Rollen oder Globalen Administrator.
./grant-graph-permissions.sh \
"rg-visitor-registration" \
"visitorreg" \
"11111111-2222-3333-4444-555555555555"Erwartetes Ergebnis
Das Skript meldet für Group.Read.All und User.Read.All jeweils assigned oder already assigned sowie admin consent granted beziehungsweise updated. Die Rechte können einige Minuten benötigen.
Platzhalter richtig ersetzen
| Platzhalter | Bedeutung und Beispiel |
|---|---|
<Abonnementname oder Abonnement-ID> | Das Zielabonnement aus az account list. Die spitzen Klammern nicht mitkopieren. |
<web-app-name> | Der weltweit eindeutige Name aus „Grundlagen“, zum Beispiel contoso-visitor-registration. |
<deployment-prefix> | Das Bereitstellungspräfix aus dem Marketplace, zum Beispiel visitorreg. |
<resource-group> | Die Ressourcengruppe der Marketplace-Bereitstellung, zum Beispiel rg-visitor-registration. |
<client-id> | Die Client-ID aus der Ausgabe von prepare-app-registration. |
<tenant-id> | Die Tenant-ID aus az account show; nur für einen gezielten Tenant-Wechsel nötig. |
Spitze Klammern sind keine Befehlszeichen
Ersetzen Sie immer den gesamten Platzhalter einschließlich < und >. Beispiel: aus az account set --subscription "<Abonnement-ID>" wird az account set --subscription "12345678-…".
Alternative mit PowerShell
Wenn Sie in Cloud Shell lieber PowerShell verwenden, wechseln Sie über die Shell-Auswahl zu PowerShell und laden Sie die .ps1-Varianten. Vermischen Sie Bash- und PowerShell-Syntax nicht in derselben Eingabe.
Invoke-WebRequest -Uri "https://www.smarterbusiness.at/downloads/smarter-visitor-registration/prepare-app-registration.ps1" -OutFile "prepare-app-registration.ps1"
Invoke-WebRequest -Uri "https://www.smarterbusiness.at/downloads/smarter-visitor-registration/grant-graph-permissions.ps1" -OutFile "grant-graph-permissions.ps1"
./prepare-app-registration.ps1 -WebAppName "contoso-visitor-registration" -DeploymentName "visitorreg"
./grant-graph-permissions.ps1 -ResourceGroup "rg-visitor-registration" -DeploymentName "visitorreg" -ClientId "11111111-2222-3333-4444-555555555555"Häufige Fehler
„az: command not found“
az bereits installiert.„The subscription … does not exist“ oder das Abonnement fehlt
az account list -o table. Fehlt das Abonnement, sind Sie meist im falschen Tenant oder Ihre Berechtigung wurde erst vor Kurzem vergeben. Wechseln Sie das Portal-Verzeichnis beziehungsweise starten Sie Cloud Shell neu.„Permission denied“ beim Start eines .sh-Skripts
chmod +x prepare-app-registration.sh grant-graph-permissions.sh aus und starten Sie das Skript anschließend mit ./.„No such file or directory“
pwd und ls -la, ob Sie im richtigen Verzeichnis sind. Laden Sie das Skript bei Bedarf mit dem Downloadblock erneut herunter.„Authorization_RequestDenied“ oder „Insufficient privileges“
Cloud Shell wurde wegen Inaktivität beendet
Das Skript zeigt eine Client-ID, aber der Marketplace akzeptiert sie nicht
Sicher arbeiten und Hilfe holen
- Senden Sie niemals Sitzungsschlüssel, Kennwörter, Zugriffstoken oder die Ausgabe von
az account get-access-tokenper E-Mail oder Chat. - Client-ID und Tenant-ID sind keine Kennwörter. Schwärzen Sie bei Screenshots trotzdem Benutzername, Abonnement-ID und nicht benötigte Tenantdaten.
- Erzeugen Sie den Sitzungsschlüssel zum Beispiel mit
openssl rand -hex 32und tragen Sie ihn ausschließlich in den geschützten Marketplace-Feldern ein. - Senden Sie bei Fehlern den ausgeführten Befehl ohne Geheimnisse, die genaue Fehlermeldung und den Schritt, an dem sie auftrat.
Fragen zu diesem Produkt?
Unser Support-Team hilft Ihnen bei Fragen zu Smarter Visitor Registration gerne weiter.