######################################################## ## Add Languages to running Windows Image for Capture## ######################################################## ##Disable Language Pack Cleanup## Disable-ScheduledTask -TaskPath "\Microsoft\Windows\AppxDeploymentClient\" -TaskName "Pre-staged app cleanup" ##Set Language Pack Content Stores## [string]$LIPContent = "Z:\multilanguages\LocalExperiencePack" ##French - Canada ## Add-AppProvisionedPackage -Online -PackagePath $LIPContent\fr-ca\LanguageExperiencePack.fr-ca.Neutral.appx -LicensePath $LIPContent\fr-ca\License.xml Add-WindowsPackage -Online -PackagePath $LIPContent\Microsoft-Windows-Client-Language-Pack_x64_fr-ca.cab Add-WindowsPackage -Online -PackagePath $LIPContent\Microsoft-Windows-LanguageFeatures-Basic-fr-ca-Package~31bf3856ad364e35~amd64~~.cab Add-WindowsPackage -Online -PackagePath $LIPContent\Microsoft-Windows-LanguageFeatures-OCR-fr-ca-Package~31bf3856ad364e35~amd64~~.cab Add-WindowsPackage -Online -PackagePath $LIPContent\Microsoft-Windows-LanguageFeatures-Speech-fr-ca-Package~31bf3856ad364e35~amd64~~.cab Add-WindowsPackage -Online -PackagePath $LIPContent\Microsoft-Windows-LanguageFeatures-TextToSpeech-fr-ca-Package~31bf3856ad364e35~amd64~~.cab Add-WindowsPackage -Online -PackagePath $LIPContent\Microsoft-Windows-NetFx3-OnDemand-Package~31bf3856ad364e35~amd64~fr-ca~.cab Add-WindowsPackage -Online -PackagePath $LIPContent\Microsoft-Windows-InternetExplorer-Optional-Package~31bf3856ad364e35~amd64~fr-ca~.cab Add-WindowsPackage -Online -PackagePath $LIPContent\Microsoft-Windows-MSPaint-FoD-Package~31bf3856ad364e35~amd64~fr-ca~.cab Add-WindowsPackage -Online -PackagePath $LIPContent\Microsoft-Windows-Notepad-FoD-Package~31bf3856ad364e35~amd64~fr-ca~.cab Add-WindowsPackage -Online -PackagePath $LIPContent\Microsoft-Windows-PowerShell-ISE-FOD-Package~31bf3856ad364e35~amd64~fr-ca~.cab Add-WindowsPackage -Online -PackagePath $LIPContent\Microsoft-Windows-Printing-WFS-FoD-Package~31bf3856ad364e35~amd64~fr-ca~.cab Add-WindowsPackage -Online -PackagePath $LIPContent\Microsoft-Windows-StepsRecorder-Package~31bf3856ad364e35~amd64~fr-ca~.cab Add-WindowsPackage -Online -PackagePath $LIPContent\Microsoft-Windows-WordPad-FoD-Package~31bf3856ad364e35~amd64~fr-ca~.cab $LanguageList = Get-WinUserLanguageList $LanguageList.Add("fr-ca") Set-WinUserLanguageList $LanguageList -force
jeudi 25 mars 2021
WVD: Windows 10 Enterprise Multi-session avec Multi-languages
dimanche 21 mars 2021
Active Directory rôles FSMO
Lors de testes de relève, ou une situation de relève, il est possible se retrouver dans une situation où un seul domaine contrôleur (DC) est disponible et ne possédant pas nécessairement tous les rôles FSMO (Flexible Simple Master Operation). Dans une telle situation, il suffit de lui transférer les 5 rôles FSMO en utilisant la commande NTDSUTIL.
En effectuant les commandes "Seize", des confirmations seront nécessaires. Des messages d'erreurs vont également apparaître car les commandes "Seize" effecutent une tentative de la commande "transfer" avant d'attribuer le rôle. Comme les autres DCs ne sont pas accessibles, les messages sont donc, "normaux".
La commande "netdom query fsmo" permet de valider que les rôles ont été transférés correctement.
samedi 20 mars 2021
Azure AD Connect: Changer l'ImmutableID d'un utilisateur
L’ImmutableID est une représentation en base 64 du GUID
associée à un utilisateur à l’intérieur d’Active Directory. Il arrive qu’il soit
nécessaire d’associer un utilisateur créé directement à l’intérieur d’Azure
Active Directory avec un utilisateur provenant d’Active Directory via Azure AD
Connnect.
La technique consiste à synchroniser l’utilisateur via Azure AD Connect, de saisir son ImmutableID, de suspendre la synchronisation, d’effacer l’utilisateur, d’associer l’ImmutableID à l’utilisateur cible et repartir la synchronisation.
Ces opérations s’effectuent à l’aide de commandes PowerShell.
Exemple :
Stop-ADSyncSyncCycle $ImmutableID = (Get-MsolUser -UserPrincipalName <SourceUserName@tenant.onmicrosoft.com>).ImmutableID Remove-MsolUser -UserPrincipalName <SourceUserName@tenant.onmicrosoft.com> Remove-MsolUser -UserPrincipalName <SourceUserName@tenant.onmicrosoft.com> -RemoveFromRecycleBin -Force Set-MsolUser -UserPrincipalName <TargetUserName@tenant.onmicrosoft.com> -ImmutableID $ImmutableID Start-ADSyncSyncCycle
Intune problème d'enrôlement (Enrollment Failure)
Dans le contexte où une GPO est utilisée pour le déploiement
autonome d’Intune, il arrive que pour différentes raisons le poste ne s’enregistre
pas (Enrollment).
Afin de trouver la ou les cause(s), il suffit d’utiliser les logs « IntuneOperationalLogs» et « SigninLogs ». Ce dernier va permettre de retrouver le nom de l’utilisateur car les entrées de «IntuneOperationalLogs » ne contiennent que l’identification de l’objet qui représente l’utilisateur. À l’aide d’une requête Kusto comme illustrée, il devient facile d’identifier la cause pour chacun des utilisateurs.
1 2 3 4 5 6 7 8 9 10 11 12 | // Intune Enrollment // Retrouver les utlisateurs avec l'échec d'enrôlement durant les derniers 5 jours IntuneOperationalLogs | where OperationName == "Enrollment" and TimeGenerated > ago(5d) | where Result == "Fail" | extend FailureReason=extractjson("$FailureReason", Properties) | extend IntuneUserId=extractjson("$IntuneUserId", Properties) | join SigninLogs on $left.IntuneUserId == $right.UserId | distinct Identity, FailureReason | order by Identity asc |