Partager via


Déployer Windows To Go dans votre organisation

Cette rubrique vous indique comment déployer Windows To Go dans votre organisation. Avant de commencer le déploiement, assurez-vous d’avoir consulté les rubriques Windows To Go : vue d’ensemble de la fonctionnalité et Préparer votre organisation à Windows To Go pour être certain de disposer du matériel qui convient et être prêt à effectuer le déploiement. Vous pouvez ensuite suivre les étapes de cette rubrique pour lancer votre déploiement de Windows To Go.

Remarque  

Cette rubrique inclut des exemples d’applets de commande Windows PowerShell que vous pouvez utiliser pour automatiser certaines des procédures décrites. Pour en savoir plus, voir Utilisation des applets de commande.

 

Astuces de déploiement

Voici une liste d’éléments que vous devez connaître avant de commencer le processus de déploiement :

  • Utilisez uniquement les lecteurs USB recommandés pour Windows To Go. L’utilisation d’autres lecteurs n’est pas prise en charge. Consultez la liste dans Considérations sur le matériel pour Windows To Go pour connaître les derniers lecteurs USB certifiés pour une utilisation comme lecteurs Windows To Go.

  • Une fois que vous avez configuré un nouvel espace de travail, veillez à toujours éjecter le lecteur Windows To Go à l’aide de la commande Retirer le périphérique en toute sécurité et éjecter le média qui se trouve dans la zone de notification, ou dans l’Explorateur Windows. Vous pouvez endommager le lecteur si vous le retirez du port USB sans l’avoir éjecté au préalable.

  • Lorsque vous exécutez un espace de travail Windows To Go, arrêtez-le toujours avant de déconnecter le lecteur.

  • System Center 2012 Configuration Manager SP1 et ses versions ultérieures prennent en charge la mise en service de lecteurs Windows To Go par l’utilisateur. Configuration Manager est téléchargeable en version d’évaluation sur le site Microsoft TechNet Evaluation Center. Pour en savoir plus sur cette option de déploiement, voir Préparation de Windows To Go dans Configuration Manager.

  • Si vous envisagez d’utiliser un duplicateur de lecteur USB pour dupliquer des lecteurs Windows To Go, ne configurez pas de jonction de domaine hors connexion ou BitLocker sur le lecteur.

Étapes de déploiement de base

À moins que vous n’utilisiez une image de système d’exploitation personnalisée, l’espace de travail Windows To Go initial n’est pas joint au domaine et ne contient pas d’applications. C’est exactement comme une nouvelle installation de Windows sur un ordinateur de bureau ou un ordinateur portable. Lorsque vous planifiez votre déploiement, vous devez développer des méthodes pour joindre les lecteurs Windows To Go au domaine et installer les applications standard dont les utilisateurs de votre organisation ont besoin. Ces méthodes seront probablement similaires à celles utilisées pour configurer des ordinateurs de bureau et portables avec des privilèges de domaine et des applications. Cette section décrit les instructions relatives à la création de la disposition de disque appropriée sur le lecteur USB, par l’application de l’image de système d’exploitation et des configurations spécifiques de base Windows To Go au lecteur. Les étapes suivantes sont utilisées dans des scénarios de déploiement Windows To Go à petite et grande échelle.

Cette procédure permet d’obtenir un lecteur Windows To Go générique qui peut être distribué aux utilisateurs, puis personnalisé pour leur utilisation en fonction de leurs besoins. Ce lecteur convient également pour une utilisation avec des duplicateurs de lecteurs USB. Vos scénarios de déploiement spécifiques n’impliquent pas seulement ces étapes de base. Ces considérations de déploiement supplémentaires sont similaires au déploiement de PC classique et peuvent être intégrées à votre plan de déploiement de Windows To Go. Pour en savoir plus, voir Options de déploiement Windows.

Avertissement  

Si vous envisagez d’utiliser le lecteur Windows To Go générique en tant que lecteur maître dans un duplicateur USB, le lecteur ne doit pas être démarré. Si le lecteur a été démarré par inadvertance il doit être de nouveau préparé avant la duplication.

 

Créer l’espace de travail Windows To Go

Dans cette étape, nous créons l’image de système d’exploitation qui sera utilisé sur les lecteurs Windows To Go. Vous pouvez utiliser l’Assistant Windows To Go Creator ou effectuer cette opération manuellement en combinant Windows PowerShell à des outils en ligne de commande.

Avertissement  

La méthode recommandée pour la création d’un seul lecteur Windows To Go consiste à utiliser l’Assistant Windows To Go Creator inclus dans Windows 10 Entreprise et Windows 10 Éducation.

 

Mt186418.wedge(fr-fr,VS.85).gifPour créer un espace de travail Windows To Go à l’aide de l’Assistant Windows To Go Creator

  1. Connectez-vous à votre PC Windows à l’aide d’un compte doté de privilèges d’administrateur.

  2. Insérez le lecteur USB que vous souhaitez utiliser comme lecteur Windows To Go dans votre PC.

  3. Vérifiez que l’emplacement du fichier .wim (qui peut être un partage réseau, un DVD ou un lecteur USB) est accessible et qu’il contient une image système Windows 10 Entreprise ou Windows 10 Éducation valide qui a été généralisée à l’aide de sysprep. De nombreux environnements peuvent utiliser la même image pour les déploiements de Windows To Go et de bureau.

    Remarque  

    Pour en savoir plus sur les fichiers .wim, voir Référence technique de l’Assistant Gestion d’installation (Windows SIM). Pour en savoir plus sur l’utilisation de sysprep, voir Vue d’ensemble de Sysprep.

     

  4. À l’aide de Cortana, recherchez Windows To Go, puis appuyez sur Entrée. Si la boîte de dialogue Contrôle de compte d’utilisateur apparaît, vérifiez que l’action affichée correspond à l’action souhaitée, puis cliquez sur Oui. L’Assistant de création Windows To Go s’ouvre.

  5. Sur la page Choisir le lecteur à utiliser, sélectionnez le lecteur qui représente le lecteur USB inséré précédemment, puis cliquez sur Suivant.

  6. Dans la page Choisir une image système Windows, cliquez sur Ajouter un emplacement de recherche, accédez à l’emplacement du fichier .wim, puis cliquez sur Sélectionner un dossier. L’Assistant affiche les images pouvant être installées présentes dans le dossier ; sélectionnez l’image système Windows 10 Entreprise ou Windows 10 Éducation que vous souhaitez utiliser, puis cliquez sur Suivant.

  7. (Facultatif) Dans la page Définir un mot de passe BitLocker (facultatif), vous pouvez sélectionner Utiliser BitLocker avec mon espace de travail Windows To Go pour chiffrer votre lecteur Windows To Go. Si vous ne souhaitez pas chiffrer le lecteur pour l’instant, cliquez sur Ignorer. Si vous décidez d’ajouter ultérieurement la protection BitLocker, voir Activer la protection BitLocker pour votre lecteur Windows To Go pour obtenir des instructions.

    Avertissement  

    Si vous envisagez d’utiliser un duplicateur USB pour créer plusieurs lecteurs Windows To Go, n’activez pas BitLocker. Les lecteurs protégés par BitLocker ne doivent pas être dupliqués.

     

    Si vous choisissez de chiffrer maintenant le lecteur Windows To Go :

    • Tapez un mot de passe comprenant au moins huit caractères et conforme à la politique de complexité des mots de passe de votre organisation. Ce mot de passe est indiqué avant le démarrage du système d’exploitation, c’est pourquoi les caractères que vous utilisez doivent pouvoir être interprétés par le microprogramme. Certains microprogramme ne gèrent pas les caractères non ASCII.

    • Tapez de nouveau le mot de passe, puis cliquez sur Suivant.

      Important  

      Le mot de passe de récupération BitLocker est enregistré dans la bibliothèque de documents de l’ordinateur utilisé pour créer l’espace de travail automatiquement. Si votre organisation utilise les services de domaine Active Directory (AD DS) pour stocker les mots de passe de récupération, il sera également enregistré dans les services AD DS sous le compte de l’ordinateur utilisé pour créer l’espace de travail. Ce mot de passe est utilisé uniquement si vous avez besoin de récupérer l’accès au lecteur si le mot de passe BitLocker spécifié à l’étape précédente n’est pas disponible, en cas de perte ou d’oubli, par exemple. Pour en savoir plus sur BitLocker et les services AD DS, voir Considérations en matière de services de domaine Active Directory.

       

  8. Vérifiez que le lecteur USB inséré est celui que vous souhaitez préparer pour Windows To Go, puis cliquez sur Créer pour lancer le processus de création de l’espace de travail Windows To Go.

    Avertissement  

    Le lecteur USB identifié sera reformaté dans le cadre du processus d’approvisionnement Windows To Go et toutes les données du disque seront effacées.

     

  9. Attendez la fin du processus de création qui peut prendre 20 à 30 minutes. Une page de fin s’affichera indiquant que votre espace de travail Windows To Go est prêt à l’emploi. La page de fin permet de configurer les options de démarrage de Windows To Go afin de définir l’ordinateur actuel comme ordinateur hôte Windows To Go.

