Introduction à l’ensemble d’outils TroubleShootingScript (TSS)

Cet article présente l’ensemble d’outils TSS (TroubleShootingScript) et fournit des réponses aux questions fréquemment posées.

S’applique à : Versions prises en charge de Windows Server et du client Windows

L’ensemble d’outils TSS comprend des outils basés sur PowerShell et une infrastructure pour la collecte de données et la diagnostics. L’ensemble d’outils vise à simplifier la collecte de données et à résoudre les cas de manière efficace et sécurisée.

L’ensemble d’outils comprend plusieurs scripts PowerShell et fichiers exécutables, tous signés par Microsoft. En fonction des commutateurs sélectionnés, TSS utilise un ou plusieurs scripts et fichiers exécutables pour collecter les journaux souhaités.

Vous pouvez télécharger l’ensemble d’outils sous la forme d’un fichier zip (TSS.zip) à partir de https://aka.ms/getTSS.

Configuration requise

Voici quelques prérequis pour que l’ensemble d’outils s’exécute correctement :

  • L’ensemble d’outils TSS doit être exécuté dans une fenêtre PowerShell avec élévation de privilèges par des comptes disposant de privilèges d’administrateur sur le système local. L’exécution de l’ensemble d’outils TSS dans l’environnement de script intégré (ISE) Windows PowerShell n’est pas prise en charge. Le contrat de licence utilisateur final (CLUF) doit être accepté. Une fois le CLUF accepté, l’ensemble d’outils TSS ne demande plus le CLUF.

  • La stratégie d’exécution de script PowerShell doit être définie sur RemoteSigned au niveau du processus en exécutant l’applet de commande Set-ExecutionPolicy -scope Process -ExecutionPolicy RemoteSigned -Force à partir d’une invite de commandes PowerShell avec élévation de privilèges.

    Remarque

    Les modifications au niveau du processus affectent uniquement la session PowerShell actuelle.

Guide pratique pour démarrer l’ensemble d’outils TSS

Vous pouvez démarrer TSS.ps1 avec différents commutateurs en fonction du scénario. Le -Start verbe est le verbe par défaut et facultatif, et peut être remplacé par un verbe complémentaire si nécessaire. Les verbes complémentaires -Start sont -StartAutoLogger, -StartDiag, -StartNoWaitet -CollectLog.

Verbe Description
-Start Le -Start verbe démarre suivi d’événements pour les traces de composants Windows (ETW) ou les outils de prise en charge tels que l’Enregistreur de performances Windows (WPR).

Le [-Start] verbe est facultatif, mais peut être remplacé par des options complémentaires -start .
-StartAutoLogger Pour collecter ces journaux au moment du démarrage, utilisez -StartAutoLogger pour remplacer -Start.

Utilisez-la en combinaison avec l’applet .\TSS.ps1 -Stop de commande pour arrêter les traces une fois le problème reproduit.
-StartDiag Bien que ce commutateur n’ait pas beaucoup d’utilisation dans le présent, il est destiné à être utilisé à l’avenir dans plusieurs scénarios. À ce jour, il peut être combiné avec d’autres arguments tels que NET_DFSn pour obtenir diagnostics de l’espace de noms DFSN.
-StartNoWait Ce paramètre permet aux traces de rester actives même lorsque vous vous déconnectez.

Utilisez-la en combinaison avec l’applet .\TSS.ps1 -Stop de commande pour arrêter les traces une fois le problème reproduit.
-CollectLog Ce paramètre est couramment utilisé avec l’argument DND_SetupReport.

Exemple :
.\TSS.ps1 -Collectlog DND_SetupReport

Les journaux liés aux traces sont également collectés automatiquement lorsque vous arrêtez la collecte de données.

Syntaxe pour utiliser l’ensemble d’outils TSS

Paramètre Description
<placeholder> La chaîne entre crochets (<>) pour les espaces réservés doit être remplacée par un nom de scénario, un composant de trace, une commande ou une valeur réels.
[optional] La mot clé ou la valeur entre crochets ([ ]) est facultative. Par exemple, [module:int] signifie que le module et l’intervalle sont facultatifs. La valeur par défaut est utilisée si [<xx>:<yy>] est omis.
| Ce paramètre signifie 'OR'. Vous pouvez choisir l’une des options disponibles.
: Caractère de séparation entre deux valeurs.

Exemples d’applet de commande

Applet de commande PowerShell Description
.\TSS.ps1 -PerfMon [General:10] Ce paramètre signifie PerfMon CounterSetName= General et Interval= 10 secondes. Lorsque [General:10] est omis, la valeur par défaut s’active et a donc -PerfMon le même effet que -PerfMon General -PerfIntervalSec 10.
.\TSS.ps1 [-StopWaitTimeInSec <N>] Ce paramètre signifie que l’argument -StopWaitTimeInSec est facultatif, mais s’il est spécifié, une valeur pour <N> ="le nombre de secondes » est obligatoire.

Suivi d’événements pour Windows (ETW)

