Les messages d'erreur sont parfois frustrant par exemple celui ci-dessous:
En plus de ne pas être des plus explicit, une multitude de cas sont exposé sur internet avec des code erreur divers et variés.
Sans l'accès au log tout devient plus dificile, dans le cas de figure ici présent j'ai voulu déployer une VM de génération 2 sous Hyper-V via un média de boot (clés USB), je pensais que j'allais y passer des heures, mais en fait non 10 minutes tout au plus.
1 - Les causes
Les VM de génération 2 sous Hyper-V, ont par défaut le Secure boot activé.
Le secure boot est une fonctionnalité qui vérifie que le "Boot Loader" est signé par une autorité de confiance de la base UEFI pour empêcher l'exécution non authorisé d'un "Firmware", "OS" ou "Driver" au démarrage.
Sauf que dans notre cas cela nous empêche de créer la partition pour le "Staging" du WinPe.
2 - Les solutions
désactivez le secure boot.
- Lancez Hyper-V management.
- Sélectionnez votre VM.
- Faites un clic droit "Properties".
- Dans "Settings for xxxxxx on xxxxxx" sélectionnez "Security".
- décochez la case "Enable Secure boot".
- Validez.
Créez une partition UEFI.
En cherchant dans les logs on pourrait trouver l'erreur suivante "Unable to find the partition that contains the OS boot loaders. Please ensure the hard disks have been properly partitioned".
- Après avoir désativer le sécure boot, démarrez votre VM et faites "F8" durant le démarrage.
- Dans l'invite de commande exécutez les commandes suivantes:
- Diskpart (lancez l'utilitaire Diskpart)
- List Disk (Listez les disque)
- Select disk 0 (sélectionnez le disque 0 qui représente le disque système de la VM)
- Clean (permet d'effacer les données)
- Convert gpt (permet de convertir le disque)
- Create partition efi size=200 (création d'une partition Efi)
- Assign letter=s (Assignez un lettre disponible à la partition)
- Format quick fs=FAT32 (Formatez la partition)
- Create partition msr size=128 (création d'une partition msr)
- Create partition primary (création d'une partition Windows)
- Assign letter=c (Assignez la lettre C)
- Format quick fs=NTFS (Formatez en NTFS)
- Exit (quittez Diskpart)
- Normalement vous devriez maintenant pouvoir lancer la séquencce de tâche sans encombre.
Introdution
ATTENTION, l’action proposée par cet article ne fait pas l’objet d’une KB.
La valeur “Maximum package processing threads” permet de limiter le nombre de distribution concurrente de packages.
Cette valeur est bornée de 1 à 50, elle peut être modifiée depuis le console d’administration dans “Configure Site Components”
Problématique
Suite à une mauvaise manipulation, cette valeur a été modifiée à 0. La valeur 0 étant en dehors de [0..50], l’erreur suivante apparait :
Résolution
Le script suivant permet de récupérer la valeur actuelle :
Select * from SC_Component_Property cp join SC_Component c on c . ID = cp . ComponentID join SC_SiteDefinition sd on sd . SiteNumber = c . SiteNumber where cp . name = 'Thread Limit' and ComponentName = 'SMS_DISTRIBUTION_MANAGER' and sd . SiteCode = 'SITECODE'
Le script suivant permet de modifier la valeur à 3 :
Update CP Set Value3 = 3 from SC_Component_Property cp join SC_Component c on c . ID = cp . ComponentID join SC_SiteDefinition sd on sd . SiteNumber = c . SiteNumber where cp . name = 'Thread Limit' and ComponentName = 'SMS_DISTRIBUTION_MANAGER' and sd . SiteCode = 'SITECODE'
Introdution
ATTENTION, l’action proposée par cet article ne fait pas l’objet d’une KB.
La valeur “Maximum package processing threads” permet de limiter le nombre de distribution concurrente de packages.
Cette valeur est bornée de 1 à 50, elle peut être modifiée depuis le console d’administration dans “Configure Site Components”
Problématique
Suite à une mauvaise manipulation, cette valeur a été modifiée à 0. La valeur 0 étant en dehors de [0..50], l’erreur suivante apparait :
Résolution
La valeur peut être modifié depuis SQL (cf. article précèdent), mais également depuis WMI :
Lancer l’outil WMI Tester :
Se connecter à “root\SMS\site_NOMDUSITE” puis cliquer sur “Enum Classes…” :
Rechercher la classe “SMS_SCI_Component” puis double cliquer dessus :
Cliquer sur “props” puis cliquer sur “Instances” :
Choisir “SMS_Distribution_Manager” :
Double cliquer sur “Props” :
Cliquer sur “view embedded” :
Vérifier les entrées suivantes jusqu’à trouver une valeur appelée “Thread Limit”
Modifier la valeur “Value” à la valeur souhaitée, dans cet exemple on passe de 0 (0x0) à 3 (0x0) :
Fermer toutes les fenêtre en sauvegardant chacune.
Vous avez installé les outils admins sur un serveur mais vous ne trouvez pas le module Configuration Manager PowerShell.
Il y a une petite subtilité, celui ci est présent mais dans les binaires de l’application:
le fichier à importer se trouver dans le répertoire c:\program files (x86)\Microsoft Configuration Manager\AdminConsole\bin et se nomme ConfigurationManger.psd1
Avant import
Après import