Le blog technique

Toutes les astuces #tech des collaborateurs de PI Services.

#openblogPI

Retrouvez les articles à la une

[Windows Server] – Utiliser un gMSA pour ses tâches planifiées

Si il y a bien une chose que j’essaie de pousser dans un environnement Active Directory, c’est de supprimer les comptes avec un mot de passe qui n’expire jamais, utilisés pour exécuter des tâches planifiées; pour les remplacer par des gMSA.

Souvent mal appréhendé, je vais ici vous montrer qu’il n’y a quasiment pas de différence dans l’utilisation.

Créer une tâche

Via GUI

Pour créer une tâche en mode graphique, on ne change pas les habitudes.

Dans un premier temps on lance le Task Scheduler

Puis on créé un tâche que l’ion va nommer

On lui définit ses paramètres

Bon jusque la rien de différent de ce que vous avez l’habitude de faire.

Passons donc à la suite, éditez la tâche.

Et à partir d’ici remplaçons notre compte par le gMSA.

Donc on sélectionne « Change User or Group… » et on s’assure de rechercher sur le domaine donc on sélectionne « Location« 

On sélectionne « Entire Directory » et on valide

à partir de la on va sélectionner « Object Types…« 

Et tout désélectionner  sauf « Service Accounts » puis on valide

Enfin on recherche son gMSA et on valide

Et voilà, comme quoi il n’y a rien de plus simple car, on s’évite même de devoir gérer les identifiants du compte de service.

 

Via Powershell

 

$TaskAction = New-ScheduledTaskAction -Execute C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe  -Argument "-File C:\Temp\ImportPfx.ps1"
 
$TaskTrigger = New-ScheduledTaskTrigger -At 00:00 -Once # vous pouvez utiliser d'autre valeurs selon vos besoin Par exemple Daily
 
$TaskPrincipal = New-ScheduledTaskPrincipal -UserID Lab\gMSA01$ -LogonType Password
 
Register-ScheduledTask MygMSATask –Action $TaskAction –Trigger $TaskTrigger –Principal $TaskPrincipal

 

 

Modifier un tâche

Via GUI

Souvent, la première fois qu’on y fait face c’est un peu déroutant, car lors de la modification de la tâche le popup demandant les identifiants arrive.

Pour éviter cela rien de plus simple, ouvrez votre tâche planifié.

Modifiez vos paramètres, par exemple ici nouds allons modifier l’heure d’exécution.

Une fois modifié, nous validons avec « Ok », puis nous retournerons sur le menu « General« 

Puis comme nous l’avons fais lors de la  création de la tâche planifiée, donc on sélectionne « Change User or Group… » et on s’assure de rechercher sur le domaine donc on sélectionne « Location« 

On sélectionne « Entire Directory » et on valide

à partir de la on va sélectionner « Object Types…« 

Et tout désélectionner  sauf « Service Accounts » puis on valide

Enfin on recherche son gMSA et on valide

Et enfin on sélectionne « Ok »

 

Via Powershell

$Task = Get-ScheduledTask -TaskName MygMSATask
$Time = New-ScheduledTaskTrigger -At 21:00 -Once
$TaskPrincipal = New-ScheduledTaskPrincipal -UserID Lab\gMSA01$ -LogonType Password

Set-ScheduledTask -TaskName $Task.TaskName -Trigger $Time -Principal $TaskPrincipal

 

[Microsoft Graph] – Restreindre la portée de l’Application Permission Site.Selected

Dans cet article, nous allons voir comment restreindre la portée de délégation à un site Sharepoint pour une App via la permission Site.Selected.

Délégation des droits pour l’App

Dans Entra, sélectionnez votre App et rendez vous sur « Api Premissions« 

 

Puis sélectionnez « Microsoft Graph« 

Ensuite « Application permissions » et recherchez « Sites.Selected« 

Ensuite validez en faisant « Add Permission » et enfin « Grant admin consent for XXXX« 

Maintenant qu’on a donné un accès Sharepoint Online à notre App, nous allons utiliser Powershell pour restreindre ses droits.

 

Connexion

$Connection = Connect-PnPOnline -Url https://xxxxxxx-admin.sharepoint.com -Interactive -ReturnConnection -ForceAuthentication

Restriction

Grant-PnPAzureADAppSitePermission -AppId 52c15f64-938e-4ad3-9454-c02f754b06c2 -DisplayName Demo-AppSharepoint -Site "https://MONADMIN.sharepoint.com/sites/benefits" -Permissions Read -Verbose -Connection $Connection

 

Check

Get-PnPAzureADAppSitePermission -AppIdentity 52c15f64-938e-4ad3-9454-c02f754b06c2 -Site "https://MONADMIN.sharepoint.com/sites/benefits"

 

Installation du kit RSAT

À partir de Windows 10 version 1809, les fonctionnalités à la demande (FOD) et les packs de langues ne peuvent être installés que via Windows Update et non par WSUS. Étant donné que RSAT est une fonctionnalité optionnelle (c’est-à-dire un FOD), ça ne sera plus possible de l’installer sur une machine ayant la stratégie qui empêche le téléchargement depuis les serveurs Windows update.

 

Voici un script PowerShell qui modifie temporairement les paramètres de votre poste de travail pour cesser d’utiliser WSUS, téléchargera et installera RSAT, puis rétablira les paramètres pour revenir à l’utilisation de WSUS par la suite :

 

#Modification de la clé de registre pour installer le module sans passer par WSUS mais directement par les serveurs Windows Update

Add-ToLog -Text "Modification de la clé de registre pour utiliser Windows Update et non WSUS..." -logFile $logFile

Set-ItemProperty "REGISTRY::HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" UseWUserver -Value 0

Set-ItemProperty "REGISTRY::HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate" DisableWindowsUpdateAccess -Value 0
 

#Restart du service Windows Update pour prise en compte

Add-ToLog -Text "Redémarrage du service Windows Update" -logFile $logFile

Get-Service wuauserv | Restart-Service

 

#Installation du module PowerShell RSAT-AD

Add-ToLog -Text "Installation du module PowerShell Active Directory (RSAT)..." -logFile $logFile

Get-WindowsCapability -Name "Rsat.ActiveDirectory.DS-LDS.Tools~~~~0.0.1.0" -Online | Add-WindowsCapability -Online | Out-Null

Add-WindowsCapability –Online –Name "Rsat.ActiveDirectory.DS-LDS.Tools~~~~0.0.1.0"

#Remise par défaut de la clé de registre pour repasser par le WSUS

Add-ToLog -Text "Remise par défaut de la clé de registre pour à nouveau passer par le WSUS..." -logFile $logFile

Set-ItemProperty "REGISTRY::HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" UseWUserver -Value 1