Aide-mémoire des actions personnalisées

  • Last update on May 30th, 2025

Table of Contents

Les actions personnalisées ne sont pas disponibles dans la solution Essentials.

 

Cet article fournit une série de conseils pour maximiser l’efficacité de vos scripts PowerShell lors de la création d’une action personnalisée dans CoreView :

  • Get-DomainFromSid : extrait le domaine à partir d’une valeur SID.

Exemple :

Get-DomainFromSid -Sid S-1-5-21-1454471165-1004335555-1606986666-6666
  • Get-ServerFromDn : extrait le domaine à partir d’un distinguished name (DN).

Exemple :

Get-ServerFromDn -dn "CN=user_1,DC=child,DC=server,DC=local"
  • Get-ListDomains : cette fonction fournit les domaines d’une forêt.

Exemple :

Get-ListDomains

Si un client a configuré le fichier config.json, la fonction retournera un tableau contenant les valeurs de la propriété personnalisée Import.ActiveDirectory.Domains.

 
  • Get-ReverseOrganizationUnit : si la valeur commence par DC=, la fonction inverse le chemin.

Exemple :

Get-ReverseOrganizationUnit -ou "DC=local,DC=contoso,OU=folder"

Remarque importante : utilisez cette fonction pour créer des actions personnalisées nécessitant la saisie d’une Unité d’Organisation (OU).

 
  • unicode : transforme une chaîne en UTF-8.

Exemple :

unicode -str "value"
  • Get-CountriesLookup : contient un référentiel des pays.

La fonction retourne un hashtable contenant le code iso comme clé et le nom court comme valeur. Exemple : IT => clé, Italy => valeur

 
  • Get-CountryCodeFromDisplayName : retourne le code iso à partir du nom affiché d’un pays.

Exemple :

Get-CountryCodeFromDisplayName -displayName "Italy"
  • Get-CountryDisplayNameFromCode : retourne le nom affiché d’un pays à partir du code iso.

Exemple :

Get-CountryDisplayNameFromCode -countryCode "IT"
  • Get-CvOnpremExchangeCredential : récupère l’objet d’identifiants Exchange on-premises. Limité à une seule forêt.
  • Get-CvADCredential : récupère les informations d’identification à partir d’une session AD ouverte. Limité à une forêt.
  • Get-CvEmailAddresses : prend en entrée une chaîne contenant une ou plusieurs adresses e-mail séparées par une virgule, et retourne une liste d’adresses, même si certains éléments contiennent une virgule dans leur nom.

Exemple :

Get-CvEmailAddresses -emailAddresses "fake@domain.com,x500:/o=ExchangeLabs/ou=Exchange Administrative Group (test)/cn=Recipients/cn=1511b2015ac3521f8355f08ca5be1af0-my, test"
  • Get-CvGroupCategoryFromValue : à partir d’un type de groupe (entier) et d’un mail, retourne le type du groupe (sécurité ou distribution).

Exemple :

Get-CvGroupCategoryFromValue -groupTypeValue 8 -mail "fake_distribution@domain.com"
  • Replace-Upn : remplace un guillemet simple ' par deux ''.

Exemple :

Replace-Upn -upn "user'c.example@contoso.com"
  • Refresh-CVGraphToken : cette fonction permet d’actualiser le jeton pour la session Microsoft Graph. Utile pour garantir que le jeton de session est valide et à jour.
     
  • Get-InfrastructureMasterByDomain : récupère la valeur du rôle "Infrastructure Master" au niveau du domaine.

Exemple :

Get-InfrastructureMasterByDomain -domain "contoso.local"
  • ConvertFrom-CVCanonicalObject : convertit un nom canonique (CN) en Distinguished Name (DN).

Exemple :

ConvertFrom-CVCanonicalObject -CanonicalName "Constoso.local/OU Users/myUser"
  • Retry-CvCommand : conçue pour réessayer un bloc de script plusieurs fois. Utile si l’opération peut échouer temporairement ou que la donnée n’est pas avai lable immédiatement.

Merci de ne pas utiliser cette fonction pour attendre plusieurs minutes. Dans ce cas, préférez un bloc de temporisation dans un workflow, sinon l’exécution PowerShell sera bloquée et empêchera d’autres actions.

 

La fonction accepte six paramètres :

  1. $scriptBlock : commande à exécuter, transmise sous forme de bloc de script.
  2. $params : paramètres pour la commande du bloc de script.
  3. $retryCount : optionnel, nombre d’essais (défaut : 10).
  4. $sleepTime : optionnel, durée d’attente entre chaque essai (secondes, défaut : 3).
  5. $throwException : optionnel, si vrai ($true), une exception sera levée en cas d’échec après tous les essais.
  6. $stopOnNull : si $true, la fonction arrête le retry si le résultat est null, même si le nombre d’essais n’est pas atteint.

Exemples :

# Cas d’usage 1 : Retry avec exception levée
$sbUseCase1 ={
    param ($identity)
    get-aduser -Identity $identity -ErrorAction Stop
}
$result = Retry-CvCommand -scriptBlock $sbUseCase1 -params "fake@contoso.com" -retryCount 3 -sleepTime 1 -throwException $true
# Cas d’usage 2 : Retry sans gestion d’exception
$sbUseCase2 ={
    param ($identity)
    get-aduser -Identity $identity
}
$result = Retry-CvCommand -scriptBlock $sbUseCase2 -params "fake@contoso.com" -retryCount 3 -sleepTime 1 -throwException $false
# Cas d’usage 3 : Arrêt du retry sur résultat null
$sbUseCase3 ={
    param ($identity)
    $office = get-aduser -Identity $identity -Properties Office | Select-Object Office
    return $office.Office
}
$result = Retry-CvCommand -scriptBlock $sbUseCase3 -params "CN=joker j,OU=OU_test,DC=contoso,DC=local" -retryCount 3 -sleepTime 1 -stopOnNull $true
  • Get-CvCustomAttributes : cette fonction fournit des informations telles que le type et l’attribut omSyntax d’un attribut Active Directory. Deux paramètres sont nécessaires :
  1. className : Active Directory inclut un schéma avec plusieurs classes (utilisateurs, groupes, ordinateurs, unités d’organisation, etc.), connues sous le nom de « Classes » ; par exemple « User ».
  2. ldapCustomAttributesName : le nom utilisé par les clients LDAP pour lire et écrire l’attribut ; par exemple « costCenter ».

Exemple :

Get-CvCustomAttributes -className 'User' -ldapCustomAttributesName 'CostCenter'