Votre espace de travail Windows To Go peut maintenant être démarré. Vous pouvez à présent préparer un ordinateur hôte à l’aide des options de démarrage de Windows To Go et démarrer votre lecteur Windows To Go.

Commandes Windows PowerShell équivalentes

La ou les applets de commande Windows PowerShell suivantes remplissent la même fonction que la procédure précédente. Entrez chaque applet de commande sur une seule ligne, même si elle peut apparaître sur plusieurs lignes en raison de contraintes de format. Cette procédure ne peut être utilisée que sur les PC exécutant Windows 10. Avant de commencer, vérifiez que seul le lecteur USB que vous souhaitez approvisionner comme lecteur Windows To Go est connecté au PC.

  1. À l’aide de Cortana, recherchez powershell, cliquez avec le bouton droit sur Windows PowerShell, puis sélectionnez Exécuter en tant qu’administrateur.

  2. Dans la session Windows PowerShell, tapez les commandes suivantes pour partitionner un disque MBR (Master Boot Record) en vue d’une utilisation avec une partition de système FAT32 et une partition de système d’exploitation au format NTFS. La disposition de ce disque peut prendre en charge des ordinateurs utilisant le microprogramme UEFI ou BIOS :

    # The following command will set $Disk to all USB drives with >20 GB of storage
    
    $Disk = Get-Disk | Where-Object {$_.Path -match "USBSTOR" -and $_.Size -gt 20Gb -and -not $_.IsBoot }
    
    #Clear the disk. This will delete any data on the disk. (and will fail if the disk is not yet initialized. If that happens, simply continue with ‘New-Partition…) Validate that this is the correct disk that you want to completely erase.
    # To skip the confirmation prompt, append –confirm:$False
    Clear-Disk –InputObject $Disk[0] -RemoveData 
    
    # This command initializes a new MBR disk 
    Initialize-Disk –InputObject $Disk[0] -PartitionStyle MBR
    
    # This command creates a 350 MB system partition
    $SystemPartition = New-Partition –InputObject $Disk[0] -Size (350MB) -IsActive 
    
    # This formats the volume with a FAT32 Filesystem
    # To skip the confirmation dialog, append –Confirm:$False
    Format-Volume -NewFileSystemLabel "UFD-System" -FileSystem FAT32 `
    -Partition $SystemPartition
    
    # This command creates the Windows volume using the maximum space available on the drive. The Windows To Go drive should not be used for other file storage.
    $OSPartition = New-Partition –InputObject $Disk[0] -UseMaximumSize
    Format-Volume -NewFileSystemLabel "UFD-Windows" -FileSystem NTFS `
    -Partition $OSPartition
    
    # This command assigns drive letters to the new drive, the drive letters chosen should not already be in use.
    Set-Partition -InputObject $SystemPartition -NewDriveLetter "S"
    Set-Partition -InputObject $OSPartition -NewDriveLetter "W"
    
    # This command sets the NODEFAULTDRIVELETTER flag on the partition which prevents drive letters being assigned to either partition when inserted into a different computer.
    Set-Partition -InputObject $OSPartition -NoDefaultDriveLetter $TRUE
    
  3. Vous devez ensuite appliquer l’image de système d’exploitation que vous voulez utiliser avec Windows To Go à la partition de système d’exploitation que vous venez de créer sur le disque (cette opération peut prendre 30 minutes ou plus, selon la taille de l’image et la vitesse de votre connexion USB). La commande suivante montre comment procéder à l’aide de l’outil de ligne de commande Gestion et maintenance des images de déploiement (DISM) :

    Astuce  

    Le numéro d’index doit être défini correctement sur une image Entreprise valide dans le fichier .WIM.

     

    #The WIM file must contain a sysprep generalized image.
    dism /apply-image /imagefile:n:\imagefolder\deploymentimages\mywtgimage.wim /index:1 /applydir:W:\ 
    
  4. Utilisez à présent l’outil de ligne de commande bcdboot pour déplacer les composants de démarrage nécessaires à la partition système sur le disque. Cela permet de s’assurer que les composants de démarrage, les versions de système d’exploitation et les architectures correspondent. Le paramètre /f ALL indique que les composants de démarrage de l’interface UEFI et du BIOS doivent être placés sur la partition système du disque. L’exemple suivant illustre cette étape :

    W:\Windows\System32\bcdboot W:\Windows /f ALL /s S:
    
  5. Appliquez la stratégie SAN : OFFLINE_INTERNAL - « 4 » pour empêcher le système d’exploitation de mettre en ligne automatiquement tous les disques connectés en interne. Pour ce faire, créez et enregistrez un fichier san_policy.xml sur le disque. L’exemple suivant illustre cette étape :

    <?xml version='1.0' encoding='utf-8' standalone='yes'?>
    <unattend xmlns="urn:schemas-microsoft-com:unattend">
      <settings pass="offlineServicing">
        <component
            xmlns:wcm="https://schemas.microsoft.com/WMIConfig/2002/State"
            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
            language="neutral"
            name="Microsoft-Windows-PartitionManager"
            processorArchitecture="x86"
            publicKeyToken="31bf3856ad364e35"
            versionScope="nonSxS"
            >
          <SanPolicy>4</SanPolicy>
        </component>
       <component
            xmlns:wcm="https://schemas.microsoft.com/WMIConfig/2002/State"
            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
            language="neutral"
            name="Microsoft-Windows-PartitionManager"
            processorArchitecture="amd64"
            publicKeyToken="31bf3856ad364e35"
            versionScope="nonSxS"
            >
          <SanPolicy>4</SanPolicy>
        </component>
     </settings>
    </unattend>
    
  6. Placez le fichier san_policy.xml créé à l’étape précédente dans le répertoire racine de la partition Windows se trouvant sur le lecteur Windows To Go (W: issu des exemples précédents) et exécutez la commande suivante :

    Dism.exe /Image:W:\ /Apply-Unattend:W:\san_policy.xml
    
  7. Créez un fichier de réponses (unattend.xml) qui désactive l’utilisation de l’environnement de récupération Windows avec Windows To Go. Vous pouvez utiliser l’exemple de code suivant pour créer un nouveau fichier de réponses ou vous pouvez le coller dans un fichier de réponses existant :

    <?xml version="1.0" encoding="utf-8"?>
    <unattend xmlns="urn:schemas-microsoft-com:unattend">
        <settings pass="oobeSystem">
            <component name="Microsoft-Windows-WinRE-RecoveryAgent"
              processorArchitecture="x86"
              publicKeyToken="31bf3856ad364e35" language="neutral" 
              versionScope="nonSxS"
              xmlns:wcm="https://schemas.microsoft.com/WMIConfig/2002/State" 
              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
                <UninstallWindowsRE>true</UninstallWindowsRE>
            </component>
           <component name="Microsoft-Windows-WinRE-RecoveryAgent"
              processorArchitecture="amd64"
              publicKeyToken="31bf3856ad364e35" language="neutral" 
              versionScope="nonSxS"
              xmlns:wcm="https://schemas.microsoft.com/WMIConfig/2002/State" 
              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
                <UninstallWindowsRE>true</UninstallWindowsRE>
            </component>
        </settings>  
    </unattend>
    

    Une fois le fichier de réponses enregistré, copiez unattend.xml dans le dossier sysprep sur le lecteur Windows To Go (par exemple, W:\Windows\System32\sysprep\)

    Important  

    Les fichiers d’installation sans assistance sont traités en fonction de leur emplacement. Le programme d’installation place un fichier d’installation sans assistance temporaire dans le dossier %systemroot%\panther, qui est le premier emplacement dans lequel le programme d’installation recherche des informations. Vous devez vérifier que ce dossier ne contient pas une version précédente d’un fichier unattend.xml pour vous assurer que celui que vous venez de créer est utilisé.

    Si vous ne souhaitez pas démarrer votre appareil Windows To Go sur cet ordinateur et ne voulez qu’il démarre sur un autre PC, veillez à utiliser l’option Retirer le périphérique en toute sécurité et éjecter le média afin de déconnecter le lecteur avant de le retirer physiquement du PC.

     