Suivi ETW Applet de commande PowerShell Description
Activer une trace de scénario. .\TSS.ps1 -Scenario <ScenarioName> Les noms de scénarios pris en charge sont répertoriés à l’aide de l’applet de TSS.ps1 -ListSupportedScenarioTrace commande .
Activer les traces de composants. .\TSS.ps1 <-ComponentName> <-ComponentName> ... Le pris en charge <-componentName> est répertorié à l’aide de l’applet de TSS.ps1 -ListSupportedTrace commande .
Démarrez les suivis en mode sans attente. .\TSS.ps1 -StartNoWait -Scenario <ScenarioName>

.\TSS.ps1 -Stop
L’invite retourne immédiatement, de sorte que vous pouvez vous déconnecter ou utiliser une applet de commande comme Shutdown.

L’applet de commande .\TSS.ps1 -Stop arrête la trace.

Remarque

Pour répertorier tous les GUID de fournisseur de composants et/ou de scénarios, utilisez l’applet de -ListETWProviders commande . Par exemple :

.\TSS.ps1 -ListETWProviders <component-/scenario-name>

Outils et commandes de support

Démarrez les outils ou commandes de prise en charge (par exemple, ProcMon, ProcDump, netsh, Analyseur de performances (PerfMon), WPR ou Radar) pour améliorer la collecte des journaux avec des outils supplémentaires pour les captures spécialisées.

Applet de commande PowerShell Description
-Fiddler Collecter la trace Fiddler. Fiddler doit être installé.

Activez l’option de déchiffrement du trafic en sélectionnant Outils>Options et Déchiffrer le trafic HTTPS sous l’onglet HTTPS .
-GPresult <Start|Stop|Both> Collectez SysInternals Handle.exe sortie sur la phase start, stopou both.
-Handle <Start|Stop|Both> Collectez SysInternals Handle.exe sortie sur la phase start, stopou both.
-LiveKD <Start|Stop|Both> Démarrez SysInternals LiveKD -ml (vidage du noyau en direct).
<Start>: le dump est effectué au début de la reproduction.
<Stop>: le dump est effectué à l’arrêt.
<Both>: le vidage est effectué à la fois au début et à l’arrêt.
-Netsh
1. -NetshOptions '<Option string>'
2. -NetshMaxSizeMB <Int>
3. -noPacket
Démarrez la capture de paquets réseau.

1. Spécifiez des options supplémentaires pour Netsh. Par exemple : 'capturetype=both captureMultilayer=yes provider=Microsoft-Windows-PrimaryNetworkIcon provider={<GUID>}'.
2. Taille de journal maximale pour Netsh en mégaoctets (Mo) (par exemple, -NetshMaxSizeMB 4096). La valeur par défaut est 2048.
3. Empêcher la capture des paquets avec Netsh (seules les traces ETW dans le ScenarioName seront capturées).
-NetshScenario
1. -NetshOptions '<Option string>'
2. -NetshMaxSizeMB <Int>
3. -noPacket
Démarrez la trace du Netsh scénario. Le pris en charge <ScenarioName> est répertorié à l’aide de l’applet de -ListSupportedNetshScenario commande .

1. Spécifiez des options supplémentaires pour Netsh. Par exemple : 'capturetype=both captureMultilayer=yes provider=Microsoft-Windows-PrimaryNetworkIcon provider={<GUID>}'.
2. Taille de journal maximale pour Netsh en Mo (par exemple, -NetshMaxSizeMB 4096). La valeur par défaut est 2048.
3. Empêcher la capture des paquets avec Netsh (seules les traces ETW dans le nom du scénario seront capturées).
-PerfMon <CounterSetName> [-PerfIntervalSec N] [-PerfMonMaxMB <N>] [-PerfMonCNF <[[hh:]mm:]ss>]
1. -PerfIntervalSec <Interval in sec>
2. -PerfMonMaxMB <N>
3. -PerfMonCNF <[[hh:]mm:]ss>
Démarrez Analyseur de performances journaux. Peut <CounterSetName> être répertorié à l’aide de l’applet de -ListSupportedPerfCounter commande .

1. Définissez l’intervalle pour le PerfMon journal (la valeur par défaut est 10 secondes).
2. Spécifiez une valeur int pour la taille de journal maximale Perfmon en Mo (la valeur par défaut est 2048).
3. Créez un fichier lorsque le temps spécifié est écoulé ou lorsque la taille maximale de <PerfMonMaxMB> est dépassée.
-PerfMonLong <CounterSetName> [-PerfLongIntervalMin N] [-PerfMonMaxMB <N>] [-PerfMonCNF <[[hh:]mm:]ss>]
1. -PerfLongIntervalMin <Interval in min>
Analyseur de performances avec un intervalle long.

1. Définissez l’intervalle pour le PerfMonLong journal (la valeur par défaut est 10 minutes).
-PktMon Collecter des données de surveillance des paquets (sur Windows Server 2019, Windows 10, version 1809 et versions ultérieures). PktMon:Drop collecte uniquement les paquets supprimés.
-PoolMon <Start|Stop|Both> Collectez PoolMon sur start, stopou both.
-ProcDump <PID[]|ProcessName.exe[]|ServiceName[]>
1. -ProcDumpOption<Start|Stop|Both>-ProcDumpInterval <N>:<Interval in sec>
2. -ProcDumpInterval <N>:<Interval in sec>
3. -ProcDumpAppCrash
Capturez les vidages utilisateur d’un seul élément ou d’une liste d’éléments séparés par des virgules à l’aide de SysInternals ProcDump.exe. Par défaut, le vidage est effectué au début de la reproduction et s’arrête. Entrez ProcessName(s) avec l’extension .exe .

