For the complete documentation index, see llms.txt. This page is also available as Markdown.

Portées de variables personnalisées

Portées de variables personnalisées à utiliser dans vos applications PowerShell Universal.

Portées de variables personnalisées

Les applications Universal exposent trois portées de variables personnalisées à l'aide de fournisseurs personnalisés. Ces fournisseurs vous permettent de stocker vos variables dans des portées adaptées à une application web. La portée cache est utilisée pour stocker des variables accessibles dans n'importe quel point de terminaison d'une application. La portée session est utilisée pour stocker des variables disponibles durant la session d'un seul utilisateur dans l'application.

Portée cache

La portée cache permet de stocker une variable disponible dans n'importe quel point de terminaison. Elle est utile pour stocker des données pouvant être affichées dans plusieurs contrôles ou dont la récupération peut prendre du temps. Cela peut être utile pour interroger des compteurs de performances de machines (par exemple, Active Directory, Azure).

Comme toute autre portée, les variables cache sont définies avec un préfixe et un séparateur deux-points.

$Cache:Computers = Get-ADComputer

Une fois assignée, la variable $Cache:Computer est disponible dans n'importe quel point de terminaison.

New-UDMonitor -Title Computers -Endpoint {
    $Cache:Computers.Length | Out-UDMonitorData
}

Portée page

La portée page stocke les variables par onglet ou fenêtre du navigateur. Si un nouvel onglet est ouvert ou si l'onglet actuel est fermé, l'état sera supprimé.

New-UDForm -Content {
    New-UDTextbox -Id 'Name'
} -OnSubmit {
    $Page:Name = $EventData.Name
    Sync-UDElement -Id 'Name'
}

New-UDDynamic -Content {
    New-UDTypography $Page:Name
}

Portée session

La portée session est utilisée pour stocker une variable par session. Une session est établie lorsque le navigateur d'un utilisateur accède pour la première fois à un tableau de bord. Un cookie est stocké dans le navigateur de l'utilisateur pour indiquer qu'il fait partie de la session. Les sessions ont un délai d'inactivité de 25 minutes.

Comme toute autre portée, les variables cache sont définies avec un préfixe et un séparateur deux-points.

Une fois assignée, la variable $Session:ShowChart est disponible dans les gestionnaires d'événements de l'application. Les variables de session ne sont pas disponibles dans les points de terminaison REST API ni dans les points de terminaison planifiés.

Une fois la session terminée, les variables de session sont effacées.

Stockage des informations d'identification dans la portée session

La portée session est particulièrement utile pour stocker les informations d'identification des utilisateurs qui ne doivent pas être conservées au-delà de leur session. Ce modèle permet aux applications de demander des informations d'identification d'administrateur sans les stocker de façon permanente, répondant ainsi aux exigences de sécurité selon lesquelles les informations d'identification ne doivent pas être enregistrées.

ℹ️ Information

Les variables de session expirent à la fin de la session de l'utilisateur. Elles sont donc idéales pour stocker des données sensibles telles que des informations d'identification qui ne doivent exister que durant une utilisation active.

Exemple : demande d'informations d'identification d'administrateur

Cet exemple montre comment inviter les utilisateurs à fournir leurs informations d'identification une fois par session et les réutiliser pour des opérations privilégiées :

Points clés :

  • $Session:AdminCredentials stocke les informations d'identification pour la durée de la session de l'utilisateur uniquement

  • Get-Credential invite l'utilisateur une seule fois ; les opérations suivantes réutilisent les informations d'identification stockées

  • Invoke-Command -Credential exécute les commandes en tant qu'utilisateur authentifié

  • Les informations d'identification ne sont jamais enregistrées sur le disque ni partagées entre les utilisateurs

  • Lorsque la session de l'utilisateur se termine, les informations d'identification sont automatiquement effacées

Cette approche est idéale pour les applications qui effectuent la gestion des ACL, des opérations sur le système de fichiers ou d'autres tâches nécessitant des privilèges élevés sans stocker les informations d'identification d'administrateur de façon permanente.

Mis à jour

Ce contenu vous a-t-il été utile ?