Votre espace de travail Windows To Go peut maintenant être démarré. Vous pouvez à présent préparer un ordinateur hôte en utilisant les options de démarrage Windows To Go pour tester la configuration de votre espace de travail, configurer l’espace de travail à des fins de jonction de domaine hors connexion, ou activer la protection BitLocker pour le lecteur Windows To Go.

Pour préparer un ordinateur hôte

Les ordinateurs exécutant Windows 8 et ultérieur peuvent être configurés en tant qu’ordinateurs hôtes utilisant Windows To Go automatiquement chaque fois qu’un espace de travail Windows To Go est disponible au démarrage. Lorsque les options de démarrage de Windows To Go sont activées sur un ordinateur hôte, Windows détourne le démarrage sur le lecteur Windows To Go chaque fois qu’il est attaché à l’ordinateur. Cela permet de passer facilement de l’utilisation de l’ordinateur hôte à celle de l’espace de travail Windows To Go.

Astuce  

Si vous utilisez un PC exécutant Windows 7 comme ordinateur hôte, voir Conseils pour configurer des paramètres du BIOS compatibles avec Windows To Go pour en savoir plus sur la préparation de l’ordinateur hôte.

 

Si vous souhaitez utiliser l’espace de travail Windows To Go, éteignez simplement l’ordinateur, connectez le lecteur Windows To Go et démarrez l’ordinateur. Pour utiliser l’ordinateur hôte, éteignez l’espace de travail Windows To Go, débranchez le lecteur Windows To Go et démarrez l’ordinateur.

Pour définir les options de démarrage de Windows To Go pour les ordinateurs hôtes exécutant Windows 10 :

  1. À l’aide de Cortana, recherchez options de démarrage de Windows To Go, puis appuyez sur Entrée.

  2. Dans la boîte de dialogue Options de démarrage de Windows To Go, sélectionnez Oui, puis cliquez sur Enregistrer les modifications pour configurer un démarrage de l’ordinateur par USB.

Sur les ordinateurs hôtes exécutant Windows 8 ou Windows 8.1 :

  1. Appuyez sur la touche de logo Windows+W, recherchez Options de démarrage de Windows To Go, puis appuyez sur Entrée.
  2. Dans la boîte de dialogue Options de démarrage Windows To Go, sélectionnez Oui, puis cliquez sur Enregistrer les modifications pour configurer un démarrage de l’ordinateur par USB.

Vous pouvez configurer les ordinateurs de votre organisation de sorte qu’ils démarrent automatiquement à partir du lecteur USB en activant le paramètre de Stratégie de groupe suivant :

\\Computer Configuration\Administrative Templates\Windows Components\Portable Operating System\Windows To Go Default Startup Options

Une fois ce paramètre de stratégie activé, le démarrage automatique d’un espace de travail Windows To Go se déclenche si un lecteur USB est connecté à l’ordinateur au démarrage. Les utilisateurs ne sont pas en mesure d’utiliser les options de démarrage Windows To Go pour modifier ce comportement. Si vous désactivez ce paramètre de stratégie, le démarrage sur Windows To Go en cas de connexion d’un lecteur USB ne peut avoir lieu tant que l’utilisateur n’a pas configuré manuellement l’option dans le microprogramme. Si vous ne configurez pas ce paramètre de stratégie, les utilisateurs membres du groupe d’administrateurs peuvent activer ou désactiver le démarrage à partir d’un lecteur USB à l’aide de la boîte des options de démarrage Windows To Go.

L’ordinateur hôte est maintenant prêt à démarrer directement dans l’espace de travail Windows To Go lorsqu’il est inséré avant le démarrage de l’ordinateur. Vous pouvez éventuellement configurer l’espace de travail Windows To Go pour la jonction de domaine hors connexion et activer la protection BitLocker pour le lecteur Windows To Go.

Démarrage de l’espace de travail Windows To Go

Après avoir configuré le PC hôte pour qu’il démarre à partir du lecteur USB hôte, vous pouvez procéder comme suit pour démarrer l’espace de travail Windows To Go :

Mt186418.wedge(fr-fr,VS.85).gifDémarrage de votre espace de travail

  1. Assurez-vous que le PC hôte n’est pas en veille. Si l’ordinateur est en veille, arrêtez-le ou mettez-le en veille prolongée.

  2. Insérez le lecteur USB Windows To Go directement dans un port USB 3.0 ou USB 2.0 de l’ordinateur. N’utilisez pas de concentrateur ou d’extendeur USB.

  3. Allumez le PC. Si le lecteur Windows To Go est protégé par BitLocker, un mot de passe vous sera demandé. Dans le cas contraire, l’espace de travail démarre directement dans l’espace de travail Windows To Go.

Étapes de déploiement avancées

Les procédures suivantes sont utilisées pour des déploiements plus avancés qui vous permettent de contrôler davantage la configuration des lecteurs Windows To Go, de vérifier que ces derniers sont correctement configurés pour un accès à distance aux ressources organisationnelles et sont protégés par le chiffrement de lecteur BitLocker.

Configurer l’espace de travail Windows To Go pour l’accès à distance

Pour qu’un déploiement soit réussi, il est essentiel de s’assurer que les espaces de travail Windows To Go sont effectifs lors d’une utilisation hors site. Un des principaux avantages de Windows To Go est la capacité de vos utilisateurs à utiliser l’espace de travail joint à un domaine géré par l’entreprise sur un ordinateur non géré se trouvant en dehors de votre réseau d’entreprise. Pour permettre cette utilisation, vous devez généralement configurer le lecteur USB comme décrit dans les instructions de déploiement de base et ajoutez ensuite la configuration pour la prise en charge de la jonction de domaine de l’espace de travail, de l’installation de toutes les applications métier et de la configuration de votre solution de connectivité à distance choisie, telle qu’un client de réseau privé virtuel ou DirectAccess. Une fois ces configurations effectuées, l’utilisateur peut travailler à partir de l’espace de travail à l’aide d’un ordinateur situé hors site. La procédure suivante permet de configurer des espaces de travail Windows To Go joints à un domaine pour les utilisateurs qui n’ont pas d’accès physique à votre réseau d’entreprise.

Conditions préalables à un scénario d’accès à distance

  • Un ordinateur joint à un domaine exécutant Windows 8 ou ultérieur est configuré comme ordinateur hôte Windows To Go.

  • Un lecteur Windows To Go qui n’a pas été démarré ou joint au domaine à l’aide des paramètres sans assistance.

  • Un compte d’utilisateur de domaine doté de droits permettant d’ajouter des comptes d’ordinateur au domaine et membre du groupe d’administrateurs sur l’ordinateur hôte Windows To Go.

  • DirectAccess configuré sur le domaine