1. Start: le dump est effectué au début de la reproduction.
Stop: le dump est effectué à l’arrêt.
Both (par défaut) : le vidage est effectué à la fois au démarrage et à l’arrêt.
2. Utilisez cette option lorsque le vidage doit être capturé à plusieurs reprises.
N: nombre de vidages
Int: intervalle en secondes
La valeur par défaut est 3 :10.
3. Ce commutateur active ProcDump -ma -e, qui écrit un vidage complet lorsque le processus rencontre une exception non gérée.
-ProcMon
1. -ProcmonAltitude <N>
2. -ProcmonPath <folder path to Procmon.exe>
3. -ProcmonFilter <filter-file.pmc>
Démarrez SysInternals Procmon.exe.

1. Spécifiez une valeur de chaîne pour ProcmonAltitude (la valeur par défaut est 385200). Utilisez fltmc instances pour afficher l’altitude du pilote de filtre. Utilisez un nombre inférieur au pilote spécifique suspecté. La valeur 45100 vous montrera pratiquement tout.
2. Spécifiez un chemin d’accès àProcmon.exe (par défaut, TSS utilise procmon intégré).
3. Spécifiez un fichier de configuration pour Procmon (par exemple, ProcmonConfiguration.pmc) situé dans le dossier \config .
-PSR Enregistreur d’étapes des problèmes de démarrage.
-Radar <PID[]|ProcessName[]|ServiceName[]> Collectez les informations de diagnostic de fuite (rdrleakdiag.exe).

Par exemple : -Radar AppIDSvc.
-RASdiag Collecter la trace. La Netsh trace ras diagnostics définie est activée.
-SDP <SpecialityName[]>
1. -SkipSDPList "<xxx>","<yyy>"
2. <SpecialityName>
Collectez le package de diagnostic de support (SDP) pour la spécialité spécifiée. Pour obtenir la liste complète de et SkipSDPList, utilisez l’applet de SpecialityNames.\tss -help commande .

Ignorez la liste séparée par des virgules des noms de modules SDP qui se bloquent dans votre environnement lors de l’exécution du rapport SDP.
-SysMon Collectez les journaux SysInternals System Monitor (SysMon) (sysmonConfig.xml dans le dossier config par défaut).
-TTD <PID[]|ProcessName.exe[]|ServiceName[]>
1. -TTDPath <Folder path to tttracer.exe>
2. -TTDMode<Full|Ring|onLaunch>
3. -TTDMaxFile <size in MB>
4. -TTDOptions '<String of TTD options>'
Démarrez le débogage TTD (TTT/iDNA) avec le mode par défaut -Full . Entrez le ProcessName(s) avec l’extension .exe , un seul élément (PID/nom) ou une liste d’éléments séparés par des virgules.

Remarque :
Système d’exploitation de niveau inférieur avant Windows 10, la version 1703 nécessite le package TSS_TTD.zip.

1. Spécifiez le chemin du dossier contenant tttracer.exe (PartnerTTD). En règle générale, ce commutateur n’est nécessaire que si vous souhaitez forcer un chemin d’accès spécifique.
2. Full = -dumpfull (=default)
Ring = mode de mémoire tampon en anneau
onLaunch = -onLaunch (nécessite TSS_TTD)
3. Taille maximale du fichier journal. L’opération dépend -TTDModede . Full s’arrête lorsque la taille maximale est atteinte et Ring conserve la taille maximale dans la mémoire tampon en anneau.
4. Utilisez cette option pour ajouter des options supplémentaires pour TTD (TTT/iDNA).
-Video Démarrez la capture vidéo (nécessite l’installation de .NET 3.5).
-WFPdiag Collectez les traces avec la netsh Wfp capture commande .
-WireShark Démarrez WireShark. Les paramètres suivants sont configurables via le fichier tss_config.cfg .

1. WS_IF: utilisé pour -i. Spécifiez le numéro d’interface (par exemple, _WS_IF=1).
2. WS_Filter: utilisé pour -f. Filtrez pour l’interface (par exemple, _WS_Filter="port 443").
3. WS_Snaplen: utilisé pour -s. Limitez la quantité de données pour chaque trame. Ce paramètre offre de meilleures performances et est utile pour les situations à charge élevée (par exemple, _WS_Snaplen=128).
4. WS_TraceBufferSizeInMB: utilisé pour -b FileSize (multiplié par 1024). Passez au fichier suivant après le nombre de mégaoctets. (par exemple, _WS_TraceBufferSizeInMB=512, default=512 Mo)
5. WS_PurgeNrFilesToKeep: utilisé pour -b files. Remplacez après le nombre de fichiers. (par exemple, _WS_PurgeNrFilesToKeep=20)
6. WS_Options: toutes les autres options pour -i (par exemple, _WS_Options="-P").

Exemple :
Pour collecter WireShark sur les interfaces 15 et 11, entrez lorsque TSS demande un numéro d’interface : 15 -i 11.

