Le blog technique

Toutes les astuces #tech des collaborateurs de PI Services.

#openblogPI

Retrouvez les articles à la une

[Azure AD Connect] Prévention des suppressions accidentelles

Microsoft a intégré la fonction de prévention des suppressions accidentelles dans le cadre du service de provisionnement Azure AD. Lorsque le nombre de suppressions à traiter dans un cycle de provisionnement unique dépasse un seuil défini par le client, le service de provisionnement Azure AD s’interrompt en offrant une visibilité sur les suppressions potentielles afin d’accepter ou de refuser les suppressions.

La fonctionnalité de prévention des suppressions accidentelles est activée par défaut et configurée de manière à ne pas autoriser toute exportation comprenant plus de 500 suppressions. Vous pouvez modifier la valeur par défaut de 500 objets avec PowerShell en utilisant Enable-ADSyncExportDeletionThreshold, qui fait partie du module AD Sync installé avec Microsoft Entra Connect. Vous devez configurer cette valeur de manière à l’ajuster à la taille de votre organisation. Étant donné que le Planificateur de synchronisation est exécuté toutes les 30 minutes, la valeur est le nombre de suppressions détectées dans les 30 minutes.

Si le nombre de suppressions à exporter vers Microsoft Entra ID est trop important, l’exportation s’arrête et vous recevez un e-mail vous informant de l’arrêt de l’opération.

Vous pouvez également consulter l’état stopped-deletion-threshold-exceeded lorsque vous recherchez le profil d’exportation dans l’interface utilisateur Synchronization Service Manager .

 

Si vous souhaitez que tous les éléments soient supprimés, procédez comme suit :

  1. Pour récupérer le seuil de suppression actuel, exécutez l’applet de commande PowerShell Get-ADSyncExportDeletionThreshold. La valeur par défaut est 500.
  2. Pour désactiver temporairement cette protection et procéder à ces suppressions exécutez la commande PowerShell Disable-ADSyncExportDeletionThreshold.
  3. Sélectionnez par la suite le connecteur Microsoft Entra,  choisir l’action Exécuter, puis Exporter.
  4. Pour réactiver la protection, exécutez l’applet de commande PowerShell Enable-ADSyncExportDeletionThreshold -DeletionThreshold 500. Remplacez 500 par la valeur que vous avez notée lors de la récupération du seuil de suppression actuel.

Windows 11 : Script PowerShell pour activer WinRE en masse

Besoin :

Après un changement d’UPN utilisateur (environnement full Azure AD) sur un Windows 11, le reset de Windows ne fonctionne plus en mentionnant que Windows Recovery Environment (WinRE) est désactivé.

Nous avons besoin d’activer WinRE sur plusieurs devices afin de permettre le reset de Windows 11.

 

Solution :

J’ai utilisé le script PowerShell ci-dessous pour détecter si WinRE est désactivé et l’activer :

<pre class="wp-block-syntaxhighlighter-code">function Write-CMLogEntry {
	param (
		[parameter(Mandatory = $true, HelpMessage = "Value added to the log file.")]
		[ValidateNotNullOrEmpty()]
		[string]$Value,
		[parameter(Mandatory = $true, HelpMessage = "Severity for the log entry. 1 for Informational, 2 for Warning and 3 for Error.")]
		[ValidateNotNullOrEmpty()]
		[ValidateSet("1", "2", "3")]
		[string]$Severity,
		[parameter(Mandatory = $false, HelpMessage = "Name of the log file that the entry will written to.")]
		[ValidateNotNullOrEmpty()]
		[string]$FileName = "Enable-WinRE.log"
	)
	# Determine log file location
	$WinTemp = [System.Environment]::GetEnvironmentVariable('TEMP','Machine')
	$LogFilePath = "$WinTemp\$FileName"
	
	# Construct time stamp for log entry
	$Time = -join @((Get-Date -Format "HH:mm:ss.fff"), "+", (Get-WmiObject -Class Win32_TimeZone | Select-Object -ExpandProperty Bias))
	
	# Construct date for log entry
	$Date = (Get-Date -Format "MM-dd-yyyy")
	
	# Construct context for log entry
	$Context = $([System.Security.Principal.WindowsIdentity]::GetCurrent().Name)
	
	# Construct final log entry
	$LogText = "<![LOG[$($Value)]LOG]!><time=""$($Time)"" date=""$($Date)"" component=""Enable-WinRE.log"" context=""$($Context)"" type=""$($Severity)"" thread=""$($PID)"" file="""">"
	
	# Add value to log file
	try {
		Out-File -InputObject $LogText -Encoding Default -FilePath $LogFilePath -ErrorAction Stop
	}
	catch [System.Exception] {
		Write-Warning -Message "Unable to append log entry to $FileName file. Error message: $($_.Exception.Message)"
	}
}

#WinRE Status
if (reagentc /info | findstr "Disabled") {
	reagentc /enable
	Write-CMLogEntry -Value "Enabling Windows Recovery Environment" -Severity 2
}
else {
	Write-CMLogEntry -Value "Windows Recovery Environment is Already Enabled" -Severity 1
}</pre>

 

Intune : Déployer Visio en utilisant Intune sur une machine qui a déjà Microsoft 365 apps installé

Besoin :

Ajouter Visio sur une machine où Microsoft 365 apps est déjà installé sans désinstaller tous les binaires existants.

 

Solution :

Aller à Microsoft Intune admin center

1- cliquer sur Apps > Windows

2- cliquer sur Add et sélectionner Microsoft 365 Apps Windows 10 and later

3- sur l’onglet App suite information, donner un nom à l’application et si nécessaire une description, des notes,..

4- sur l’onglet Configure app suite, choisir le format « Enter XML data » et copier les données XML ci-dessous :

<pre class="wp-block-syntaxhighlighter-code"><Configuration ID="b5f8e99c-4dd4-4630-a46f-e11f8fc2a13d">
  <Add Version="MatchInstalled">
    <Product ID="VisioProRetail">
      <Language ID="MatchInstalled" TargetProduct="All" />
      <ExcludeApp ID="Groove" />
    </Product>
  </Add>
</Configuration></pre>