Mt186418.wedge(fr-fr,VS.85).gifConfiguration de l’espace de travail Windows To Go pour l’accès à distance

  1. Démarrez l’ordinateur hôte et connectez-vous avec un compte d’utilisateur doté de privilèges permettant d’ajouter des stations de travail au domaine, puis exécutez la commande suivante à partir d’une invite de commandes avec élévation de privilèges en remplaçant les paramètres d’espace réservé de l’exemple (indiqués par <>) par ceux applicables à votre environnement :

    djoin /provision /domain <exampledomain.com> /machine <examplewindowstogo_workspace_name> /certtemplate <WorkstationAuthentication_template> /policynames <DirectAccess Client Policy: {GUID}> /savefile <C:\example\path\domainmetadatafile> /reuse   
    

    Remarque  

    Le paramètre /certtemplate prend en charge l’utilisation de modèles de certificats pour distribuer des certificats pour DirectAccess. Si votre organisation n’utilise pas de modèles de certificats, vous pouvez omettre ce paramètre. En outre, si vous utilisez djoin.exe avec des contrôleurs de domaine Windows Server 2008, ajoutez le commutateur /downlevel pendant l’approvisionnement. Pour en savoir plus, voir le Guide pas à pas de jonction de domaine hors connexionDomaine.

     

  2. Insérez le lecteur Windows To Go.

  3. Lancez une invite de commandes avec élévation de privilèges Windows PowerShell en cliquant avec le bouton droit de la souris sur le raccourci Windows PowerShell dans la barre des tâches, puis en cliquant sur Exécuter en tant qu’administrateur.

  4. À partir de l’exécution à partir de l’invite de commandes Windows PowerShell :

    # The following command will set $Disk to all USB drives with >20 GB of storage
    
    $Disk = Get-Disk | Where-Object {$_.Path -match "USBSTOR" -and $_.Size -gt 20Gb -and -not $_.IsBoot }
    
    #Clear the disk. This will delete any data on the disk. (and will fail if the disk is not yet initialized. If that happens, simply continue with ‘New-Partition…) Validate that this is the correct disk that you want to completely erase.
    # To skip the confirmation prompt, append –confirm:$False
    Clear-Disk –InputObject $Disk[0] -RemoveData 
    
    # This command initializes a new MBR disk 
    Initialize-Disk –InputObject $Disk[0] -PartitionStyle MBR
    
    # This command creates a 350 MB system partition
    $SystemPartition = New-Partition –InputObject $Disk[0] -Size (350MB) -IsActive 
    
    # This formats the volume with a FAT32 Filesystem
    # To skip the confirmation dialog, append –Confirm:$False
    Format-Volume -NewFileSystemLabel "UFD-System" -FileSystem FAT32 `
    -Partition $SystemPartition
    
    # This command creates the Windows volume using the maximum space available on the drive. The Windows To Go drive should not be used for other file storage.
    $OSPartition = New-Partition –InputObject $Disk[0] -UseMaximumSize
    Format-Volume -NewFileSystemLabel "UFD-Windows" -FileSystem NTFS `
    -Partition $OSPartition
    
    # This command assigns drive letters to the new drive, the drive letters chosen should not already be in use.
    Set-Partition -InputObject $SystemPartition -NewDriveLetter "S"
    Set-Partition -InputObject $OSPartition -NewDriveLetter "W"
    
    # This command toggles the NODEFAULTDRIVELETTER flag on the partition which prevents drive letters being assigned to either partition when inserted into a different computer.
    Set-Partition -InputObject $OSPartition -NoDefaultDriveLetter $TRUE
    
  5. Vous devez ensuite appliquer l’image de système d’exploitation que vous voulez utiliser avec Windows To Go à la partition de système d’exploitation que vous venez de créer sur le disque (cette opération peut prendre 30 minutes ou plus, selon la taille de l’image et la vitesse de votre connexion USB). La commande suivante montre comment procéder à l’aide de l’outil de ligne de commande Gestion et maintenance des images de déploiement (DISM) :

    Astuce  

    Le numéro d’index doit être défini correctement sur une image Entreprise valide dans le fichier .WIM.

     

    #The WIM file must contain a sysprep generalized image.
    dism /apply-image /imagefile:n:\imagefolder\deploymentimages\mywtgimage.wim /index:1 /applydir:W:\ 
    
  6. Une fois ces commandes terminées, exécutez la commande suivante :

    djoin /requestodj /loadfile C:\example\path\domainmetadatafile /windowspath W:\Windows   
    
  7. Ensuite, nous devrons modifier le fichier unattend.xml pour configurer les premiers paramètres d’exécution (OOBE). Dans cet exemple, nous masquons la page Termes du contrat de licence logiciel Microsoft (CLUF), configurons des mises à jour automatiques pour installer de manière automatique les mises à jour importantes et recommandées et identifions cet espace de travail comme faisant partie d’un réseau privé d’entreprise. Vous pouvez utiliser les autres paramètres OOBE que vous avez configurés pour votre organisation, si vous le souhaitez. Pour en savoir plus sur les paramètres OOBE, voir OOBE :

    <?xml version="1.0" encoding="utf-8"?>
    <unattend xmlns="urn:schemas-microsoft-com:unattend">
        <settings pass="oobeSystem">
            <component name="Microsoft-Windows-WinRE-RecoveryAgent"
              processorArchitecture="x86"
              publicKeyToken="31bf3856ad364e35" language="neutral" 
              versionScope="nonSxS"
              xmlns:wcm="https://schemas.microsoft.com/WMIConfig/2002/State" 
              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
               <UninstallWindowsRE>true</UninstallWindowsRE>
               <OOBE>
                  <HideEULAPage>true</HideEULAPage>
                  <ProtectYourPC>1</ProtectYourPC>
                  <NetworkLocation>Work</NetworkLocation>
                </OOBE>
             </component>
           <component name="Microsoft-Windows-WinRE-RecoveryAgent"
              processorArchitecture="amd64"
              publicKeyToken="31bf3856ad364e35" language="neutral" 
              versionScope="nonSxS"
              xmlns:wcm="https://schemas.microsoft.com/WMIConfig/2002/State" 
              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
               <UninstallWindowsRE>true</UninstallWindowsRE>
               <OOBE>
                  <HideEULAPage>true</HideEULAPage>
                  <ProtectYourPC>1</ProtectYourPC>
                  <NetworkLocation>Work</NetworkLocation>
               </OOBE>
    </component>
        </settings>  
    </unattend>
    
  8. Retirez avec précaution le lecteur Windows To Go.

  9. À partir d’un ordinateur hôte sur site ou hors site, démarrez l’ordinateur et l’espace de travail Windows To Go.

    1. Dans le cas de l’utilisation d’un ordinateur hôte sur site avec connexion réseau directe, connectez-vous à l’aide de vos informations d’identification de domaine.

    2. Si vous êtes hors site, rejoignez un réseau sans fil distant avec accès internet, puis connectez-vous de nouveau en utilisant vos informations d’identification de domaine.

    Remarque  

    Selon la configuration DirectAccess, il vous sera peut-être demandé d’insérer votre carte à puce pour vous connecter au domaine.

     

Vous devez maintenant être en mesure d’accéder aux ressources réseau de votre organisation et de travailler à partir de votre espace de travail Windows To Go comme vous le feriez normalement depuis votre ordinateur de bureau standard sur site.

Activer la protection BitLocker pour le lecteur Windows To Go

L’activation de BitLocker sur votre lecteur Windows To Go permet de s’assurer que vos données sont protégées contre toute utilisation non autorisée et de compliquer l’obtention de données confidentielles ou l’utilisation de l’espace de travail pour accéder aux ressources protégées de votre organisation pour toute personne non autorisée en cas de perte ou de vol de votre lecteur Windows To Go. Lorsque BitLocker est activé, vous devrez fournir le mot de passe BitLocker permettant de déverrouiller le lecteur Windows To Go chaque fois que vous démarrez ce dernier. La procédure suivante permet d’activer BitLocker sur votre lecteur Windows To Go :