Par défaut, Wireshark démarre dumpcap.exe -i <all NICs> -B 1024 -n -t -w _WireShark-packetcapture.pcap -b files:10 -b filesize:524288.
-WPR <WPRprofile>
1. -SkipPdbGen
2. -WPROptions '<Option string>'
Démarrez une trace de profil WPR. <WPRprofile>est l’un des .General|BootGeneral|CPU|Device|Memory|Network|Registry|Storage|Wait|SQL|Graphic|Xaml|VSOD_CPU|VSOD_Leak

1. Ignorez la génération des fichiers de symboles (fichiers PDB).
2. Spécifiez les options pour WPR.exe. Par exemple : -WPROptions '-onoffproblemdescription "test description"'.

Exemple 1 :
.\TSS.ps1 -StartAutoLogger -WPR BootGeneral -WPROptions '-addboot CPU' capture les traces de démarrage WPR avec les General profils et CPU .

Exemple 2 :
.\TSS.ps1 -WPR General -WPROptions '-Start CPU -start Network -start Minifilter' combine des profils (General, CPU, Networket Minifilter).
-Xperf <Profile>
1. -XperfMaxFileMB <Size>
2. -XperfTag <Pool Tag>
3. -XperfPIDs <PID>
4. -XperfOptions <Option string>
Démarrez Xperf. <Profile>est l’un des .General|CPU|Disk|Leak|Memory|Network|Pool|PoolNPP|Registry|SMB2|SBSL|SBSLboot

1. Spécifiez la taille de journal maximale en Mo (la valeur par défaut est 2 048 Mo). La valeur par défaut pour les scénarios SBSL* est 16384 (identique pour ADS_/NET_SBSL).
2. Spécifiez PoolTag à journaliser. Ce paramètre est utilisé avec le Pool profil ou PoolNPP (par exemple, -Xperf Pool -XperfTag TcpE+AleE+AfdE+AfdX).
3. Spécifiez ProcessID. Ce paramètre est utilisé avec le Leak profil (par exemple, -Xperf Leak -XperfPIDs <PID>).
4. Spécifiez d’autres chaînes d’option pour Xperf.
-xray Démarrez xray pour diagnostiquer les problèmes connus d’un système.

L’exemple suivant montre comment activer plusieurs outils de support (commandes) au cours d’une même trace.

.\TSS.ps1 -WPR <WPRprofile> -Procmon -Netsh|-NetshScenario <NetshScenario> -PerfMon <CounterSetName> -ProcDump <PID> -PktMon -SysMon -SDP <specialty> -xray -PSR -Video -TTD <PID[]|ProcessName[]|ServiceName[]>  

Paramètres dans les options TSS

Définit des paramètres spécifiques dans les options TSS pour contrôler, améliorer ou simplifier la collecte de données.

Paramètre Description
-AcceptEula Ne demandez pas d’abord ; exécutez pour accepter l’exclusion de responsabilité (utile pour l’exécution -RemoteRun ).
-AddDescription <description> Ajoutez une brève description du problème de reproduction. Le nom du fichier zip obtenu inclut une telle description.
-Assist Mode d’accessibilité.
-BasicLog Collectez le journal de base complet (le mini journal de base est toujours collecté par défaut).
-CollectComponentLog Utilisez avec -Scenario. Par défaut, les fonctions de collecte de composants ne sont pas appelées dans la -Scenario trace. Ce commutateur permet d’appeler les fonctions de collecte du composant.
-CollectDump Collectez le vidage système (memory.dmp) après avoir arrêté toutes les traces. -CollectDump peut être utilisé avec -Start et -Stop.
-CollectEventLog <Eventlog[]> Collectez les journaux des événements spécifiés. Le caractère générique astérisque (*) peut être utilisé pour le nom du journal des événements.

Exemple :
-CollectEventLog Security,*Cred*
Collectez la sécurité et tous les journaux des événements qui correspondent *Cred* à 'Microsoft-Windows-CertificateServicesClient-CredentialRoaming/Operational'.
-CommonTask <<POD>|Full|Mini> Exécutez les tâches courantes avant de commencer et après l’arrêt de la trace.

<POD>: actuellement, seul « NET » est disponible. Collectez des informations supplémentaires avant de commencer et après l’arrêt de la trace.
Full: le journal de base complet est collecté après l’arrêt de la trace.
Mini: le mini journal de base est collecté après l’arrêt de la trace.
-Crash Déclenchez un plantage système avec NotMyFault à l’arrêt de la reproduction, ou une fois que tous les événements sont signalés s’ils sont utilisés avec -WaitEvent.

Attention:
Ce commutateur force un vidage de la mémoire (le système redémarre), afin que les fichiers ouverts ne soient pas enregistrés.
-CustomETL Ajoutez des fournisseurs de trace ETL personnalisés. Par exemple, .\TSS.ps1 -WIN_CustomETL -CustomETL '{<GUID>}','Microsoft-Windows-PrimaryNetworkIcon' (liste séparée par des virgules de guillemets '{GUID}' simples et/ou 'Provider-Name').
-DebugMode Exécutez en mode débogage pour un développeur.
-VerboseMode Afficher une sortie plus détaillée ou plus informative lors du traitement des fonctions TSS.
-Discard Utilisé pour ignorer un jeu de données à la phase -Stop. *Stop- ou *Collect- les fonctions ne s’exécutent pas. xray et psSDP seront ignorés.
-EnableCOMDebug Module pour activer le mode de débogage COM.
-ETLOptions < circular | newfile >:<ETLMaxSizeMB>:<ETLNumberToKeep>:<ETLFileMax> Définissez les options passées aux logman commandes. La valeur par défaut pour circular ETLMaxSizeMB est 1024, et la valeur par défaut pour newfile ETLMaxSizeMB est 512.

