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 inclut des outils Basés sur PowerShell et une infrastructure pour la collecte de données et les diagnostics. L’ensemble d’outils vise à simplifier la collecte de données et à résoudre les cas efficacement et en toute sécurité.
L’ensemble d’outils comprend plusieurs scripts PowerShell et fichiers exécutables, qui sont 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 en tant que fichier zip (TSS.zip) à partir de https://aka.ms/getTSS.
Prerequisites
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 d’administrateur sur le système local. L’exécution de l’ensemble d’outils TSS dans l’environnement de script intégré Windows PowerShell (ISE) 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 n’invite pas à nouveau le CLUF.
La stratégie d’exécution de script PowerShell doit être définie au
RemoteSigned
niveau du processus en exécutant l’applet de commandeSet-ExecutionPolicy -scope Process -ExecutionPolicy RemoteSigned -Force
à partir d’une invite de commandes PowerShell avec élévation de privilèges.Note
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
, -StartNoWait
et -CollectLog
.
Verbe | Description |
---|---|
-Start |
Le -Start verbe démarre le suivi des é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. À partir d’aujourd’hui, il peut être combiné à d’autres arguments comme NET_DFSn obtenir des 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 permettant d’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 réel, un composant de trace, une commande ou une valeur. |
[optional] |
Le mot clé ou la valeur entre crochets ([ ]) est facultatif. Par exemple, [module:int] signifie que le module et l’intervalle sont facultatifs. La valeur par défaut est utilisée si [<xx>:<yy>] elle est omise. |
| | Ce paramètre signifie 'OR' . Vous pouvez choisir l’une des options disponibles. |
: |
Caractère de séparation entre deux valeurs. |
Exemples d’applets de commande
Applet de commande PowerShell | Description |
---|---|
.\TSS.ps1 -PerfMon [General:10] |
Ce paramètre signifie PerfMon CounterSetName = General et Interval = 10 secondes. Lorsqu’il [General:10] est omis, le coup de pied par défaut 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. |
Trace d’événements pour Windows (ETW)
Trace ETW | Applet de commande PowerShell | Description |
---|---|---|
Activez 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> ... |
La commande prise en charge <-componentName> est répertoriée à l’aide de l’applet de TSS.ps1 -ListSupportedTrace commande. |
Démarrez les traces en mode sans attente. | .\TSS.ps1 -StartNoWait -Scenario <ScenarioName> .\TSS.ps1 -Stop |
L’invite retourne immédiatement. Vous pouvez donc vous déconnecter ou utiliser une applet de commande comme Shutdown .L’applet de commande .\TSS.ps1 -Stop arrête la trace. |
Note
Pour répertorier tous les GUID de fournisseur de composants et/ou de scénarios, utilisez l’applet -ListETWProviders
de commande. Par exemple :
.\TSS.ps1 -ListETWProviders <component-/scenario-name>
Outils et commandes de support
Démarrez les outils ou commandes de support (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 Options des outils>et en sélectionnant Déchiffrer le trafic HTTPS sous l’onglet HTTPS. |
-GPresult <Start |Stop |Both > |
Collecter la GPresult sortie en phase start , stop ou both . |
-Handle <Start |Stop |Both > |
Collectez sysInternals Handle.exe sortie sur la phase start , stop ou both . |
-LiveKD <Start |Stop |Both > |
Démarrez SysInternals LiveKD -ml (vidage du noyau actif).<Start> : le vidage est pris au début de la reproduction.<Stop> : le vidage est pris à l’arrêt.<Both> : le vidage est pris au démarrage 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 maximale du journal en Netsh 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 fichier seront capturées). |
-NetshScenario 1. -NetshOptions '<Option string>' 2. -NetshMaxSizeMB <Int> 3. -noPacket |
Démarrez la trace du Netsh scénario. La commande prise en charge <ScenarioName> est répertoriée à 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 maximale du journal en Netsh 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. Vous <CounterSetName> pouvez le répertorier à l’aide de l’applet de -ListSupportedPerfCounter commande.1. Définissez l’intervalle pour le PerfMon journal (la valeur par défaut est de 10 secondes).2. Spécifiez une valeur int pour la taille maximale Perfmon du journal en Mo (la valeur par défaut est 2048).3. Créez un fichier lorsque le temps spécifié s’est écoulé ou lorsque la taille maximale est <PerfMonMaxMB> 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 de 10 minutes). |
-PktMon |
Collecter les 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 > |
Collecter PoolMon sur start , stop ou 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 séparée par des virgules d’éléments à l’aide de SysInternals ProcDump.exe. Par défaut, le vidage est pris au début de la reproduction et s’arrête. Entrez ProcessName (s) avec l’extension .exe .1. Start : le vidage est pris au début de la reproduction.Stop : le vidage est pris à l’arrêt.Both (par défaut) : le vidage est pris au démarrage et à l’arrêt.2. Utilisez cette option lorsque le vidage doit être capturé à plusieurs reprises. N : nombre de vidagesInt : intervalle en secondesLa 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). Permet fltmc instances d’afficher l’altitude du pilote de filtre. Utilisez un nombre inférieur au pilote spécifique soupçonné. La valeur 45100 vous montre 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 |
Démarrez l’enregistreur des étapes des problèmes. |
-Radar <PID[] |ProcessName[] |ServiceName[] > |
Collectez les informations de diagnostic des fuites (rdrleakdiag.exe). Par exemple, -Radar AppIDSvc . |
-RASdiag |
Collecter la trace. La trace du Netsh jeu de diagnostics Ras est activée. |
-SDP <SpecialityName[]> 1. -SkipSDPList "<xxx>","<yyy>" 2. <SpecialityName> |
Collecter le package de diagnostic de support (SDP) pour la spécialité spécifiée. Pour obtenir la liste complète et SkipSDPList utiliser l’applet .\tss -help de SpecialityNames 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 de configuration 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ébogage du voyage de temps de début (TTD) (TTT/iDNA) avec le mode par défaut -Full . Entrez le ProcessName (s) avec l’extension .exe , un seul élément (PID/name) ou une liste d’éléments séparés par des virgules.Remarque : Le système d’exploitation de bas niveau avant Windows 10, 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 spécifique. 2. Full = -dumpfull (=valeur par défaut)Ring = mode mémoire tampon en anneauonLaunch = -onLaunch (nécessite TSS_TTD)3. Taille maximale du fichier journal. L’opération dépend -TTDMode de . 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 . Filtre de l’interface (par exemple, _WS_Filter="port 443" ).3. WS_Snaplen : utilisé pour -s . Limitez la quantité de données pour chaque image. 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). Basculez vers le 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 : toute autre option pour -i (par exemple, _WS_Options="-P" ).Exemple : Pour collecter WireShark sur les interfaces 15 et 11, entrez une entrée 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 CPU VSOD_Leak ||Device |SQL ||Memory Graphic ||VSOD_CPU Xaml |Wait |Storage |||Registry |BootGeneral Network .1. Ignorez la génération de fichiers de symboles (fichiers PDB). 2. Spécifiez les options de 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 profils et CPU les General profils.Exemple 2 : .\TSS.ps1 -WPR General -WPROptions '-Start CPU -start Network -start Minifilter' combine les profils (General , , Network CPU et 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 Disk |||Registry ||SBSL PoolNPP SBSLboot |SMB2 |Pool |Network Memory Leak ||CPU |.1. Spécifiez la taille maximale du journal en Mo (la valeur par défaut est de 2048 Mo). La valeur par défaut pour les scénarios SBSL* est 16384 (identique pour ADS_/NET_SBSL). 2. Spécifiez PoolTag à enregistrer. Ce paramètre est utilisé avec le ou PoolNPP le Pool profil (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 un système pour détecter les problèmes connus. |
L’exemple suivant montre comment activer plusieurs outils de support (commandes) pendant la 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 résultant 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 |
Utiliser avec -Scenario . Par défaut, les fonctions de collecte des composants ne sont pas appelées dans la -Scenario trace. Ce commutateur permet au composant de collecter les fonctions à appeler. |
-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 d’é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 d’événements qui correspondent *Cred* comme '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 incident système avec NotMyFault à l’arrêt de la reproduction, ou après que tous les événements sont signalés si utilisés avec -WaitEvent .Attention : Ce commutateur force un vidage de mémoire (le système redémarre), donc les fichiers ouverts ne seront 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}' uniques et/ou 'Provider-Name' ). |
-DebugMode |
Exécutez avec le mode débogage pour un développeur. |
-VerboseMode |
Affichez une sortie détaillée ou plus détaillée 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 sera ignoré. |
-EnableCOMDebug |
Module pour activer le mode 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 1024 et la valeur par défaut pour newfile ETLMaxSizeMB 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 les newfile journaux d’activité avec une taille de 2048 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 newfile est newfile:512:10 .Exemple 2 : -StartAutologger -ETLOptions circular:4096 Autologger n’obéit :<ETLNumberToKeep> pas et il accepte uniquement le mode circulaire.Exemple 3 : -StartAutologger -ETLOptions circular:4096:10:3 Autologger n’obéit :<ETLNumberToKeep> pas et il accepte uniquement le mode circulaire et « 3 » comme nombre de autologger générations. |
-ETWlevel <Info |Warning |Error > |
Définir 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 derniers jours. La valeur par défaut est de 30 jours. Il s’applique également au rapport SDP. Remarque : Les journaux des événements de sécurité sont 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 autre chemin de dossier de journal pour les données de sortie résultantes 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 noVideo , noXray , noZip , et noBasicLog . |
-Mode <Basic |Medium |Advanced |Full |Verbose |VerboseEx |Hang |Restart | Swarm |Kube |GetFarmdata |Permission |traceMS > |
Exécutez des scripts en mode , , Full Medium Advanced ou Verbose(Ex) en Basic mode pour la collecte de données. Restart redémarre le service associé. |
-RemoteRun |
Utilisez cette option 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 PSR, l’enregistrement vidéo, le démarrage de TssClock et l’ouverture de l’Explorateur avec les résultats finaux. Dans ce cas, envisagez -AcceptEula également . |
-StartNoWait |
N’attendez pas, et l’invite retourne immédiatement. Ce paramètre est utile pour le scénario dans lequel 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. Elle peut être utilisée 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 quel mot clé et afficher les informations d’aide sur ce mot clé. |
-Status |
Affichez l’état 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 résoudre 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|Kernel de 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 du réseau de 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 mémoire. Voir NotMyFault v4.21 si la ligne de commande TSS inclut -Crash . |
Résoudre les erreurs PowerShell inattendues
Exécutez cette applet de commande après un échec :
.\TSS.ps1 -Stop -noBasiclog -noXray
Fermez la fenêtre PowerShell avec élévation de privilèges ouverts et démarrez une nouvelle fenêtre PowerShell avec élévation de privilèges.
Autoriser les scripts PowerShell à s’exécuter sur votre système avec la valeur appropriée
ExecutionPolicy
.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
Exécutez la commande cmdlet de commande suivante :
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -force -Scope Process
Vérifiez que les paramètres avec l’applet
Get-ExecutionPolicy -List
de commande qui n’ont pasExecutionPolicy
de priorité plus élevée bloquent l’exécution de ce script.Exécutez de nouveau la cmdlet
.\TSS.ps1 <Desired Parameters>
.
Méthode 2 (alternative)
Si des 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 des 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
Note
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 d’obtenir une exemption d’objet de stratégie de groupe (GPO) temporaire.
Dans de rares cas, vous pouvez essayer l’applet de -ExecutionPolicy Bypass
commande.
Si votre organisation force le mode de langage contrainte 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 ?
A1 : Non, mais un paramètre de Registre est requis 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 clé à 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 des journaux.
Q2 : L’ensemble d’outils TSS place-t-il une charge supplémentaire sur le serveur ?
A2 : Certaines journalisations (par exemple, capture réseau, collecte de suivi ETW, et ainsi de suite) démarrées par l’ensemble d’outils TSS peuvent mettre 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 voyez 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. 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 indirectement le problème et modifier la situation.
Q4 : Pourquoi l’ensemble d’outils TSS ne répond-il pas 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. Contactez votre représentant du support technique si vous rencontrez ce problème.
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 longtemps ?
A5 : tous les suivis TSS sont configurés pour s’exécuter avec des mémoires tampons en anneau. Vous pouvez donc exécuter l’ensemble d’outils pendant longtemps 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 quitter s’il n’y a pas suffisamment d’espace disque. Si vous constatez une utilisation élevée du disque après avoir démarré l’ensemble d’outils TSS ou que 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")
A6 : 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 commandeGet-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
Les présents termes du contrat de licence constituent un contrat entre vous et Microsoft Corporation (ou l’un de ses affiliés). SI VOUS VOUS CONFORMEZ AUX PRÉSENTES CONDITIONS DE LICENCE, VOUS AVEZ LES DROITS CI-DESSOUS. PAR L’UTILISATION DU LOGICIEL, VOUS ACCEPTEZ CES TERMES.
INSTALLATION ET DROITS D’UTILISATION. 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 payante et entièrement payante à utiliser et reproduire le script ou l’utilitaire fourni sous cette licence (le « Logiciel »), uniquement à des fins professionnelles internes du client, pour aider Microsoft à résoudre les problèmes liés à un ou plusieurs produits Microsoft, à condition que cette licence au logiciel n’inclut aucun droit à d’autres technologies Microsoft (telles que des produits ou des services). « Utiliser » signifie copier, installer, exécuter, accéder, afficher, exécuter ou interagir avec le logiciel.
Vous ne pouvez pas sous-licencer le logiciel ni l’utiliser par le biais de la distribution, de l’accès réseau ou autrement. Microsoft réserve tous les autres droits non expressément accordés ici, que ce soit par implication, estoppel ou autrement. Vous ne pouvez pas décompiler, décompiler ou désassembler le logiciel, ou tenter de dériver le code source du logiciel, sauf et dans la mesure nécessaire aux conditions de licence tierces régissant l’utilisation de certains composants code source ouvert qui peuvent être inclus dans le logiciel, ou supprimer, réduire, bloquer ou modifier les avis de Microsoft ou de ses fournisseurs dans le logiciel. Ni vous ni vos représentants ne pouvez utiliser le logiciel fourni ici : (i) d’une manière interdite par la loi, la réglementation, l’ordre gouvernemental ou le décret ; (ii) pour violer les droits des autres ; (iii) pour tenter d’obtenir un accès non autorisé à un service, un appareil, des données, un compte ou un réseau ; (iv) pour distribuer du courrier indésirable ou des programmes malveillants ; (v) d’une manière qui pourrait nuire aux systèmes informatiques de Microsoft ou nuire à l’utilisation d’une autre personne ; (vi) dans toute application ou situation où l’utilisation du Logiciel pourrait entraîner la mort ou des blessures corporelles graves de toute personne, ou à des dommages physiques ou environnementaux ; ou (vii) pour aider, encourager ou permettre à toute personne d’effectuer l’une des activités ci-dessus.
DONNÉES. Le client possède tous les droits relatifs aux données qu’il peut choisir de partager avec Microsoft à l’aide du logiciel. Pour plus d’informations 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.
COMMENTAIRES. Si vous donnez 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 à des fins quelconques. Vous ne fournirez aucun commentaire soumis à une licence qui exigerait que Microsoft attribue une licence à son logiciel ou à sa documentation à des tiers en raison de vos commentaires dans ces logiciels ou documentation.
RESTRICTIONS À L’EXPORTATION. Le client doit se conformer à toutes les lois et réglementations nationales et internationales d’exportation qui s’appliquent au logiciel, qui incluent des restrictions sur les destinations, les utilisateurs finaux et l’utilisation finale. Pour plus d’informations sur les restrictions à l’exportation, voir https://aka.ms/exporting.
REPRÉSENTATIONS ET GARANTIES. Le client se conformera à toutes les lois applicables de ce contrat, y compris dans la livraison et l’utilisation de toutes les données. Le client ou un demandeur qui accepte ces conditions pour le compte d’une entité représente et justifie qu’il (i) ait le pouvoir et l’autorité nécessaires pour entrer et exécuter ses obligations en vertu de ce contrat, (ii) dispose d’une pleine puissance et d’une autorité pour lier ses affiliés ou son organisation aux termes de ce contrat, et (iii) sécurisera l’autorisation de l’autre partie avant de fournir un code source d’une manière qui serait soumise à l’objet la propriété intellectuelle de l’autre partie à d’autres termes du contrat de licence ou exiger que l’autre partie distribue le code source à l’une de ses technologies.
EXCLUSIONS DE GARANTIE. LE LOGICIEL EST FOURNI « TEL QUEL », SANS GARANTIE D’AUCUNE SORTE, EXPRESSE OU IMPLICITE, Y COMPRIS, MAIS NON LIMITÉ AUX GARANTIES DE QUALITÉ MARCHANDE, D’ADÉQUATION À UN USAGE PARTICULIER ET NON À L’FRINGEMENT. EN AUCUN CAS, MICROSOFT OU SES TITULAIRES NE SONT RESPONSABLES DE TOUT DOMMAGE DIRECT, INDIRECT, ACCESSOIRE, SPÉCIAL, EXEMPLAIRE OU CONSÉCUTIF (Y COMPRIS, MAIS PAS LIMITÉ À L’APPROVISIONNEMENT DES BIENS OU SERVICES DE REMPLACEMENT ; PERTE D’UTILISATION, DE DONNÉES OU DE PROFITS ; OU INTERRUPTION D’ENTREPRISE) TOUTEFOIS CAUSÉE ET SUR TOUTE THÉORIE DE RESPONSABILITÉ, QU’ELLE SOIT EN CONTRAT, EN RESPONSABILITÉ STRICTE OU EN TORT (Y COMPRIS LA NÉGLIGENCE OU AUTREMENT) RÉSULTANT D’UNE QUELCONQUE MANIÈRE DE L’UTILISATION DU LOGICIEL, MÊME SI ELLE EST CONSEILLÉE DE LA POSSIBILITÉ DE TELS DOMMAGES.
LIMITATION ET EXCLUSION DE RESPONSABILITÉ EN CAS DE DOMMAGES. SI VOUS AVEZ UNE BASE POUR RÉCUPÉRER DES DOMMAGES-INTÉRÊTS MALGRÉ L’EXCLUSION DE RESPONSABILITÉ PRÉCÉDENTE DE GARANTIE, VOUS POUVEZ RÉCUPÉRER DE MICROSOFT ET DE SES FOURNISSEURS UNIQUEMENT DES DOMMAGES DIRECTS JUSQU’AUX ÉTATS-UNIS. 00. VOUS NE POUVEZ PRÉTENDRE À AUCUNE INDEMNISATION POUR LES AUTRES DOMMAGES, NOTAMMENT IMMATÉRIELS, SPÉCIAUX, INDIRECTS OU ACCESSOIRES, OU AUTRES PERTES DE BÉNÉFICES. 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) réclamations pour violation du contrat, de la garantie, de la garantie ou de la condition ; responsabilité stricte, négligence ou autre tort ; ou toute autre revendication ; dans chaque cas, dans la mesure autorisée par la loi applicable. Elle s’applique également même si Microsoft avait ou aurait dû avoir connaissance de l’éventualité de tels dommages. La limitation ou l’exclusion ci-dessus peut également ne pas vous être applicable si votre État, province ou pays n’autorise pas l’exclusion ou la limitation de responsabilité pour les dommages incidents, indirects ou de quelque nature que ce soit.
DISPENSE D’ARBITRAGE EXÉCUTOIRE ET D’ACTION COLLECTIVE. Cette section s’applique si vous vivez (ou, si une entreprise, votre principal lieu d’activité est dans) le États-Unis. En cas de litige entre vous et Microsoft, vous et Microsoft vous engagez à tenter pendant 60 jours de résoudre ce litige de façon informelle. Si vous et Microsoft n’y parvenez pas, vous et Microsoft vous engagez à vous soumettre à l’arbitrage exécutoire de l’American Arbitration Association conformément au Federal Arbitration Act (« FAA ») et à ne pas intenter d’action en justice devant un juge ou un jury. Au lieu de cela, un arbitre neutre décidera. Les recours collectifs, recours collectifs en arbitrage, actions privées devant un procureur général et autres actions où une personne agit à titre de représentant ne sont pas autorisés, pas plus que la combinaison d’actions individuelles, sans le consentement de toutes les parties. La convention d’arbitrage complète comporte d’autres conditions. Vous pouvez la consulter sur la page https://aka.ms/arb-agreement-4. Vous et Microsoft acceptez ces clauses.
LOI ET LIEU. En cas de compétence du gouvernement fédéral des États-Unis, vous et Microsoft reconnaissez la compétence exclusive de la juridiction fédérale du compté de King, État de Washington, pour tous les conflits devant être entendus devant un tribunal (à l’exclusion des arbitrages). Autrement, vous et Microsoft reconnaissez la compétence exclusive de la Cour supérieure du compté de King, État de Washington, pour tous les conflits devant être entendus devant un tribunal (à l’exclusion des arbitrages).
INTÉGRALITÉ DES ACCORDS. Le présent contrat ainsi que les conditions concernant les suppléments, les mises à jour ou les applications de tiers constituent l’intégralité des accords en ce qui concerne le logiciel.