Conditions préalables au scénario d’activation de BitLocker

  • Un lecteur Windows To Go qui peut être configuré correctement.

  • Un ordinateur exécutant Windows 8 configuré comme ordinateur hôte Windows To Go.

  • Passez en revue les paramètres de stratégie de groupe suivants pour le chiffrement de lecteur BitLocker et modifiez la configuration selon les besoins :

    \Composants Windows\Chiffrement de lecteur BitLocker\Lecteurs du système d’exploitation\Exiger une authentification supplémentaire au démarrage. Cette stratégie permet d’utiliser un protecteur de clé de mot de passe avec un lecteur de système d’exploitation ; cette stratégie doit être activée pour configurer BitLocker à partir de l’espace de travail Windows To Go. Ce paramètre de stratégie vous permet d’indiquer si BitLocker requiert une authentification supplémentaire à chaque démarrage de l’ordinateur et si vous utilisez BitLocker avec ou sans module de plateforme sécurisée (TPM). Vous devez activer ce paramètre et cocher la case Autoriser BitLocker sans un module de plateforme sécurisée compatible, puis activez le paramètre Configurer l’utilisation des mots de passe pour les lecteurs du système d’exploitation.

    Composants Windows\Chiffrement de lecteur BitLocker\Lecteurs du système d’exploitation\Configurer l’utilisation des mots de passe pour les lecteurs du système d’exploitation. Ce paramètre de stratégie permet l’utilisation de mots de passe pour déverrouiller les lecteurs de système d’exploitation protégés par BitLocker et offre la possibilité de configurer les exigences de complexité et de longueur des mots de passe pour les espaces de travail Windows To Go. Pour que le paramètre d’exigence de complexité soit effectif, le paramètre Stratégie de groupe Le mot de passe doit respecter des exigences de complexité situé dans Configuration ordinateur\Paramètres Windows\Paramètres de sécurité\Stratégie de mot de passe doit également être activé.

    \Composants Windows\Chiffrement de lecteur BitLocker\Lecteurs de système d’exploitation\Activer l’utilisation de l’authentification BitLocker exigeant une saisie au clavier préalable au démarrage sur tablettes tactiles. Ce paramètre de stratégie permet aux utilisateurs d’activer les options d’authentification qui nécessitent une saisie de l’utilisateur à partir de l’environnement préalable au démarrage, même si la plateforme indique un manque lié à cette fonctionnalité. Si ce paramètre n’est pas activé, les mots de passe ne peuvent pas servir à déverrouiller des lecteurs de système d’exploitation protégés par BitLocker.

Vous pouvez choisir d’activer la protection BitLocker sur les lecteurs Windows To Go avant de les distribuer aux utilisateurs dans le cadre de votre processus d’approvisionnement. Vous pouvez également permettre aux utilisateurs finaux de leur appliquer la protection BitLocker une fois qu’ils ont pris possession du lecteur. Une procédure pas à pas est fournie pour les deux scénarios.

Activez BitLocker lors de l’approvisionnement pour que votre image de système d’exploitation soit protégée en permanence par BitLocker. L’activation de BitLocker après la configuration du disque et juste avant d’appliquer l’image lors du processus d’approvisionnement permet de réduire de manière significative le temps requis pour le chiffrement du lecteur. Si vous utilisez cette méthode, vous devez donner aux utilisateurs leur mot de passe BitLocker lorsque vous leur attribuez leur espace de travail Windows To Go. En outre, vous devez demander à vos utilisateurs de démarrer leur espace de travail et de modifier leur mot de passe BitLocker dès que possible (cela est possible avec des privilèges d’utilisateur standard).

Le fonctionnement de BitLocker après la distribution requiert son activation par les utilisateurs. Cela signifie que les espaces de travail Windows To Go ne sont pas protégés tant que l’utilisateur n’active pas BitLocker. Des droits d’administration sur l’espace de travail Windows To Go sont requis pour activer BitLocker. Pour en savoir plus sur BitLocker, voir la Vue d’ensemble de BitLocker.

Clés de récupération BitLocker

Les clés de récupération BitLocker peuvent être utilisées pour déverrouiller un lecteur protégé par Bitlocker en cas d’échec de la méthode de déverrouillage standard. Il est recommandé d’enregistrer vos clés de récupération BitLocker sur les services de domaine Active Directory (AD DS). Si vous ne souhaitez pas utiliser les services AD DS pour stocker les clés de récupération, vous pouvez enregistrer ces dernières dans un fichier ou les imprimer. Le mode de gestion des clés de récupération BitLocker diffère selon si BitLocker est activé ou non.

  • Si la protection BitLocker est activée pendant l’approvisionnement, les clés de récupération BitLocker seront stockées sous le compte de l’ordinateur utilisé pour la mise en service des lecteurs. Si la sauvegarde des clés de récupération sur les services de domaine Active Directory n’est pas utilisée, les clés de récupération devront être imprimées ou enregistrées dans un fichier pour chaque lecteur. L’administrateur informatique doit savoir à quel lecteur Windows To Go chaque clé est attribuée.

  • Avertissement  

    Si BitLocker est activé après la distribution, la clé de récupération est sauvegardée sur les services de domaine Active Directory sous le compte d’ordinateur de l’espace de travail. Si la sauvegarde des clés de récupération sur les services de domaine Active Directory n’est pas utilisée, ces dernières peuvent être imprimées ou enregistrées dans un fichier par l’utilisateur. Si l’administrateur informatique souhaite un enregistrement centralisé des clés de récupération, un processus par lequel l’utilisateur fournit la clé au département informatique doit être mis en place.

     

Mt186418.wedge(fr-fr,VS.85).gifPour activer BitLocker au cours de l’approvisionnement

  1. Démarrez l’ordinateur hôte exécutant Windows 8.

  2. Insérez le lecteur Windows To Go.

  3. Lancez une invite de commandes avec élévation de privilèges Windows PowerShell en cliquant avec le bouton droit de la souris sur le raccourci Windows PowerShell dans la barre des tâches, puis en cliquant sur Exécuter en tant qu’administrateur.

  4. Approvisionner le lecteur Windows To Go à l’aide des applets de commande suivantes :

    Remarque  

    Si vous avez utilisé la méthode manuelle pour créer un espace de travail vous devez avoir déjà approvisionné le lecteur Windows To Go. Si tel est le cas, vous pouvez passer à l’étape suivante.

     

    # The following command will set $Disk to all USB drives with >20 GB of storage
    
    $Disk = Get-Disk | Where-Object {$_.Path -match "USBSTOR" -and $_.Size -gt 20Gb -and -not $_.IsBoot }
    
    #Clear the disk. This will delete any data on the disk. (and will fail if the disk is not yet initialized. If that happens, simply continue with ‘New-Partition…) Validate that this is the correct disk that you want to completely erase.
    # To skip the confirmation prompt, append –confirm:$False
    Clear-Disk –InputObject $Disk[0] -RemoveData 
    
    # This command initializes a new MBR disk 
    Initialize-Disk –InputObject $Disk[0] -PartitionStyle MBR
    
    # This command creates a 350 MB system partition
    $SystemPartition = New-Partition –InputObject $Disk[0] -Size (350MB) -IsActive 
    
    # This formats the volume with a FAT32 Filesystem
    # To skip the confirmation dialog, append –Confirm:$False
    Format-Volume -NewFileSystemLabel "UFD-System" -FileSystem FAT32 `
    -Partition $SystemPartition
    
    # This command creates the Windows volume using the maximum space available on the drive. The Windows To Go drive should not be used for other file storage.
    $OSPartition = New-Partition –InputObject $Disk[0] -UseMaximumSize
    Format-Volume -NewFileSystemLabel "UFD-Windows" -FileSystem NTFS `
    -Partition $OSPartition
    
    # This command assigns drive letters to the new drive, the drive letters chosen should not already be in use.
    Set-Partition -InputObject $SystemPartition -NewDriveLetter "S"
    Set-Partition -InputObject $OSPartition -NewDriveLetter "W"
    
    # This command toggles the NODEFAULTDRIVELETTER flag on the partition which prevents drive letters being assigned to either partition when inserted into a different computer.
    Set-Partition -InputObject $OSPartition -NoDefaultDriveLetter $TRUE
    

    Vous devez ensuite appliquer l’image de système d’exploitation que vous voulez utiliser avec Windows To Go à la partition de système d’exploitation que vous venez de créer sur le disque (cette opération peut prendre 30 minutes ou plus, selon la taille de l’image et la vitesse de votre connexion USB). La commande suivante montre comment procéder à l’aide de l’outil de ligne de commande Gestion et maintenance des images de déploiement (DISM) :

    Astuce  

    Le numéro d’index doit être défini correctement sur une image Entreprise valide dans le fichier .WIM.

     

    #The WIM file must contain a sysprep generalized image.
    dism /apply-image /imagefile:n:\imagefolder\deploymentimages\mywtgimage.wim /index:1 /applydir:W:\ 
    
  5. Dans la même session PowerShell, utilisez l’applet de commande suivante pour ajouter une clé de récupération au lecteur :

    $BitlockerRecoveryProtector = Add-BitLockerKeyProtector W: -RecoveryPasswordProtector
    
  6. Ensuite, utilisez les applets de commande suivantes pour enregistrer la clé de récupération dans un fichier :

    #The BitLocker Recovery key is essential if for some reason you forget the BitLocker password
    #This recovery key can also be backed up into Active Directory using manage-bde.exe or the
    #PowerShell cmdlet Backup-BitLockerKeyProtector.
    $RecoveryPassword = $BitlockerRecoveryProtector.KeyProtector.RecoveryPassword
    $RecoveryPassword > WTG-Demo_Bitlocker_Recovery_Password.txt
    
  7. Puis, utilisez les applets de commande suivantes pour ajouter le mot de passe sous forme de chaîne sécurisée. Si vous omettez le mot de passe, l’applet de commande vous demande le mot de passe avant de poursuivre l’opération :

    # Create a variable to store the password
    $spwd = ConvertTo-SecureString -String <password> -AsplainText –Force 
    Enable-BitLocker W: -PasswordProtector $spwd 
    

    Avertissement  

    Pour que BitLocker chiffre uniquement l’espace utilisé sur le disque, ajoutez le paramètre –UsedSpaceOnly à l’applet de commande Enable-BitLocker. À mesure que des données sont ajoutées au lecteur, BitLocker chiffre l’espace supplémentaire. Ce paramètre accélère le processus de préparation étant donné qu’un faible pourcentage du disque requiert un chiffrement. Si vous êtes pressé par le temps et que vous ne pouvez pas attendre la fin du chiffrement, vous pouvez également retirer en toute sécurité le lecteur Windows To Go au cours du processus de chiffrement. Un mot de passe BitLocker vous sera demandé lors de la prochaine insertion d’un lecteur dans un ordinateur. Une fois le mot de passe fourni, le processus de chiffrement se poursuit. Si vous procédez ainsi, assurez-vous que les utilisateurs savent que le chiffrement BitLocker est toujours en cours et qu’ils sont en mesure d’utiliser l’espace de travail alors que le chiffrement s’exécute en arrière-plan.

     

  8. Copiez le mot de passe de récupération numérique et enregistrez-le dans un fichier situé dans un emplacement sécurisé. Le mot de passe de récupération est nécessaire en cas de perte ou d’oubli du mot de passe.

    Avertissement  

    Si le paramètre Stratégie de groupe Sélectionner la méthode de récupération des lecteurs amovibles protégés par BitLocker a été configuré de manière à sauvegarder les informations de récupération sur les services de domaine Active Directory, les informations de récupération relatives au lecteur sont stockées sous le compte de l’ordinateur hôte utilisé pour appliquer la clé de récupération.

    Si vous voulez que les informations de récupération soient stockées sous le compte de l’espace de travail Windows To Go, vous pouvez activer BitLocker depuis l’espace de travail Windows To Go à l’aide de l’Assistant de configuration BitLocker depuis l’élément du Panneau de configuration BitLocker comme décrit dans Activation de BitLocker après la distribution.

     

  9. Retirez avec précaution le lecteur Windows To Go.