-StartAutologger prend uniquement en charge -ETLOptions circular:<ETLMaxSize>:<ETLNumberToKeep>:<ETLFileMax>, mais ETLNumberToKeep ne sera pas exécuté normalement.

Exemple.1 :
-ETLOptions newfile:2048:5

Exécutez newfile des journaux d’activité d’une taille de 2 048 Mo. Conservez uniquement les cinq *.etl derniers fichiers. Le paramètre par défaut pour le mode circulaire est circular:1024, et pour le mode nouveaufichier est newfile:512:10.

Exemple 2 :
-StartAutologger -ETLOptions circular:4096
Autologger n’obéit :<ETLNumberToKeep> pas et n’accepte que le mode circulaire.

Exemple 3 :
-StartAutologger -ETLOptions circular:4096:10:3
Autologger n’obéit :<ETLNumberToKeep> pas et n’accepte que le mode circulaire et « 3 » comme nombre de autologger générations.
-ETWlevel <Info|Warning|Error> Définissez le niveau de suivi des événements. La valeur par défaut est 0xFF.
-EvtDaysBack <N> Convertissez les journaux des événements uniquement pour les N derniers jours. La valeur par défaut est de 30 jours. Elle s’applique également au rapport SDP.

Remarque :
Les journaux des événements de sécurité seront ignorés.
-ExternalScript <path to external PS file> Exécutez le script PowerShell spécifié avant de démarrer la trace.
-LogFolderPath <Drive:\path to log folder> Utilisez un chemin d’accès de dossier de journal différent pour les données de sortie obtenues au lieu de l’emplacement par défaut (C :\MS_DATA). Il est utile lorsque le lecteur C : est faible sur l’espace disque libre.
-MaxEvents <N> En tant qu’argument pour '-WaitEvent Evt:..', le paramètre examine le dernier N nombre d’événements avec le même ID d’événement (la valeur par défaut est 1).
-Mini Collectez uniquement des données minimales. Ignorez noPSR, noSDP, noXraynoVideo, noZip, et noBasicLog.
-Mode <Basic|Medium|Advanced|Full|Verbose|VerboseEx|Hang|Restart
|Swarm|Kube|GetFarmdata|Permission|traceMS>
Exécutez des scripts en Basicmode , MediumAdvanced, Full, ou Verbose(Ex) pour la collecte de données. Restart redémarre le service associé.
-RemoteRun À utiliser lorsque TSS est exécuté sur un hôte distant, par exemple, via PsExec, dans la console série Azure ou avec la communication à distance PowerShell. Ce paramètre empêche le PSR, l’enregistrement vidéo, le démarrage de TssClock et l’ouverture de Explorer avec les résultats finaux. Dans ce cas, considérez -AcceptEulaégalement .
-StartNoWait N’attendez pas et l’invite retourne immédiatement. Ce paramètre est utile pour le scénario où un utilisateur doit se déconnecter.
-WaitEvent Surveiller l’événement ou le déclencheur d’arrêt spécifié ; s’il est signalé, les traces sont arrêtées automatiquement.

Il existe une grande variété d’options pour déclencher un arrêt automatique. Exécutez .\TSS.ps1 -Find Monitoring pour voir l’utilisation.
-Update
1. -UpdMode<Online|Lite>
Mettez à jour le package TSS. Il peut être utilisé avec -UpdMode Online|Lite.

Online est la valeur par défaut et Lite est la Upd version lite.
-Help
1. Common
2. ALL
3. Monitoring
4. Config
5. Keyword
Fournissez des messages d’aide sur différents scénarios.

1. Message d’aide général courant.
2. Toutes les options disponibles.
3. Afficher les messages d’aide pour la surveillance et les fonctionnalités distantes.
4. Aide sur tous les paramètres de configuration.
5. Vous pouvez entrer n’importe quelle mot clé, qui affiche les informations d’aide sur cette mot clé.
-Status Afficher le status de la trace en cours d’exécution, le cas échéant.

Scripts et outils d’assistance inclus

Script et outil d’assistance Description
\scripts\tss_EventCreate.ps1 Créez une entrée de journal des événements dans les fichiers journaux des événements avec des ID d’événement.
\scripts\tss_SMB_Fix-SmbBindings.ps1 Utile pour corriger les liaisons SMB endommagées (LanmanServer, LanmanWorkstation ou NetBT). Voir aussi -Collect NET_SMBsrvBinding.
\BINx64\kdbgctrl.exe Utilisez le commutateur -sd <dump type> pour définir le type Full|Kernelde vidage sur incident du noyau , par exemple. kdbgctrl -sd Full
\BINx64\NTttcp.exe Tests de performances. Pour plus d’informations, consultez Tester le débit réseau des machines virtuelles à l’aide de NTTTCP.
\BINx64\latte.exe Tests de latence. Pour plus d’informations, consultez Tester la latence du réseau entre les machines virtuelles Azure.
\BINx64\notmyfaultc.exe Forcer un vidage de la mémoire. Consultez NotMyFault v4.21 si la ligne de commande TSS inclut -Crash.

