FOR /L %N IN () DO @echo "commande" & timeout 5 & "C:\mysoft.exe"
FOR /L %N IN () DO @echo "commande" & timeout 5 & "C:\mysoft.exe"
Il arrive que l’ESP soit visible parmi les lecteurs dans l’explorer Windows.
Pour la cacher même après reboot, si diskpart ne fonctionne pas, essayer :
mountvol X: /d
Il peut arriver que lors d’un double-clic sur un fichier xls/xlsx, Excel s’ouvre mais sans ouvrir le fichier demandé.
Pour corriger ceci, aller dans Fichier -> Options -> Options avancées -> Géneral
(vers le bas de la liste)
et décocher
Ignorer les autres applications qui utilisent l'échange dynamique de données
Pour Outlook 2016 et + .
Identifier le nom du profil concerné (ici nom-du-profil
) et du compte mail concerné. Fermer Outlook.
Ouvrir regedit
.
Atteindre HKCU\Software\Microsoft\Office\16.0\Outlook\Profiles\nom-du-profil
Rechercher la chaîne 001f6641
Examiner les résultats dans l’ordre ; faire un double-clic sur l’entrée (de type REG_BINARY) pour en voir le contenu, et chercher celle qui contient l’adresse mail à supprimer. Il y en au sûrement plusieurs, la 1e occurence devrait être ok.
Une fois la valeur trouvée, on peut supprimer (ou renommer) l’ensemble de la clé qui la contient.
On devrait alors pouvoir supprimer le compte en question.
shell:::{A8A91A66-3A7D-4424-8D24-04E180695C7A}
Dans le cas d’une synchronisation d’un AD local vers Azure Active Directory (AAD), il peut arriver d’avoir une incohérence dans les adresses mail d’un utilisateur entre l’AD local, le Office Admin Center (OAC) et le Exchange Admin Center (EAC).
Par exemple, supposons que
mondomaine.ville.entreprise.fr
. Ce domaine n’est pas routable sur internet. Nous avons en plus un domaine monentreprise.com
qui est routable sur internet et est le domaine utilisé pour les adresses mailmonentreprise.com
a bien été ajouté comme UPN dans le domaine localentreprise.onmicrosoft.com
chez Microsoft 365, et ajouté/validé le domaine monentreprise.com
sur M365Dans le cas où, en local, dans “Utilisateurs et Ordinateurs AD” (ADUC), le “Nom d’ouverture de session de l’utilisateur” (UPN) est “@mondomaine.ville.entreprise.fr”, alors l’utilisateur apparaîtra comme “@entreprise.onmicrosoft.com” dans l’OAC et dans l’EAC. Les mails envoyés arriveront via la même adresse “onmicrosoft”. L’adresse “@monentreprise.com” apparaît normalement comme un alias, et les mails envoyés à cette adresse sont bien reçus.
Si on modifie le nom d’ouverture de session en “@monentreprise.com”, après synchronisation (et délai de qqs minutes), l’adresse sera modifiée dans l’OAC.
Selon les cas, l’adresse peut également être modifiée dans l’EAC, mais pas systématiquement. Dans le cas où elle reste en “onmicrosoft”, c’est que l’attribut “mail” en local (ADUC) est manquant.
Si on ajoute l’attribut “mail” et lui donnant la valeur “@monentreprise.com”, après synchronisation (et délai), alors elle sera bien mise à jour dans l’EAC, et les mails envoyés auront l’adresse correcte.
Install-Module ExchangeOnlineManagement
Import-Module ExchangeOnlineManagement
Si les message ModuleNotFound s’affiche, il faut installer ce module. Depuis mars 2020, il faut forcer TLS 1.2 au minimum, pour assurer l’installation correcte des modules et leurs dépendances :
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
Si un message disant “L’éxécution de scripts est désactivée sur ce système”, il faut l’activer avec :
Set-ExecutionPolicy -ExecutionPolicy Unrestricted
(à voir s’il est nécessaire de lancer PS en admin pour ça ?)
Connect-ExchangeOnline -UserPrincipalName user@domain.com
Si le nom fourni est un admin, il pourra consulter les statistiques des autres boîtes mail.
Si un message du genre
Impossible de charger le fichier ou l'assembly 'System.Net.Http, Version=4.2.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' ou une de ses dépendances. Le fichier spécifié est introuvable.
s’affiche, il faut probablement installer une version + récente du framework DotNet (genre 4.8 ?)
Connection RPS (remote PowerShell) dépréciée :
Connect-ExchangeOnline -UseRPSSession
La sortie de certaines commandes peut être tronquée (avec ...
) si la fenêtre n’est pas assez large pour tout afficher, et ce même si on redirige la sortie vers un fichier. Pour avoir les lignes complètes, on peut utiliser | out-string -Width 999999
.
$mailbox = "user@domain.com"
(guillemets obligatoires)
Pour la taille de chaque dossier uniquement, sans les sous-dossiers :
Get-EXOMailboxFolderStatistics $mailbox | Select FolderPath,FolderSize,@{ name="FolderSizeBytes"; expression={((($_.FolderSize -replace '^(.*\()(.*)(\sbytes\))$','$2').Replace(',','')) -as [bigint])}}| Sort-Object -Property FolderSizeBytes -Descending | Out-String -Width 999999 | ft
Avec les sous-dossiers :
Get-EXOMailboxFolderStatistics $mailbox | Select FolderPath,FolderAndSubfolderSize,@{ name="FolderAndSubfolderSizeBytes"; expression={((($_.FolderAndSubfolderSize -replace '^(.*\()(.*)(\sbytes\))$','$2').Replace(',','')) -as [bigint])}}| Sort-Object -Property FolderAndSubfolderSizeBytes -Descending | Out-String -Width 999999 | ft
On peut le piper vers un fichier : > report.txt
Get-EXOMailboxStatistics $mailbox
Pour lister les dossiers qui sont vides, y compris les sous-dossiers :
Get-EXOMailboxFolderStatistics $mailbox | Where {$_.ItemsInFolderAndSubfolders -eq 0} | Select Identity | out-string -Width 999999
Get-EXOMailboxFolderStatistics $mailbox | Where {$_.ItemsInFolderAndSubfolders -eq 0 -and $_.FolderPath -Match "/Boîte de réception/Mon sous-dossier" }
| Select FolderPath,FolderID,Identity
Pour faire la correspondance entre les noms réels services Windows et leur nom d’affichage (localisés), on peut utiliser la commande Powershell
Get-Service
On peut également rechercher avec un motif du genre
Get-Service -Name *wua*
pour chercher sur le nom ou
Get-Service -DisplayName *update*
pour chercher sur le nom d’affichage. Aucune sensibilité à la casse.
Pour démarrer, Windows a besoin de certains fichiers de démarrage (et éventuellement secteurs de boot).
Voici comment créer ces fichiers de démarrage s’il sont manquants (par exemple la partition de démarrage a été effacée, ou bien on souhaite passer d’une partition unique à une partition de démarrage séparée).
On a :
Note : avec cette méthode, il est possible de contourner la plupart des restrictions imposées à l’installation de Windows, on peut faire un peu ce que l’on veut. Par exemple démarrer en UEFI sur un disque (même NVMe) MBR, avoir une ESP (GPT) en NTFS, démarrer en BIOS sur un disque GPT etc… Je parle ici de la configuration attendue par MS.
Les fichiers de démarrage Windows (10) consistent en :
BOOT\
contenant :
fr-fr
Fonts
Ressources
BCD
BCD.LOG
(+1|2)BOOTSTAT.DAT
bootuwf.dll
bootvhd.dll
memtest.exe
bootmgr
BOOTNXT
BOOTSECT.BAK
Ces fichiers peuvent être sur le disque C, ou bien sur une partition dédiée (nommée “Réservé au système” si créée automatiquement lors de l’installation de Windows). Cette partition doit posséder le flag boot.
Il faut une table de partition MBR, avec :
(note : il ne me semble pas possible d’avoir une partition système en FAT32, le NTFS est nécessaire. On peut copier les fichiers de démarrage sur une partition FAT32 mais le disque ne bootera pas)
On peut consulter/modifier les types de partitions avec cfdisk
.
Par souci de cohérence dans l’ordre des partitions, on peut s’assurer que la partition soit bien numérotée 2 dans la table de partition. Si elle est notée 1, on peut changer son numéro avec la procédure définie ici
On démarre ensuite sur une clé USB d’install de Windows 10 (en mode BIOS) -> Dépannage -> Invite de commande
On lance diskpart
; on vérifie les lettres affectées à chacune des partitions (ici C: pour la 500M et E: pour l’install).
list vol
On sort de diskpart, puis
bcdboot E:\Windows /s C: /l fr-fr /f bios
Pour vérifier la présence des fichiers, il faut la commande
dir /a:HS X:
Normalement ça doit démarrer avec la nouvelle partition !
Les fichiers de démarrage sont à peu près les même, avec des exécutables .efi. Ils seront dans [ESP]/EFI/Microsoft/Boot/.
Il faut une table de partition GPT, avec :
(note : il est possible que cela fonctionne même si la table de partition est de type MBR ; en ce cas il faut le flag boot sur la partition FAT32. On préferera toutefois le GPT)
Si la numérotation des partitions est dans le désordre, on peut suivre ces instructions.
Ensuite on démarre sur sur une USB d’install, Réparer le PC, invite de commande, vérifier la lettre de la partition contenant l’install (par exemple C: ), puis
bcdboot C:\Windows
pour mettre les fichiers sur la partition ESP. Ils seront mis aussi bien dans EFI/Microsoft/Boot que /EFI/Boot/bootx64.efi
On peut aussi affecter une lettre à une autre partition et spécifier le flag /s X:
.
L’entrée BootOrder dans l’UEFI semble ajoutée lors d’un simple démarrage de Windows si elle est manquante ET si le flag boot/esp est positionné sur la partition ESP.
Si besoin, pour s’assurer de l’installation des éventuels pilotes nécessaires en cas de changement de disque, on peut forcer le démarrage en sans échec :
bcdedit /set {default} safeboot minimal
Lorsque l’on a redémarré en mode sans échec et que tout fonctionne, on peut désactiver ce mode avec
bcdedit /deletevalue {default} safeboot
Si le partitionnement a été fait avant l’installation de Windows, alors :
GPT :
Pour pouvoir accéder à winRE pour dépanner un poste, il lui faut une partition de récupération. Cette partition doit nécessairement être située après la partition système. À la toute fin du disque c’est bien.
On peut créer cette partition via gparted, la formater en NTFS et lui affecter le flag “diag” ((+ hidden ?).
Lien MS
Lien forum MS pour diskpart
C’est la commande reagentc
qui permet de gérer la récupération.
reagentc /info
pour voir l’état du WinRE
S’il est désactivé, on peut l’activer via
reagentc /enable
Si il y a le message “Image WindowsRE introuvable”, c’est que le fichier C:\Windows\System32\Recovery\winre.wim
est absent.
On peut le copier à cet emplacement depuis le contenu d’un fichier “install.wim” d’un media d’install (7zip fonctionne pour ouvrir un .wim)
On peut aussi demander à boot en mode winre la prochaine fois (sans interrompre 3 fois le démarrage) via
reagentc /boottore
Il est nécessaire que la table de partition soit GPT, car Windows refuse de booter sur un SSD NVMe en mode BIOS (et donc MBR).
Il faut déjà avoir démarré une première fois en mode sans échec sur le disque SATA avec le NVMe connecté sur son emplacement NVMe. Ainsi le système installera les pilotes nécessaires à la bonne détection/initialisation du SSD.
Sinon on risque d’avoir une erreur de type “INACCESSIBLE_BOOT_DEVICE” ou reboot immédiat sur l’UEFI.
On peut ensuite cloner le disque normalement (sgdisk, dcfldd etc.)
Si on a quand même le message “INACCESSIBLE_BOOT_DEVICE”, il faut d’abord démarrer en mode sans échec (par exemple en interrompant 3 fois le boot. Le prochain redémarrage devrait fonctionner.