Les lecteurs Windows To Go sont désormais prêts à être distribués aux utilisateurs et sont protégés par BitLocker. Lorsque vous distribuez les lecteurs, assurez-vous que les utilisateurs connaissent les éléments suivants :

  • Le mot de passe d’origine dont ils auront besoin pour démarrer les lecteurs.

  • L’état du chiffrement actuel.

  • Les instructions nécessaires à la modification du mot de passe BitLocker suite au démarrage initial.

  • Les instructions relatives au mode de récupération du mot de passe de récupération si nécessaire. Il peut s’agir d’un processus du service d’aide, d’un site de récupération automatique du mot de passe ou d’une personne à contacter.

Mt186418.wedge(fr-fr,VS.85).gifActivation de BitLocker après la distribution

  1. Insérez le lecteur Windows To Go dans l’ordinateur hôte (qui est actuellement éteint), puis allumez l’ordinateur et démarrez dans votre espace de travail Windows To Go

  2. Appuyez sur Windows logo key+W pour ouvrir Paramètres de recherche, tapez BitLocker, puis sélectionnez l’élément à soumettre au chiffrement de lecteur BitLocker.

  3. Les lecteurs de l’espace de travail s’affichent, cliquez sur Activer BitLocker sur pour le lecteur C:. L’Assistant de configuration BitLocker s’affiche.

  4. Suivez les étapes de l’Assistant de configuration BitLocker en sélectionnant l’option de protection par mot de passe.

Remarque  

Si vous n’avez pas configuré le paramètre Stratégie de groupe \Composants Windows\Chiffrement de lecteur BitLocker\Lecteurs de système d’exploitation\Demander une authentification supplémentaire au démarrage pour spécifier Autoriser BitLocker sans un module de plateforme sécurisée compatible, vous ne serez pas en mesure d’activer BitLocker à partir de l’espace de travail Windows To Go.

 

Exemple de script de déploiement avancé

L’exemple de script suivant prend en charge l’approvisionnement de plusieurs lecteurs Windows To Go et la configuration de jonction de domaine hors connexion.

L’exemple de script crée un fichier d’installation sans assistance qui rationalise le processus de déploiement afin que l’utilisateur final ne soit pas invité à fournir des informations de configuration supplémentaires avant de démarrer lors de la première utilisation du lecteur Windows To Go.

Conditions préalables à l’exécution de l’exemple de script de déploiement avancé

  • Pour exécuter cet exemple de script, vous devez ouvrir une session Windows PowerShell en tant qu’administrateur à partir d’un ordinateur joint à un domaine à l’aide d’un compte autorisé à créer des comptes de domaine.

  • L’utilisation de la jonction de domaine hors connexion est requise par ce script, étant donné qu’il ne crée pas de compte d’utilisateur d’administrateur local. Toutefois, l’appartenance au domaine insère automatiquement « Domain admins » dans le groupe d’administrateurs local. Passez en revue les stratégies de votre domaine. Si vous utilisez DirectAccess vous devez modifier la commande djoin.exe de manière à inclure les paramètres policynames et, éventuellement, certtemplate.

  • Le script doit utiliser des lettres de lecteur. Ainsi, vous ne pourrez approvisionner que la moitié moins des lecteurs disponibles.

Exécution de l’exemple de script de déploiement avancé

  1. Copiez intégralement l’exemple de code intitulé « Exemple de script d’approvisionnement de plusieurs lecteurs Windows To Go » dans un fichier de script (.ps1) PowerShell.

  2. Apportez les modifications nécessaires pour qu’il convienne à votre déploiement et enregistrez le fichier.

  3. Configurez la stratégie d’exécution PowerShell. Par défaut la stratégie d’exécution PowerShell est définie sur Restricted ; cela signifie que les scripts ne s’exécutent tant qu’ils n’y sont pas explicitement autorisés. Pour configurer la stratégie d’exécution PowerShell de manière à permettre l’exécution du script, utilisez la commande suivante depuis une invite de commandes PowerShell avec élévation de privilèges :

    Set-ExecutionPolicy RemoteSigned
    

    La stratégie d’exécution RemoteSigned empêche l’exécution sur l’ordinateur de scripts non signés à partir d’internet, mais autorise celle de scripts créés localement. Pour en savoir plus sur les stratégies d’exécution, voir Set-ExecutionPolicy.

    Astuce  

    Afin d’obtenir de l’aide en ligne pour n’importe quelle applet de commande Windows PowerShell, qu’elle soit installée ou non localement, tapez l’applet de commande suivante, en remplaçant <cmdlet-name> par le nom de l’applet de commande pour laquelle vous voulez afficher l’aide :

    Get-Help <cmdlet-name> -Online

    Cette commande entraîne l’ouverture par Windows PowerShell de la version en ligne de la rubrique d’aide dans votre navigateur Internet par défaut.

     

Exemple de script d’approvisionnement de plusieurs lecteurs Windows To Go