Résoudre les erreurs PowerShell inattendues

  1. Exécutez cette applet de commande après un échec :

    .\TSS.ps1 -Stop -noBasiclog -noXray
    
  2. Fermez la fenêtre PowerShell avec élévation de privilèges ouverte et démarrez une nouvelle fenêtre PowerShell avec élévation de privilèges.

  3. Autorisez les scripts PowerShell à s’exécuter sur votre système avec le approprié ExecutionPolicy.

  4. Si vous rencontrez une erreur indiquant que le script en cours d’exécution est désactivé, essayez les méthodes suivantes.

Méthode 1

  1. Exécutez la l’applet commande suivant :

    Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -force -Scope Process
    
  2. Vérifiez les paramètres avec l’applet Get-ExecutionPolicy -List de commande indiquant que non ExecutionPolicy avec une priorité plus élevée bloque l’exécution de ce script.

  3. Réexécutez l’applet de .\TSS.ps1 <Desired Parameters> commande.

Méthode 2 (alternative)

Si les scripts sont bloqués par MachinePolicy, exécutez les applets de commande suivantes dans une fenêtre PowerShell avec élévation de privilèges :

Set-ItemProperty -Path HKLM:\Software\Policies\Microsoft\Windows\PowerShell -Name ExecutionPolicy -Value RemoteSigned
Set-ItemProperty -Path HKLM:\Software\Policies\Microsoft\Windows\PowerShell -Name EnableScripts  -Value 1 -Type DWord

Méthode 3 (alternative)

Si les scripts sont bloqués par UserPolicy, exécutez les applets de commande suivantes dans une fenêtre PowerShell avec élévation de privilèges :

Set-ItemProperty -Path HKLM:\Software\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell -Name ExecutionPolicy -Value RemoteSigned
Set-ItemProperty -Path HKLM:\Software\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell -Name EnableScripts  -Value 1 -Type DWord

Remarque

La méthode 2 n’est qu’une solution de contournement pour la stratégie MachinePolicy - RemoteSigned. Si vous voyez UserPolicy - RemoteSignedégalement , demandez à l’administrateur de domaine une exemption temporaire d’objet stratégie de groupe (GPO).

Dans de rares situations, vous pouvez essayer l’applet de -ExecutionPolicy Bypass commande .

Si votre organization force le mode de langage limité PowerShell de l’objet de stratégie de groupe (System.Management.Automation.EngineIntrinsics.SessionState.LanguageMode -ne 'FullLanguage'), demandez à l’administrateur de domaine une exemption temporaire d’objet de stratégie de groupe.

Forum aux questions (FAQ)

  • Q1 : Le script TSS modifie-t-il une configuration ou une configuration de mon système ?

    R1 : Non, mais un paramètre de Registre est nécessaire pour activer la journalisation du débogage dans certains scénarios. Le script définit la clé nécessaire au début de la collecte de données et rétablit la valeur par défaut à la fin de la collecte de données. Il peut également supprimer certains caches (par exemple, le cache ARP ou le cache de résolution de noms) au début de la collecte de données pour observer le problème à partir des journaux.

  • Q2 : L’ensemble d’outils TSS place-t-il une charge supplémentaire sur le serveur ?

    R2 : Certaines journalisations (par exemple, capture réseau, collecte de suivi ETW, etc.) démarrées par l’ensemble d’outils TSS peuvent placer une charge mineure sur le système. La charge est généralement à des niveaux ignorés. Contactez votre représentant du support technique lorsque vous constatez une utilisation élevée du processeur, de la mémoire ou du disque après le démarrage de l’ensemble d’outils TSS.

  • Q3 : Pourquoi ne pouvons-nous pas reproduire le problème lorsque l’ensemble d’outils TSS est en cours d’exécution ?

    A3 : L’ensemble d’outils TSS peut supprimer toutes les informations mises en cache au début. Il démarre également la capture réseau en mode promiscuous, ce qui modifie les comportements par défaut de la carte d’interface réseau (NIC). Ces modifications peuvent affecter le problème et les problèmes peuvent disparaître. En particulier pour des problèmes de minutage particuliers, les problèmes disparaissent en raison de la collecte de données de l’ensemble d’outils TSS. La collecte de données démarre la journalisation, ce qui peut affecter le problème indirectement et changer la situation.

  • Q4 : Pourquoi l’ensemble d’outils TSS ne répond-il pas depuis longtemps ?

    A4 : Dans certains cas, les commandes intégrées du système d’exploitation exécutées par l’ensemble d’outils TSS peuvent ne pas répondre ou prendre beaucoup de temps. Si vous rencontrez ce problème, contactez votre représentant du support technique.

  • Q5 : Dois-je m’inquiéter de l’espace disque ou de tout autre élément lorsque j’exécute l’ensemble d’outils TSS pendant une longue période ?

    R5 : Tout le suivi TSS est configuré pour s’exécuter avec des mémoires tampons en anneau, ce qui vous permet d’exécuter l’ensemble d’outils pendant une longue période si nécessaire. L’ensemble d’outils TSS calcule également l’espace disque au début de la collecte de données et peut se fermer s’il n’y a pas suffisamment d’espace disque. Si vous constatez une utilisation élevée du disque après le démarrage de l’ensemble d’outils TSS ou si vous avez d’autres préoccupations concernant l’utilisation du disque de l’ensemble d’outils, contactez votre représentant du support technique.

  • Q6 : Que dois-je faire si je reçois l’avertissement de sécurité suivant lors de l’exécution du script .\TSS.ps1 ?

    Security Warning: Run only scripts that you trust. While scripts from the Internet can be useful, this script can potentially harm your computer. Do you want to run .\TSS.ps1? [D] Do not run [R] Run once [S] Suspend [?] Help (default is "D")

    R6 : Dans de rares cas, vous pouvez recevoir cet avertissement de sécurité. Vous pouvez débloquer le script à l’aide de l’applet de commande PS C:\> Unblock-File -Path C:\TSS\TSS.ps1. Ce script débloquera tous les autres modules à l’aide de l’applet de commande Get-ChildItem -Recurse -Path C:\TSS\*.ps* | Unblock-File -Confirm:$false.

Contrat de licence utilisateur final (CLUF)

Sélectionnez ci-dessous pour afficher les TERMES DU CONTRAT DE LICENCE LOGICIEL MICROSOFT.

Scripts et utilitaires de diagnostic Microsoft

These license terms are an agreement between you and Microsoft Corporation (or one of its affiliates). IF YOU COMPLY WITH THESE LICENSE TERMS, YOU HAVE THE RIGHTS BELOW. BY USING THE SOFTWARE, YOU ACCEPT THESE TERMS.

  1. INSTALLATION AND USE RIGHTS. Sous réserve des conditions et restrictions définies dans cette licence, Microsoft Corporation (« Microsoft ») vous accorde (« Client » ou « vous ») une licence non exclusive, non assignable et entièrement payante pour utiliser et reproduire le script ou l’utilitaire fourni sous cette licence (le « Logiciel »), uniquement à des fins commerciales internes du Client, afin d’aider Microsoft à résoudre les problèmes liés à un ou plusieurs produits Microsoft, à condition que cette licence du Logiciel n’inclut aucun droit sur d’autres technologies Microsoft (telles que les produits ou services). « Utiliser » signifie copier, installer, exécuter, accéder, afficher, exécuter ou interagir avec le Logiciel.

    Vous ne pouvez pas sous-licencier le Logiciel ou l’utiliser par le biais de la distribution, de l’accès réseau ou autrement. Microsoft se réserve tous les autres droits qui ne sont pas expressément accordés aux présentes, que ce soit implicitement, préclusion ou autre. Vous ne pouvez pas rétroconcevoir, décompiler ou désassembler le Logiciel, ni tenter de dériver le code source du Logiciel, sauf et dans la mesure requise par les conditions de licence tierces régissant l’utilisation de certains composants open source qui peuvent être inclus dans le Logiciel, ou supprimer, réduire, bloquer ou modifier toute notification de Microsoft ou de ses fournisseurs dans le Logiciel. Ni vous ni vos représentants ne pouvez utiliser le Logiciel fourni en vertu des présentes : (i) d’une manière interdite par la loi, la réglementation, l’ordre gouvernemental ou le décret ; (ii) de violer les droits d’autrui ; (iii) pour tenter d’obtenir un accès non autorisé à un service, appareil, données, compte ou réseau ou d’en interrompre l’accès non autorisé ; (iv) pour distribuer des courriers indésirables ou des programmes malveillants ; (v) d’une manière susceptible de nuire aux systèmes informatiques de Microsoft ou d’en nuire à l’utilisation de quiconque d’autre ; (vi) dans toute application ou situation où l’utilisation du Logiciel pourrait entraîner la mort ou des lésions corporelles graves d’une personne, ou des dommages physiques ou environnementaux ; ou (vii) pour aider, encourager ou permettre à quiconque d’effectuer l’une des tâches ci-dessus.

  2. DONNÉES. Le client détient tous les droits sur les données qu’il peut choisir de partager avec Microsoft à l’aide du Logiciel. Pour en savoir plus sur la collecte et l’utilisation des données, consultez la documentation d’aide et la déclaration de confidentialité à l’adresse https://aka.ms/privacy. Votre utilisation du Logiciel fonctionne comme votre consentement à ces pratiques.

  3. FEEDBACK. Si vous envoyez des commentaires sur le Logiciel à Microsoft, vous accordez à Microsoft, sans frais, le droit d’utiliser, de partager et de commercialiser vos commentaires de quelque manière que ce soit et à quelque fin que ce soit. Vous ne fournirez aucun commentaire soumis à une licence qui obligerait Microsoft à concéder son logiciel ou sa documentation à des tiers en raison de l’inclusion de vos commentaires dans ces logiciels ou documentation.

  4. EXPORT RESTRICTIONS. Le client doit se conformer à toutes les lois et réglementations nationales et internationales relatives à l’exportation qui s’appliquent au Logiciel, qui incluent des restrictions sur les destinations, les utilisateurs finaux et l’utilisation finale. For further information on export restrictions, visit https://aka.ms/exporting.

  5. REPRÉSENTATIONS ET GARANTIES. Le client se conformera à toutes les lois applicables en vertu du présent contrat, y compris dans la livraison et l’utilisation de toutes les données. Le client ou une personne qui accepte ces conditions au nom d’une entité déclare et garantit qu’elle (i) a le pouvoir et l’autorité totales de prendre et d’exécuter ses obligations en vertu du présent contrat, (ii) a tout pouvoir et autorité pour lier ses affiliés ou organization aux termes du présent contrat, et (iii) obtiendra l’autorisation de l’autre partie avant de fournir tout code source d’une manière qui serait soumise à la propriété intellectuelle d’une autre partie à d’autres termes de licence ou exiger de l’autre partie qu’elle distribue le code source à l’une de ses technologies.

  6. EXCLUSIONS DE GARANTIE. LE LOGICIEL EST FOURNI « EN L’ÉTAT », SANS GARANTIE D’AUCUNE SORTE, EXPRESSE OU IMPLICITE, Y COMPRIS, MAIS SANS S’Y LIMITER, LES GARANTIES DE QUALITÉ MARCHANDE, D’ADÉQUATION À UN USAGE PARTICULIER ET DE NON-CONTREFAÇON. EN AUCUN CAS MICROSOFT OU SES LICENCES NE PEUVENT ÊTRE TENUS RESPONSABLES DES DOMMAGES DIRECTS, INDIRECTS, ACCESSOIRES, SPÉCIAUX, EXEMPLAIRES OU CONSÉCUTIFS (Y COMPRIS, MAIS SANS S’Y LIMITER, L’ACHAT DE BIENS OU SERVICES DE SUBSTITUTION ; PERTE D’UTILISATION, DE DONNÉES OU DE BÉNÉFICES ; OU INTERRUPTION D’ACTIVITÉ) TOUTEFOIS CAUSÉE ET SUR TOUTE THÉORIE DE RESPONSABILITÉ, QUE CE SOIT DANS LE CONTRAT, LA RESPONSABILITÉ STRICTE OU DÉLICTUELLE (Y COMPRIS NÉGLIGENCE OU AUTRE) DÉCOULANT DE QUELQUE MANIÈRE QUE CE SOIT DE L’UTILISATION DU LOGICIEL, MÊME S’IL EST INFORMÉ DE LA POSSIBILITÉ DE TELS DOMMAGES.

  7. LIMITATION ET EXCLUSION DES DOMMAGES. SI VOUS AVEZ DES MOTIFS POUR RÉCUPÉRER DES DOMMAGES EN DÉPIT DE L’EXCLUSION DE GARANTIE PRÉCÉDENTE, VOUS POUVEZ RÉCUPÉRER AUPRÈS DE MICROSOFT ET DE SES FOURNISSEURS UNIQUEMENT LES DOMMAGES DIRECTS JUSQU’AUX ÉTATS-UNIS. 00. VOUS NE POUVEZ PAS RÉCUPÉRER D’AUTRES DOMMAGES, Y COMPRIS LES DOMMAGES INDIRECTS, LES PERTES DE BÉNÉFICES, LES DOMMAGES SPÉCIAUX, INDIRECTS OU ACCIDENTELS. Cette limitation s’applique à (i) tout ce qui concerne le Logiciel, les services, le contenu (y compris le code) sur des sites Internet tiers ou des applications tierces ; et (ii) les réclamations pour violation du contrat, de la garantie, de la garantie ou de la condition ; responsabilité stricte, négligence ou autre délit ; ou toute autre revendication ; dans chaque cas dans la mesure autorisée par la loi applicable. It also applies even if Microsoft knew or should have known about the possibility of the damages. The above limitation or exclusion may not apply to you because your state, province, or country may not allow the exclusion or limitation of incidental, consequential, or other damages.

  8. BINDING ARBITRATION AND CLASS ACTION WAIVER. Cette section s’applique si vous résidez dans (ou, si une entreprise, votre lieu d’affaires principal se trouve dans) le États-Unis. If you and Microsoft have a dispute, you and Microsoft agree to try for 60 days to resolve it informally. If you and Microsoft can't, you and Microsoft agree to binding individual arbitration before the American Arbitration Association under the Federal Arbitration Act ("FAA"), and not to sue in court in front of a judge or jury. Instead, a neutral arbitrator will decide. Class action lawsuits, class-wide arbitrations, private attorney-general actions, and any other proceeding where someone acts in a representative capacity are not allowed; nor is combining individual proceedings without the consent of all parties. The complete Arbitration Agreement contains more terms and is at https://aka.ms/arb-agreement-4. You and Microsoft agree to these terms.

  9. LOI ET LIEU. If U.S. federal jurisdiction exists, you and Microsoft consent to exclusive jurisdiction and venue in the federal court in King County, Washington for all disputes heard in court (excluding arbitration). If not, you and Microsoft consent to exclusive jurisdiction and venue in the Superior Court of King County, Washington for all disputes heard in court (excluding arbitration).

  10. ENTIRE AGREEMENT. This agreement, and any other terms Microsoft may provide for supplements, updates, or third-party applications, is the entire agreement for the software.