<#
.SYNOPSIS
Windows To Go multiple drive provisioning sample script.

.DESCRIPTION
This sample script will provision one or more Windows To Go drives, configure offline domain join (using random machine names) and provides an option for BitLocker encryption. To provide a seamless first boot experience, an unattend file is created that will set the first run (OOBE) settings to defaults. To improve performance of the script, copy your install image to a local location on the computer used for provisioning the drives.

.EXAMPLE
.\WTG_MultiProvision.ps1 -InstallWIMPath c:\companyImages\amd64_enterprise.wim
provision drives connected to your machine with the provided image.
#>
param (
    [parameter(Mandatory=$true)]
    [string]
    #Path to install wim.  If you have the full path to the wim or want to use a local file.
    $InstallWIMPath,

    [string]
    #Domain to which to join the Windows To Go workspaces.
    $DomainName
)


<#
  In order to set BitLocker Group Policies for our offline WTG image we need to create a Registry.pol file
  in the System32\GroupPolicy folder. This file requires binary editing, which is not possible in PowerShell
  directly so we have some C# code that we can use to add a type in our PowerShell instance that will write
  the data for us.
#>
$Source = @"
using System;
using System.Collections.Generic;
using System.IO;
using System.Text;

namespace MS.PolicyFileEditor
{
    //The PolicyEntry represents the DWORD Registry Key/Value/Data entry that will
    //be written into the file.
    public class PolicyEntry
    {
        private List<byte> byteList;

        public string KeyName { get; set; }
        public string ValueName { get; set; }

        internal List<byte> DataBytes
        {
            get { return this.byteList; }
        }

        public PolicyEntry(
            string Key,
            string Value,
            uint data)
        {
            KeyName = Key;
            ValueName = Value;
            this.byteList = new List<byte>();
            byte[] arrBytes = BitConverter.GetBytes(data);
            if (BitConverter.IsLittleEndian == false) { Array.Reverse(arrBytes); }
            this.byteList.AddRange(arrBytes);
        }

        ~PolicyEntry()
        {
            this.byteList = null;
        }
    }

    public class PolicyFile
    {
        private Dictionary<string, PolicyEntry> entries;

        public List<PolicyEntry> Entries
        {
            get
            {
                List<PolicyEntry> policyList = new List<PolicyEntry>(entries.Values);
                return policyList;
            }
        }

        public PolicyFile()
        {
            this.entries = new Dictionary<string, PolicyEntry>(StringComparer.OrdinalIgnoreCase);
        }

        public void SetDWORDValue(string key, string value, uint data)
        {
            PolicyEntry entry = new PolicyEntry(key, value, data);
            this.entries[entry.KeyName + "\\" + entry.ValueName] = entry;
        }

        public void SaveFile(string file)
        {
            using (FileStream fs = new FileStream(file, FileMode.Create, FileAccess.Write))
            {
                fs.Write(new byte[] { 0x50, 0x52, 0x65, 0x67, 0x01, 0x00, 0x00, 0x00 }, 0, 8);
                byte[] openBracket = UnicodeEncoding.Unicode.GetBytes("[");
                byte[] closeBracket = UnicodeEncoding.Unicode.GetBytes("]");
                byte[] semicolon = UnicodeEncoding.Unicode.GetBytes(";");
                byte[] nullChar = new byte[] { 0, 0 };

                byte[] bytes;

                foreach (PolicyEntry entry in this.Entries)
                {
                    fs.Write(openBracket, 0, 2);
                    bytes = UnicodeEncoding.Unicode.GetBytes(entry.KeyName);
                    fs.Write(bytes, 0, bytes.Length);
                    fs.Write(nullChar, 0, 2);

                    fs.Write(semicolon, 0, 2);
                    bytes = UnicodeEncoding.Unicode.GetBytes(entry.ValueName);
                    fs.Write(bytes, 0, bytes.Length);
                    fs.Write(nullChar, 0, 2);

                    fs.Write(semicolon, 0, 2);
                    bytes = BitConverter.GetBytes(4);
                    if (BitConverter.IsLittleEndian == false) { Array.Reverse(bytes); }
                    fs.Write(bytes, 0, 4);

                    fs.Write(semicolon, 0, 2);
                    byte[] data = entry.DataBytes.ToArray();
                    bytes = BitConverter.GetBytes((uint)data.Length);
                    if (BitConverter.IsLittleEndian == false) { Array.Reverse(bytes); }
                    fs.Write(bytes, 0, 4);

                    fs.Write(semicolon, 0, 2);
                    fs.Write(data, 0, data.Length);
                    fs.Write(closeBracket, 0, 2);
                }
                fs.Close();
            }
        }
    }
}
"@

########################################################################
# Helper Functions
Function CreateUnattendFile {
param (
    [parameter(Mandatory=$true)]
    [string]
    $Arch
)

    if ( Test-Path "WtgUnattend.xml" ) {
      del .\WtgUnattend.xml
    }
    $unattendFile = New-Item "WtgUnattend.xml" -type File
    $fileContent = @"
<?xml version="1.0" encoding="utf-8"?>
<unattend xmlns="urn:schemas-microsoft-com:unattend">
    <settings pass="oobeSystem">
        <component name="Microsoft-Windows-Shell-Setup" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" processorArchitecture="$Arch" xmlns:wcm="https://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
            <OOBE>
                <HideEULAPage>true</HideEULAPage>
                <ProtectYourPC>1</ProtectYourPC>
                <NetworkLocation>Work</NetworkLocation>
            </OOBE>
        </component>
        <component name="Microsoft-Windows-International-Core" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" processorArchitecture="$Arch">
          <InputLocale>en-US</InputLocale>
          <SystemLocale>en-US</SystemLocale>
          <UILanguage>en-US</UILanguage>
          <UserLocale>en-US</UserLocale>
        </component>
        <component name="Microsoft-Windows-WinRE-RecoveryAgent" processorArchitecture="$Arch" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="https://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
            <UninstallWindowsRE>true</UninstallWindowsRE>
        </component>
    </settings>
</unattend>
"@

    Set-Content $unattendFile $fileContent

    #return the file object
    $unattendFile 
}

Function CreateRegistryPolicyFile {

    $saveFileLocaiton = "" + (get-location) + "\registry.pol"

    $policyFile = New-Object MS.PolicyFileEditor.PolicyFile 
    $policyFile.SetDWORDValue("Software\Policies\Microsoft\FVE", "UseAdvancedStartup", 1)
    $policyFile.SetDWORDValue("Software\Policies\Microsoft\FVE", "EnableBDEWithNoTPM", 1)
    $policyFile.SetDWORDValue("Software\Policies\Microsoft\FVE", "UseTPM", 2)
    $policyFile.SetDWORDValue("Software\Policies\Microsoft\FVE", "UseTPMPIN", 2)
    $policyFile.SetDWORDValue("Software\Policies\Microsoft\FVE", "UseTPMKey", 2)
    $policyFile.SetDWORDValue("Software\Policies\Microsoft\FVE", "UseTPMKeyPIN", 2)
    $policyFile.SetDWORDValue("Software\Policies\Microsoft\FVE", "OSEnablePrebootInputProtectorsOnSlates", 1)
    $policyFile.SaveFile($saveFileLocaiton) 

    $saveFileLocaiton
}

########################################################################

if ( Test-Path $installWIMPath ){
  write-output "Image: $installWIMPath"
}
else{
  write-output "Unable to find image: $installWIMPath" "Exiting the script"
  exit
}

if ( (Get-WindowsImage -ImagePath $InstallWIMPath -Index 1).Architecture -eq 0 ){
    $Arch = "x86"
}
else{
    $Arch = "amd64"
}

$starttime = get-date

#Add type information for modifing the Registy Policy file
Add-Type -TypeDefinition $Source -Language CSharp  

#Create helper files
$unattendFile = CreateUnattendFile -Arch $Arch
$registryPolFilePath = CreateRegistryPolicyFile

$Disks = Get-Disk | Where-Object {$_.Path -match "USBSTOR" -and $_.Size -gt 20Gb -and -not $_.IsBoot }
if ($Disks -eq $null)
{
    Write-Output "No USB Disks found, exiting the script.  Please check that you have a device connected."
    exit
}

#We want to make sure that all non-boot connected USB drives are online, writeable and cleaned.
#This command will erase all data from all USB drives larger than 20Gb connected to your machine
#To automate this step you can add: -confirm:$False
Clear-Disk –InputObject $Disks -RemoveData -erroraction SilentlyContinue

# Currently the provisioning script needs drive letters (for dism and bcdboot.exe) and the script is more
# reliable when the main process determines all of the free drives and provides them to the sub-processes.
# Use a drive index starting at 1, since we need 2 free drives to proceed. (system & operating system)
$driveLetters =    68..90 | ForEach-Object { "$([char]$_):" } |
    Where-Object {
        (new-object System.IO.DriveInfo $_).DriveType -eq 'noRootdirectory'
    }
$driveIndex = 1

foreach ($disk in $Disks)
{

    if ( $driveIndex  -lt $driveLetters.count )
    {
        Start-Job -ScriptBlock {
            $installWIMPath = $args[0]
            $unattendFile = $args[1]
            $Disk = $args[2]
            $SystemDriveLetter = $args[3]
            $OSDriveLetter = $args[4]
            $DomainName = $args[5]
            $policyFilePath = $args[6]

            #For compatibility between UEFI and legacy BIOS we use MBR for the disk.
            Initialize-Disk –InputObject $Disk -PartitionStyle MBR

            #A short sleep between creating a new partition and formatting helps ensure the partition
            #is ready before formatting.
            $SystemPartition = New-Partition –InputObject $Disk -Size (350MB) -IsActive
            Sleep 1
            Format-Volume -Partition $SystemPartition -FileSystem FAT32 -NewFileSystemLabel "UFD-System" -confirm:$False | Out-Null

            $OSPartition = New-Partition –InputObject $Disk -UseMaximumSize
            Sleep 1
            Format-Volume -NewFileSystemLabel "UFD-Windows" -FileSystem NTFS -Partition $OSPartition -confirm:$False | Out-Null


            #The No default drive letter prevents other computers from displaying contents of the drive when connected as a Data drive.    
            Set-Partition -InputObject $OSPartition -NoDefaultDriveLetter $TRUE
            Set-Partition -InputObject $SystemPartition -NewDriveLetter $SystemDriveLetter 
            Set-Partition -InputObject $OSPartition -NewDriveLetter $OSDriveLetter 

            dism /apply-image /index:1 /applydir:${OSDriveLetter}:\ /imagefile:$InstallWIMPath
            if (!$?){
                write-output "DISM image application failed, exiting."
                exit
            }

            copy $unattendFile ${OSDriveLetter}:\Windows\System32\sysprep\unattend.xml

            #Create the directory for the Machine Registry Policy file, surpressing the output and any error
            #and copy the pre-created Registry.pol file to that location.
            write-output "Set BitLocker default policies for WindowsToGo"
            md ${OSDriveLetter}:\windows\System32\GroupPolicy\Machine | out-null
            copy $policyFilePath ${OSDriveLetter}:\windows\System32\GroupPolicy\Machine

            #modify the registry of the image to set SanPolicy.  This is also where you could set the default 
            #keyboard type for USB keyboards.
            write-output "Modify SAN Policy"
            reg load HKLM\PW-System ${OSDriveLetter}:\Windows\System32\config\SYSTEM > info.log
            reg add HKLM\PW-System\ControlSet001\Services\Partmgr\Parameters /v SanPolicy /d 4 /t REG_DWORD /f > info.log
            reg unload HKLM\PW-System > info.log

            #We're running bcdboot from the newly applied image so we know that the correct boot files for the architecture and operating system are used.
            #This will fail if we try to run an amd64 bcdboot.exe on x86.
            cmd /c "$OSDriveLetter`:\Windows\system32\bcdboot $OSDriveLetter`:\Windows /f ALL /s $SystemDriveLetter`:"
            if (!$?){
                write-output "BCDBOOT.exe failed, exiting script."
                exit
            }

            <#
               If a domain name was provided to the script, we will create a random computer name
               and perform an offline domain join for the device.  With this command we also supress the
               Add User OOBE screen.
            #>
            if ($DomainName)
            {
                #using get-random, we will create a random computer name for the drive. 
                $suffix = Get-Random
                $computername = "wtg-" + $suffix
                djoin /provision /domain $DomainName /savefile ${OSDriveLetter}:\tempBLOB.bin /reuse /machine $computername 
                djoin /requestodj /loadfile ${OSDriveLetter}:\tempBLOB.bin /windowspath  ${OSDriveLetter}:\windows > info.log
                del ${OSDriveLetter}:\tempBLOB.bin

                #add offline registry key to skip user account screen
                write-output "Add Offline Registry key for skipping UserAccount OOBE page."
                reg load HKLM\PW-Temp${OSDriveLetter}   ${OSDriveLetter}:\Windows\System32\config\SOFTWARE > info.log
                reg add HKLM\PW-Temp${OSDriveLetter}\Microsoft\Windows\CurrentVersion\Setup\OOBE /v UnattendCreatedUser /d 1 /t REG_DWORD > info.log
                reg unload HKLM\PW-Temp${OSDriveLetter} > info.log
            }

            try
            {
                Write-VolumeCache -DriveLetter ${OSDriveLetter}
                Write-Output "Disk is now ready to be removed."
            }
                catch [System.Management.Automation.CommandNotFoundException]
            {
                write-output "Flush Cache not supported, Be sure to safely remove the WTG device."
            }
 

       } -ArgumentList  @($installWIMPath, $unattendFile, $disk, $driveLetters[$driveIndex-1][0], $driveLetters[$driveIndex][0], $DomainName, $registryPolFilePath)
    }
    $driveIndex  = $driveIndex  + 2
}
#wait for all threads to finish
get-job | wait-job

#print output from all threads
get-job | receive-job

#delete the job objects
get-job | remove-job


#Cleanup helper files
del .\WtgUnattend.xml
del .\Registry.pol

$finishtime = get-date
$elapsedTime = new-timespan $starttime $finishtime
write-output "Provsioning completed in: $elapsedTime  (hh:mm:ss.000)"
write-output "" "Provisioning script complete."

Éléments à prendre en considération lors de l’utilisation de diverses dispositions de clavier USB avec Windows To Go

Avant d’approvisionner votre lecteur Windows To Go, vous devez savoir si votre espace de travail démarre sur un ordinateur auquel un clavier USB non anglais est attaché. Comme décrit dans l’article de la base de connaissances 927824, il existe un problème connu où l’ID plug-and-play empêche l’identification du clavier comme clavier à 101 touches anglais. Pour éviter ce problème, vous pouvez modifier le script d’approvisionnement pour définir les paramètres de substitution du clavier.

Dans le script d’approvisionnement PowerShell, une fois l’image appliquée, vous pouvez ajouter les commandes suivantes qui définiront correctement les paramètres du clavier. L’exemple suivant utilise la disposition du clavier japonais :

            reg load HKLM\WTG-Keyboard ${OSDriveLetter}:\Windows\System32\config\SYSTEM > info.log
            reg add HKLM\WTG-Keyboard\ControlSet001\Services\i8042prt\Parameters /v LayerDriver /d JPN:kbd106dll /t REG_SZ /f
            reg add HKLM\WTG-Keyboard\ControlSet001\Services\i8042prt\Parameters /v OverrideKeyboardIdentifier /d PCAT_106KEY /t REG_SZ /f 
            reg add HKLM\WTG-Keyboard\ControlSet001\Services\i8042prt\Parameters /v OverrideKeyboardSubtype /d 2 /t REG_DWORD /f
            reg add HKLM\WTG-Keyboard\ControlSet001\Services\i8042prt\Parameters /v OverrideKeyboardType /d 7 /t REG_DWORD /f 
            reg unload HKLM\WTG-Keyboard

Rubriques associées

Windows To Go : Vue d’ensemble des fonctionnalités

Forums Windows 10

Préparer votre organisation à Windows To Go

Considérations relatives au déploiement de Windows To Go

Considérations relatives à la sécurité et à la protection des données de Windows To Go

Vue d’ensemble de BitLocker