Einführung in das TroubleShootingScript-Toolset (TSS)
In diesem Artikel wird das Toolset TroubleShootingScript (TSS) vorgestellt und Antworten auf häufig gestellte Fragen bereitgestellt.
Gilt für: Unterstützte Versionen von Windows Server und Windows Client
Das TSS-Toolset enthält PowerShell-basierte Tools und ein Framework für die Datensammlung und Diagnose. Das Toolset zielt darauf ab, die Datenerfassung zu vereinfachen und Fälle effizient und sicher zu lösen.
Das Toolset enthält mehrere PowerShell-Skripts und ausführbare Dateien, die alle von Microsoft signiert sind. Basierend auf den ausgewählten Schaltern verwendet TSS ein oder mehrere Skripts und ausführbare Dateien, um die gewünschten Protokolle zu sammeln.
Sie können das Toolset als ZIP-Datei (TSS.zip) von https://aka.ms/getTSSherunterladen.
Voraussetzungen
Dies sind einige Voraussetzungen für die ordnungsgemäße Ausführung des Toolsets:
Das TSS-Toolset muss in einem PowerShell-Fenster mit erhöhten Rechten von Konten mit Administratorrechten auf dem lokalen System ausgeführt werden. Das Ausführen des TSS-Toolsets in der Windows PowerShell Integrated Scripting Environment (ISE) wird nicht unterstützt. Der Endbenutzer-Lizenzvertrag (EULA) muss akzeptiert werden. Sobald die Lizenzbedingungen akzeptiert wurden, fordert das TSS-Toolset nicht mehr zur Eingabe der Lizenzbedingungen auf.
Die PowerShell-Skriptausführungsrichtlinie sollte auf
RemoteSigned
Prozessebene festgelegt werden, indem das CmdletSet-ExecutionPolicy -scope Process -ExecutionPolicy RemoteSigned -Force
an einer PowerShell-Eingabeaufforderung mit erhöhten Rechten ausgeführt wird.Hinweis
Die Änderungen auf Prozessebene wirken sich nur auf die aktuelle PowerShell-Sitzung aus.
Starten des TSS-Toolsets
Sie können TSS.ps1 je nach Szenario mit verschiedenen Schaltern starten. Das -Start
Verb ist das Standard- und das optionale Verb und kann bei Bedarf durch ein ergänzendes Verb ersetzt werden. Die komplementären -Start
Verben sind -StartAutoLogger
, -StartDiag
, -StartNoWait
und -CollectLog
.
Verb | Beschreibung |
---|---|
-Start |
Das -Start Verb startet ETW-Komponentenablaufverfolgungen (Event Tracing for Windows) oder Unterstützt Tools wie Windows Performance Recorder (WPR).Das [-Start] Verb ist optional, kann aber durch ergänzende -start Optionen ersetzt werden. |
-StartAutoLogger |
Um diese Protokolle zum Startzeitpunkt zu sammeln, verwenden Sie -StartAutoLogger , um zu ersetzen -Start .Verwenden Sie es in Kombination mit dem .\TSS.ps1 -Stop Cmdlet, um die Ablaufverfolgungen zu beenden, nachdem das Problem reproduziert wurde. |
-StartDiag |
Obwohl dieser Schalter in der Gegenwart nicht viel nutzen kann, soll er in Zukunft in mehreren Szenarien verwendet werden. Ab heute kann sie mit anderen Argumenten NET_DFSn wie dem Abrufen Diagnose des DFSN-Namespaces kombiniert werden. |
-StartNoWait |
Mit diesem Parameter können die Ablaufverfolgungen auch dann aktiv bleiben, wenn Sie sich abmelden. Verwenden Sie es in Kombination mit dem .\TSS.ps1 -Stop Cmdlet, um die Ablaufverfolgungen zu beenden, nachdem das Problem reproduziert wurde. |
-CollectLog |
Dieser Parameter wird häufig zusammen mit dem Argument DND_SetupReport verwendet.Beispiel: .\TSS.ps1 -Collectlog DND_SetupReport |
Protokolle im Zusammenhang mit den Ablaufverfolgungen werden auch automatisch gesammelt, wenn Sie die Datensammlung beenden.
Syntax zur Verwendung des TSS-Toolsets
Parameter | Beschreibung |
---|---|
<placeholder> |
Die Zeichenfolge in spitzen Klammern (<>) für Platzhalter muss durch einen tatsächlichen Szenarionamen, eine Ablaufverfolgungskomponente, einen Befehl oder einen Wert ersetzt werden. |
[optional] |
Der Schlüsselwort (keyword) oder Wert in eckigen Klammern ([ ]) ist optional. Bedeutet beispielsweise, [module:int] dass das Modul und das Intervall optional sind. Der Standardwert wird verwendet, wenn [<xx>:<yy>] nicht angegeben wird. |
| | Dieser Parameter bedeutet 'OR' . Sie können eine der verfügbaren Optionen auswählen. |
: |
Das Trennzeichen zwischen zwei Werten. |
Cmdlet-Beispiele
PowerShell-Cmdlet | Beschreibung |
---|---|
.\TSS.ps1 -PerfMon [General:10] |
Dieser Parameter bedeutet PerfMon CounterSetName = General und Interval = 10 Sekunden. Wenn [General:10] nicht angegeben wird, wird der Standardwert aktiviert, hat also -PerfMon die gleiche Auswirkung wie -PerfMon General -PerfIntervalSec 10 . |
.\TSS.ps1 [-StopWaitTimeInSec <N>] |
Dieser Parameter bedeutet, dass das Argument -StopWaitTimeInSec optional ist, aber wenn es angegeben ist, ist ein Wert für <N> ="die Anzahl der Sekunden" obligatorisch. |
Ereignisablaufverfolgung für Windows (ETW)
ETW-Ablaufverfolgung | PowerShell-Cmdlet | Beschreibung |
---|---|---|
Aktivieren Sie eine Szenarioablaufverfolgung. | .\TSS.ps1 -Scenario <ScenarioName> |
Die unterstützten Szenarionamen werden mithilfe des Cmdlets TSS.ps1 -ListSupportedScenarioTrace aufgelistet. |
Aktivieren Sie Komponentenablaufverfolgungen. | .\TSS.ps1 <-ComponentName> <-ComponentName> ... |
Die unterstützte <-componentName> wird mithilfe des Cmdlets TSS.ps1 -ListSupportedTrace aufgeführt. |
Starten Sie Ablaufverfolgungen mit dem Modus ohne Wartezeit. | .\TSS.ps1 -StartNoWait -Scenario <ScenarioName> .\TSS.ps1 -Stop |
Die Eingabeaufforderung wird sofort zurückgegeben, sodass Sie sich abmelden oder ein Cmdlet wie Shutdown verwenden können.Das Cmdlet .\TSS.ps1 -Stop beendet die Ablaufverfolgung. |
Hinweis
Verwenden Sie das -ListETWProviders
Cmdlet, um alle Anbieter-GUIDs von Komponenten und/oder Szenarien aufzulisten. Zum Beispiel:
.\TSS.ps1 -ListETWProviders <component-/scenario-name>
Unterstützungstools und Befehle
Starten Sie Unterstützungstools oder Befehle (z. B. ProcMon, ProcDump, netsh, Leistungsmonitor (PerfMon), WPR oder Radar), um die Protokollsammlung mit zusätzlichen Tools für spezialisierte Erfassungen zu verbessern.
PowerShell-Cmdlet | Beschreibung |
---|---|
-Fiddler |
Sammeln Sie die Fiddler-Ablaufverfolgung. Fiddler muss installiert sein. Aktivieren Sie die Option für die Datenverkehrsentschlüsselung, indem Sie Extras>Optionen und Dann HTTPS-Datenverkehr entschlüsseln auf der Registerkarte HTTPS auswählen. |
-GPresult <Start |Stop |Both > |
Sammeln Sie SysInternals Handle.exe Ausgabe für Phase start , stop oder both . |
-Handle <Start |Stop |Both > |
Sammeln Sie SysInternals Handle.exe Ausgabe für Phase start , stop oder both . |
-LiveKD <Start |Stop |Both > |
Starten Sie SysInternals LiveKD -ml (Live kernel dump).<Start> : Das Dump wird zu Beginn der Reproduktion erstellt.<Stop> : Das Speicherabbild wird beim Beenden übernommen.<Both> : Das Speicherabbild wird sowohl beim Start als auch beim Beenden erstellt. |
-Netsh 1. -NetshOptions '<Option string>' 2. -NetshMaxSizeMB <Int> 3. -noPacket |
Starten Sie die Netzwerkpaketerfassung. 1. Geben Sie zusätzliche Optionen für an Netsh . Beispiel: 'capturetype=both captureMultilayer=yes provider=Microsoft-Windows-PrimaryNetworkIcon provider={<GUID>}' .2. Die maximale Protokollgröße für Netsh in Megabyte (MB) (z. B -NetshMaxSizeMB 4096 . ). Der Standardwert ist 2048.3. Verhindern Sie, dass Pakete mit Netsh erfasst werden (nur ETW-Ablaufverfolgungen in werden ScenarioName erfasst). |
-NetshScenario 1. -NetshOptions '<Option string>' 2. -NetshMaxSizeMB <Int> 3. -noPacket |
Starten Sie die Netsh Szenarioablaufverfolgung. Die unterstützte <ScenarioName> wird mithilfe des Cmdlets -ListSupportedNetshScenario aufgeführt.1. Geben Sie zusätzliche Optionen für an Netsh . Beispiel: 'capturetype=both captureMultilayer=yes provider=Microsoft-Windows-PrimaryNetworkIcon provider={<GUID>}' .2. Die maximale Protokollgröße für Netsh in MB (z. B -NetshMaxSizeMB 4096 . ). Der Standardwert ist 2048.3. Verhindern, dass Pakete mit Netsh erfasst werden (nur ETW-Ablaufverfolgungen im Szenarionamen werden erfasst). |
-PerfMon <CounterSetName> [-PerfIntervalSec N] [-PerfMonMaxMB <N>] [-PerfMonCNF <[[hh:]mm:]ss>] 1. -PerfIntervalSec <Interval in sec> 2. -PerfMonMaxMB <N> 3. -PerfMonCNF <[[hh:]mm:]ss> |
Starten Sie Leistungsmonitor Protokolle. Der <CounterSetName> kann mithilfe des Cmdlets -ListSupportedPerfCounter aufgelistet werden.1. Legen Sie das Intervall für das PerfMon Protokoll fest (der Standardwert ist 10 Sekunden).2. Geben Sie einen int-Wert für die maximale Perfmon Protokollgröße in MB an (der Standardwert ist 2048).3. Erstellen Sie eine neue Datei, wenn die angegebene Zeit verstrichen ist oder wenn die maximale Größe von <PerfMonMaxMB> überschritten wird. |
-PerfMonLong <CounterSetName> [-PerfLongIntervalMin N] [-PerfMonMaxMB <N>] [-PerfMonCNF <[[hh:]mm:]ss>] 1. -PerfLongIntervalMin <Interval in min> |
Leistungsmonitor mit einem langen Intervall. 1. Legen Sie das Intervall für das PerfMonLong Protokoll fest (der Standardwert ist 10 Minuten). |
-PktMon |
Sammeln von Paketüberwachungsdaten (unter Windows Server 2019, Windows 10, Version 1809 und höheren Versionen).
PktMon:Drop sammelt nur verworfene Pakete. |
-PoolMon <Start |Stop |Both > |
Sammeln Sie PoolMon für start , stop oder both . |
-ProcDump <PID[] |ProcessName.exe[] |ServiceName[] >1. -ProcDumpOption <Start |Stop |Both >-ProcDumpInterval <N>:<Interval in sec> 2. -ProcDumpInterval <N>:<Interval in sec> 3. -ProcDumpAppCrash |
Erfassen Sie Benutzerabbilder eines einzelnen Elements oder einer durch Trennzeichen getrennten Liste von Elementen mithilfe von SysInternals ProcDump.exe. Standardmäßig wird das Speicherabbild am Anfang der Reproduktion erstellt und beendet. Geben Sie ProcessName (s) mit der Erweiterung ein .exe .1. Start : Das Dump wird zu Beginn der Reproduktion erstellt.Stop : Das Speicherabbild wird beim Beenden übernommen.Both (Standardeinstellung): Das Speicherabbild wird sowohl beim Starten als auch beim Beenden übernommen.2. Verwenden Sie diese Option, wenn das Speicherabbild wiederholt erfasst werden muss. N : Die Anzahl der SpeicherabbilderInt : das Intervall in SekundenDer Standardwert ist 3:10. 3. Dieser Schalter aktiviert ProcDump -ma -e , wodurch ein vollständiges Speicherabbild geschrieben wird, wenn der Prozess auf eine nicht behandelte Ausnahme stößt. |
-ProcMon 1. -ProcmonAltitude <N> 2. -ProcmonPath <folder path to Procmon.exe> 3. -ProcmonFilter <filter-file.pmc> |
Starten Sie SysInternals Procmon.exe. 1. Geben Sie einen Zeichenfolgenwert für ProcmonAltitude an (der Standardwert ist 385200). Verwenden Sie fltmc instances , um die Höhe des Filtertreibers anzuzeigen. Verwenden Sie eine niedrigere Zahl als der mutmaßliche spezifische Treiber. Der Wert 45100 zeigt Ihnen praktisch alles.2. Geben Sie einen Pfad zu Procmon.exe an (standardmäßig verwendet TSS das integrierte Procmon). 3. Geben Sie eine Konfigurationsdatei für Procmon (z. B. ProcmonConfiguration.pmc) im Ordner \config an. |
-PSR |
Start Problems Steps Recorder. |
-Radar <PID[] |ProcessName[] |ServiceName[] > |
Sammeln Sie die Diagnoseinformationen des Lecks (rdrleakdiag.exe). Beispiel: -Radar AppIDSvc . |
-RASdiag |
Ablaufverfolgung sammeln. Die Netsh Ras-Diagnose set trace ist aktiviert. |
-SDP <SpecialityName[]> 1. -SkipSDPList "<xxx>","<yyy>" 2. <SpecialityName> |
Sammeln Sie das Support-Diagnosepaket (Support Diagnostic Package, SDP) für die angegebene Spezialität. Verwenden Sie das Cmdlet, um die vollständige Liste von SpecialityNames und SkipSDPList zu .\tss -help erstellen.Überspringen Sie die durch Trennzeichen getrennte Liste der SDP-Modulnamen, die während der Ausführung des SDP-Berichts in Ihrer Umgebung hängen. |
-SysMon |
Sammeln Sie SysInternals System Monitor-Protokolle (SysMon) (sysmonConfig.xml standardmäßig im Ordner config). |
-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>' |
Starten Sie das Time Travel Debugging (TTD) (TTT/iDNA) mit dem Standardmodus -Full . Geben Sie ( ProcessName s) mit der .exe Erweiterung, einem einzelnen Element (PID/Name) oder einer durch Trennzeichen getrennten Liste von Elementen ein.Hinweis: Das down-Level-Betriebssystem vor Windows 10 Version 1703 erfordert das TSS_TTD.zip-Paket. 1. Geben Sie den Ordnerpfad an, dertttracer.exe (PartnerTTD) enthält. In der Regel ist dieser Schalter nur erforderlich, wenn Sie einen bestimmten Pfad erzwingen möchten. 2. Full = -dumpfull (=default)Ring = RingpuffermodusonLaunch = -onLaunch (erfordert TSS_TTD)3. Die maximale Protokolldateigröße. Der Vorgang hängt von ab -TTDMode .
Full hält an, wenn die maximale Größe erreicht ist, und Ring behält die maximale Größe im Ringpuffer bei.4. Verwenden Sie diese Option, um alle zusätzlichen Optionen für TTD (TTT/iDNA) hinzuzufügen. |
-Video |
Starten Sie die Videoaufnahme (erfordert die Installation von .NET 3.5). |
-WFPdiag |
Sammeln Sie Ablaufverfolgungen mit dem netsh Wfp capture Befehl. |
-WireShark |
Starten Sie WireShark. Die folgenden Parameter können über die Datei tss_config.cfg konfiguriert werden. 1. WS_IF : wird für -i verwendet. Geben Sie die Schnittstellennummer an (z. B _WS_IF=1 . ).2. WS_Filter : wird für -f verwendet. Filtern Sie nach der -Schnittstelle (z. B _WS_Filter="port 443" . ).3. WS_Snaplen : wird für -s verwendet. Begrenzen Sie die Datenmenge für jeden Frame. Dieser Parameter hat eine bessere Leistung und ist für Situationen mit hoher Auslastung hilfreich (z. B _WS_Snaplen=128 . ).4. WS_TraceBufferSizeInMB : verwendet für -b FileSize (multipliziert mit 1024). Wechseln Sie nach der Anzahl von Megabytes zur nächsten Datei. (Beispiel: _WS_TraceBufferSizeInMB=512 , default=512 MB)5. WS_PurgeNrFilesToKeep : wird für -b files verwendet. Ersetzen Sie nach der Anzahl der Dateien. (Beispiel: _WS_PurgeNrFilesToKeep=20 )6. WS_Options : alle anderen Optionen für -i (z. B _WS_Options="-P" . ).Beispiel: Um WireShark an den Schnittstellen 15 und 11 zu erfassen, geben Sie ein, wenn TSS zur Eingabe einer Schnittstellennummer auffordert: 15 -i 11 .Standardmäßig startet dumpcap.exe -i <all NICs> -B 1024 -n -t -w _WireShark-packetcapture.pcap -b files:10 -b filesize:524288 Wireshark . |
-WPR <WPRprofile> 1. -SkipPdbGen 2. -WPROptions '<Option string>' |
Starten Sie eine WPR-Profilablaufverfolgung.
<WPRprofile> ist einer von General VSOD_Leak |CPU VSOD_CPU |||Device SQL ||Xaml Wait ||Graphic |Storage |Registry Network Memory ||BootGeneral |.1. Überspringen Sie das Generieren von Symboldateien (PDB-Dateien). 2. Geben Sie Optionen für WPR.exean. Beispiel: -WPROptions '-onoffproblemdescription "test description"' .Beispiel 1: .\TSS.ps1 -StartAutoLogger -WPR BootGeneral -WPROptions '-addboot CPU' erfasst WPR-Startablaufverfolgungen mit den General Profilen und CPU .Beispiel 2: .\TSS.ps1 -WPR General -WPROptions '-Start CPU -start Network -start Minifilter' kombiniert Profile (General , , CPU Network und Minifilter ). |
-Xperf <Profile> 1. -XperfMaxFileMB <Size> 2. -XperfTag <Pool Tag> 3. -XperfPIDs <PID> 4. -XperfOptions <Option string> |
Starten Sie Xperf.
<Profile> ist einer von General SBSLboot ||Disk Registry ||SBSL PoolNPP ||SMB2 |Pool |Network Memory Leak ||CPU |.1. Geben Sie die maximale Protokollgröße in MB an (der Standardwert ist 2048 MB). Der Standardwert für SBSL*-Szenarien ist 16384 (identisch für ADS_/NET_SBSL). 2. Geben Sie an PoolTag , dass protokolliert werden soll. Dieser Parameter wird mit dem Pool Profil oder PoolNPP verwendet (z. B -Xperf Pool -XperfTag TcpE+AleE+AfdE+AfdX . ).3. Geben Sie an ProcessID . Dieser Parameter wird mit dem Leak Profil verwendet (z. B -Xperf Leak -XperfPIDs <PID> . ).4. Geben Sie andere Optionszeichenfolgen für Xperf an. |
-xray |
Starten Sie xray, um ein System auf bekannte Probleme zu diagnostizieren. |
Im folgenden Beispiel wird veranschaulicht, wie sie mehrere Supporttools (Befehle) während derselben Ablaufverfolgung aktivieren.
.\TSS.ps1 -WPR <WPRprofile> -Procmon -Netsh|-NetshScenario <NetshScenario> -PerfMon <CounterSetName> -ProcDump <PID> -PktMon -SysMon -SDP <specialty> -xray -PSR -Video -TTD <PID[]|ProcessName[]|ServiceName[]>
Parameter in TSS-Optionen
Definiert bestimmte Parameter innerhalb der TSS-Optionen, um die Datensammlung zu steuern, zu verbessern oder zu vereinfachen.
Parameter | Beschreibung |
---|---|
-AcceptEula |
Fragen Sie nicht zuerst. führen Sie aus, um den Haftungsausschluss zu akzeptieren (nützlich für die -RemoteRun Ausführung). |
-AddDescription <description> |
Fügen Sie eine kurze Beschreibung des Reproduktionsproblems hinzu. Der Name der resultierenden ZIP-Datei enthält eine solche Beschreibung. |
-Assist |
Barrierefreiheitsmodus. |
-BasicLog |
Erfassen Sie das vollständige Basisprotokoll (das Mini-Basisprotokoll wird immer standardmäßig erfasst). |
-CollectComponentLog |
Verwenden Sie mit -Scenario . Standardmäßig werden Komponentensammlungsfunktionen in der -Scenario Ablaufverfolgung nicht aufgerufen. Dieser Schalter ermöglicht den Aufruf der Sammlungsfunktionen der Komponente. |
-CollectDump |
Erfassen Sie das Systemabbild (memory.dmp), nachdem Sie alle Ablaufverfolgungen beendet haben.
-CollectDump kann mit -Start und -Stop verwendet werden. |
-CollectEventLog <Eventlog[]> |
Sammeln Sie die angegebenen Ereignisprotokolle. Das Sternchen (*) platzhalterzeichen kann für den Ereignisprotokollnamen verwendet werden. Beispiel: -CollectEventLog Security,*Cred* Sammeln Sie Sicherheitsprotokolle und alle Ereignisprotokolle, die wie übereinstimmen *Cred* 'Microsoft-Windows-CertificateServicesClient-CredentialRoaming/Operational' . |
-CommonTask <<POD> |Full |Mini > |
Führen Sie allgemeine Aufgaben vor dem Starten und nach dem Beenden der Ablaufverfolgung aus.<POD> : Derzeit ist nur "NET" verfügbar. Sammeln Sie zusätzliche Informationen, bevor Sie die Ablaufverfolgung starten und beenden.Full : Das vollständige Basisprotokoll wird nach dem Beenden der Ablaufverfolgung erfasst.Mini : Das Mini-Basisprotokoll wird nach dem Beenden der Ablaufverfolgung erfasst. |
-Crash |
Lösen Sie einen Systemabsturz mit NotMyFault am Ende der Reproduktion aus, oder nachdem alle Ereignisse signalisiert wurden, wenn sie mit -WaitEvent verwendet werden.Vorsicht: Dieser Schalter erzwingt ein Speicherabbild (das System wird neu gestartet), sodass geöffnete Dateien nicht gespeichert werden. |
-CustomETL |
Fügen Sie benutzerdefinierte ETL-Ablaufverfolgungsanbieter hinzu. Beispiel: .\TSS.ps1 -WIN_CustomETL -CustomETL '{<GUID>}','Microsoft-Windows-PrimaryNetworkIcon' (eine durch Trennzeichen getrennte Liste mit einfachen Anführungszeichen '{GUID}' und/oder 'Provider-Name' ). |
-DebugMode |
Ausführen im Debugmodus für einen Entwickler. |
-VerboseMode |
Ausführlichere oder ausführlichere Ausgabe bei der Verarbeitung von TSS-Funktionen anzeigen. |
-Discard |
Wird verwendet, um ein Dataset in der Phase -Stop zu verwerfen.
*Stop- - oder *Collect- -Funktionen werden nicht ausgeführt.
xray und psSDP werden übersprungen. |
-EnableCOMDebug |
Modul zum Aktivieren des COM-Debugmodus. |
-ETLOptions
<
circular
|
newfile
>:<ETLMaxSizeMB >:<ETLNumberToKeep >:<ETLFileMax > |
Legen Sie optionen fest, die an logman Befehle übergeben werden. Der Standardwert für circular ETLMaxSizeMB ist 1024, und der Standardwert für newfile ETLMaxSizeMB ist 512.-StartAutologger unterstützt -ETLOptions circular:<ETLMaxSize>:<ETLNumberToKeep>:<ETLFileMax> nur , wird aber ETLNumberToKeep nicht erwartet ausgeführt.Beispiel.1: -ETLOptions newfile:2048:5 Ausführen newfile von Protokollen mit einer Größe von 2048 MB. Behalten Sie nur die letzten fünf *.etl Dateien bei. Die Standardeinstellung für den Zirkelmodus ist circular:1024 , und für den neuen Dateimodus ist newfile:512:10 .Beispiel 2: -StartAutologger -ETLOptions circular:4096 Autologger gehorcht :<ETLNumberToKeep> nicht und akzeptiert nur moduskreisförmig.Beispiel 3: -StartAutologger -ETLOptions circular:4096:10:3 Autologger wird nicht gehorchen :<ETLNumberToKeep> und akzeptiert nur modus circular und "3" als Anzahl von autologger Generationen. |
-ETWlevel <Info |Warning |Error > |
Legen Sie die Ereignisablaufverfolgungsebene fest. Der Standardwert ist 0xFF. |
-EvtDaysBack <N> |
Konvertieren Sie Ereignisprotokolle nur für die letzten N Tage. Die Standardeinstellung beträgt 30 Tage. Sie gilt auch für den SDP-Bericht. Hinweis: Sicherheitsereignisprotokolle werden übersprungen. |
-ExternalScript <path to external PS file> |
Führen Sie das angegebene PowerShell-Skript aus, bevor Sie die Ablaufverfolgung starten. |
-LogFolderPath <Drive:\path to log folder> |
Verwenden Sie einen anderen Protokollordnerpfad für die resultierenden Ausgabedaten anstelle des Standardspeicherorts (C:\MS_DATA). Dies ist nützlich, wenn Laufwerk C: nicht genügend freier Speicherplatz zur Verfügung hat. |
-MaxEvents <N> |
Als Argument für '-WaitEvent Evt:..' untersucht der Parameter die letzte N Anzahl von Ereignissen mit der gleichen Ereignis-ID (der Standardwert ist 1). |
-Mini |
Sammeln Sie nur minimale Daten. Überspringen Sie noPSR , noSDP , noVideo , noXray , noZip und noBasicLog . |
-Mode <Basic |Medium |Advanced |Full |Verbose |VerboseEx |Hang |Restart | Swarm |Kube |GetFarmdata |Permission |traceMS > |
Führen Sie Skripts im Basic Modus , Medium , Advanced , Full oder Verbose(Ex) für die Datensammlung aus.
Restart startet den zugeordneten Dienst neu. |
-RemoteRun |
Wird verwendet, wenn TSS auf einem Remotehost ausgeführt wird, z. B. über PsExec, in der seriellen Azure-Konsole oder mit PowerShell-Remoting. Dieser Parameter verhindert die PsR- und Videoaufzeichnung, das Starten von TssClock und das Öffnen Explorer mit Endergebnissen. In einem solchen Fall sollten Sie auch berücksichtigen -AcceptEula . |
-StartNoWait |
Warten Sie nicht, und die Eingabeaufforderung wird sofort zurückgegeben. Dieser Parameter ist nützlich für das Szenario, in dem sich ein Benutzer abmelden muss. |
-WaitEvent |
Überwachen des angegebenen Ereignisses oder Stopptriggers; Wenn dies signalisiert wird, werden Ablaufverfolgungen automatisch beendet. Es gibt eine Vielzahl von Optionen, um einen automatischen Stopp auszulösen. Führen Sie aus .\TSS.ps1 -Find Monitoring , um die Verwendung anzuzeigen. |
-Update 1. -UpdMode <Online |Lite > |
Aktualisieren Sie das TSS-Paket. Sie kann zusammen mit -UpdMode Online|Lite verwendet werden.Online ist die Standardeinstellung und Lite die Upd Lite-Version. |
-Help 1. Common 2. ALL 3. Monitoring 4. Config 5. Keyword |
Stellen Sie Hilfemeldungen zu verschiedenen Szenarien bereit. 1. Allgemeine allgemeine Hilfenachricht. 2. Alle verfügbaren Optionen. 3. Anzeigen von Hilfemeldungen für Die Überwachung und Remotefunktionen. 4. Hilfe bei allen Konfigurationsparametern. 5. Sie können eine beliebige Schlüsselwort (keyword) eingeben, und es werden die Hilfeinformationen zu diesem Schlüsselwort (keyword) angezeigt. |
-Status |
Zeigen Sie ggf. die status der ausgeführten Ablaufverfolgung an. |
Hilfsskripts und Tools enthalten
Hilfsskript und -tool | Beschreibung |
---|---|
\scripts\tss_EventCreate.ps1 |
Erstellen Sie einen Ereignisprotokolleintrag in Ereignisprotokolldateien mit Ereignis-IDs. |
\scripts\tss_SMB_Fix-SmbBindings.ps1 |
Nützlich zum Beheben beschädigter SMB-Bindungen (LanmanServer, LanmanWorkstation oder NetBT). Siehe auch -Collect NET_SMBsrvBinding . |
\BINx64\kdbgctrl.exe |
Verwenden Sie den Schalter -sd <dump type> , um den Absturzabbildtyp Full|Kernel des Kernels festzulegen, kdbgctrl -sd Full z. B. . |
\BINx64\NTttcp.exe |
Leistungstests. Weitere Informationen finden Sie unter Testen des VM-Netzwerkdurchsatzes mithilfe von NTTTCP. |
\BINx64\latte.exe |
Latenztests. Weitere Informationen finden Sie unter Testen der Netzwerklatenz zwischen Azure-VMs. |
\BINx64\notmyfaultc.exe |
Erzwingen eines Speicherabbilds. Wenn die TSS-Befehlszeile enthält, finden Sie unter NotMyFault v4.21 weitere Informationen -Crash . |
Behandeln unerwarteter PowerShell-Fehler
Führen Sie dieses Cmdlet nach einem Fehler aus:
.\TSS.ps1 -Stop -noBasiclog -noXray
Schließen Sie das geöffnete PowerShell-Fenster mit erhöhten Rechten, und starten Sie ein neues PowerShell-Fenster mit erhöhten Rechten.
Lassen Sie die Ausführung von PowerShell-Skripts auf Ihrem System mit dem richtigen
ExecutionPolicy
zu.Wenn ein Fehler auftritt, der angibt, dass das ausgeführte Skript deaktiviert ist, probieren Sie die folgenden Methoden aus.
Methode 1
Führen Sie das folgende Cmdlet aus:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -force -Scope Process
Überprüfen Sie die Einstellungen mit dem
Get-ExecutionPolicy -List
Cmdlet, dass dieExecutionPolicy
Ausführung dieses Skripts nicht mit höherer Priorität blockiert wird.Führen Sie das
.\TSS.ps1 <Desired Parameters>
Cmdlet erneut aus.
Methode 2 (alternativ)
Wenn Skripts von MachinePolicy
blockiert werden, führen Sie die folgenden Cmdlets in einem PowerShell-Fenster mit erhöhten Rechten aus:
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
Methode 3 (alternativ)
Wenn Skripts von UserPolicy
blockiert werden, führen Sie die folgenden Cmdlets in einem PowerShell-Fenster mit erhöhten Rechten aus:
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
Hinweis
Methode 2 ist nur eine Problemumgehung für die Richtlinie MachinePolicy - RemoteSigned
. Wenn auch angezeigt wirdUserPolicy - RemoteSigned
, bitten Sie den Domänenadministrator um eine temporäre Gruppenrichtlinie Object(GPO)-Ausnahme.
In seltenen Fällen können Sie das -ExecutionPolicy Bypass
Cmdlet ausprobieren.
Wenn Ihr organization erzwingt den eingeschränkten Gruppenrichtlinienobjekt-PowerShell-Sprachmodus (System.Management.Automation.EngineIntrinsics.SessionState.LanguageMode -ne 'FullLanguage'
), bitten Sie den Domänenadministrator um eine temporäre GPO-Ausnahme.
Häufig gestellte Fragen (FAQs)
F1: Ändert das TSS-Skript die Einrichtung oder Konfiguration meines Systems?
A1: Nein, aber in einigen Szenarien ist eine Registrierungseinstellung erforderlich, um die Debugprotokollierung zu aktivieren. Das Skript legt den erforderlichen Schlüssel am Anfang der Datensammlung fest und setzt den Schlüssel auf den Standardwert am Ende der Datensammlung zurück. Es kann auch einige Caches (z. B. den ARP-Cache oder den Namensauflösungscache) zu Beginn der Datensammlung löschen, um das Problem aus den Protokollen zu beobachten.
F2: Führt das TSS-Toolset zu einer zusätzlichen Auslastung des Servers?
A2: Einige Protokollierungen (z. B. Netzwerkerfassung, ETW-Ablaufverfolgungssammlung usw.), die vom TSS-Toolset gestartet werden, können das System geringfügig belasten. Die Last liegt in der Regel auf ignorierbaren Ebenen. Wenden Sie sich an Ihren Supportmitarbeiter, wenn sie nach dem Starten des TSS-Toolsets eine hohe CPU-, Arbeitsspeicher- oder Datenträgerauslastung feststellen.
F3: Warum können wir das Problem nicht reproduzieren, wenn das TSS-Toolset ausgeführt wird?
A3: Das TSS-Toolset löscht möglicherweise alle zwischengespeicherten Informationen zu Beginn. Außerdem wird die Netzwerkerfassung in einem promiskenden Modus gestartet, wodurch das Standardverhalten der Netzwerkschnittstellenkarte (Network Interface Card, NIC) geändert wird. Diese Änderungen können sich auf das Problem auswirken, und die Probleme können verschwinden. Insbesondere bei bestimmten Zeitsteuerungsproblemen verschwinden Probleme aufgrund der Datensammlung des TSS-Toolsets. Die Datensammlung beginnt mit der Protokollierung, was sich indirekt auf das Problem auswirken und die Situation ändern kann.
F4: Warum reagiert das TSS-Toolset lange nicht?
A4: In einigen Fällen reagieren die integrierten Befehle des Betriebssystems, die vom TSS-Toolset ausgeführt werden, möglicherweise nicht oder dauern lange. Wenden Sie sich an Ihren Supportmitarbeiter, wenn dieses Problem aufgetreten ist.
F5: Muss ich mich um den Speicherplatz oder etwas anderes kümmern, wenn ich das TSS-Toolset für eine lange Zeit ausführen möchte?
A5: Die gesamte TSS-Ablaufverfolgung ist für die Ausführung mit Ringpuffern konfiguriert, sodass Sie das Toolset bei Bedarf lange ausführen können. Das TSS-Toolset berechnet auch den Speicherplatz zu Beginn der Datensammlung und kann beendet werden, wenn nicht genügend Speicherplatz vorhanden ist. Wenn sie nach dem Starten des TSS-Toolsets eine hohe Datenträgerauslastung feststellen oder andere Bedenken hinsichtlich der Datenträgernutzung des Toolsets haben, wenden Sie sich an Ihren Supportmitarbeiter.
F6: Was soll ich tun, wenn beim Ausführen des SKRIPTS .\TSS.ps1 die folgende Sicherheitswarnung angezeigt wird?
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: In seltenen Fällen erhalten Sie möglicherweise diese Sicherheitswarnung. Sie können die Blockierung des Skripts mithilfe des Cmdlets
PS C:\> Unblock-File -Path C:\TSS\TSS.ps1
aufheben. Dieses Skript hebt die Blockierung aller anderen Module mithilfe des CmdletsGet-ChildItem -Recurse -Path C:\TSS\*.ps* | Unblock-File -Confirm:$false
auf.
Endbenutzer-Lizenzvertrag (EULA)
Wählen Sie unten aus, um die MICROSOFT-SOFTWARE-LIZENZBEDINGUNGEN anzuzeigen.
Microsoft-Diagnoseskripts und -Hilfsprogramme
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.
INSTALLATION AND USE RIGHTS. Vorbehaltlich der in dieser Lizenz dargelegten Bedingungen und Einschränkungen gewährt Ihnen die Microsoft Corporation ("Microsoft") eine nicht exklusive, nicht abtretbare, vollständig bezahlte Lizenz, um das unter dieser Lizenz bereitgestellte Skript oder Hilfsprogramm (die "Software") ausschließlich für interne Geschäftszwecke des Kunden zu verwenden und zu reproduzieren, um Microsoft bei der Behandlung von Problemen mit einem oder mehreren Microsoft-Produkten zu unterstützen. vorausgesetzt, dass eine solche Lizenz für die Software keine Rechte an anderen Microsoft-Technologien (z. B. Produkten oder Diensten) umfasst. "Verwenden" bedeutet, die Software zu kopieren, zu installieren, auszuführen, darauf zuzugreifen, anzuzeigen, auszuführen oder anderweitig mit der Software zu interagieren.
Sie sind nicht berechtigt, die Software oder ihre Verwendung durch Verteilung, Netzwerkzugriff oder anderweitig unterlizenzieren. Microsoft behält sich alle anderen Rechte vor, die hierin nicht ausdrücklich gewährt werden, sei es implizit, estoppel oder anderweitig. Sie dürfen die Software nicht zurückentwickeln, dekompilieren oder disassemblieren oder auf andere Weise versuchen, den Quellcode für die Software abzuleiten, es sei denn, die Lizenzbedingungen von Drittanbietern, die die Verwendung bestimmter Open Source Komponenten regeln, die in der Software enthalten sind, oder Entfernen, Minimieren, Blockieren oder Ändern von Hinweisen von Microsoft oder seinen Lieferanten in der Software. Weder Sie noch Ihre Vertreter dürfen die hier bereitgestellte Software verwenden: (i) in einer Weise, die durch Gesetz, Verordnung, behördliche Anordnung oder Dekret verboten ist; (ii) die Rechte anderer zu verletzen; (iii) zu versuchen, nicht autorisierten Zugriff auf Dienste, Geräte, Daten, Konten oder Netzwerke zu erlangen oder diese zu stören; (iv) zur Verbreitung von Spam oder Schadsoftware; (v) in einer Weise, die die IT-Systeme von Microsoft beschädigen oder die Nutzung durch andere beeinträchtigen könnte; (vi) in jeder Anwendung oder Situation, in der die Nutzung der Software zum Tod oder einer schweren Körperverletzung einer Person oder zu Körperlichen oder Umweltschäden führen könnte; oder (vii) um jemanden zu unterstützen, zu ermutigen oder zu ermöglichen, eine der oben genannten Schritte zu tun.
DATEN. Der Kunde besitzt alle Rechte an Daten, die er über die Nutzung der Software an Microsoft weitergeben kann. Weitere Informationen zur Datenerfassung und -verwendung finden Sie in der Hilfedokumentation und in den Datenschutzbestimmungen unter https://aka.ms/privacy. Ihre Nutzung der Software dient als Ihre Zustimmung zu diesen Praktiken.
FEEDBACK. Wenn Sie Microsoft Feedback zur Software geben, gewähren Sie Microsoft kostenlos das Recht, Ihr Feedback in beliebiger Weise und für jeden Zweck zu verwenden, zu teilen und zu kommerzialisieren. Sie werden kein Feedback geben, das einer Lizenz unterliegt, bei der Microsoft seine Software oder Dokumentation an Dritte lizenzieren muss, da Microsoft Ihr Feedback in diese Software oder Dokumentation einschließt.
EXPORT RESTRICTIONS. Der Kunde muss alle nationalen und internationalen Exportgesetze und -vorschriften einhalten, die für die Software gelten, einschließlich Einschränkungen für Ziele, Endbenutzer und Endverwendung. For further information on export restrictions, visit https://aka.ms/exporting.
ZUSICHERUNGEN UND GEWÄHRLEISTUNGEN. Der Kunde wird alle anwendbaren Gesetze im Rahmen dieser Vereinbarung einhalten, einschließlich der Übermittlung und Verwendung aller Daten. Der Kunde oder der Empfänger, der diesen Bedingungen im Namen einer Juristischen Person zustimmt, stellt dar und garantiert, dass es (i) über die volle Befugnis und Befugnis verfügt, seine Verpflichtungen gemäß dieser Vereinbarung einzugehen und zu erfüllen, (ii) über die volle Befugnis und Autorität verfügt, seine verbundenen Unternehmen oder organization an die Bedingungen dieser Vereinbarung zu binden, und (iii) die Erlaubnis der anderen Partei vor der Bereitstellung von Quellcode in einer Weise zu sichern, die den geistiges Eigentum einer anderen Partei an anderen Lizenzbedingungen oder verlangen von der anderen Partei, Quellcode an eine ihrer Technologien zu verteilen.
AUSSCHLUSS DER GARANTIE. DIE SOFTWARE WIRD OHNE JEGLICHE AUSDRÜCKLICHE ODER KONKLUDENTE GEWÄHRLEISTUNG BEREITGESTELLT, EINSCHLIEßLICH, ABER NICHT BESCHRÄNKT AUF DIE GEWÄHRLEISTUNGEN DER HANDELSÜBLICHKEIT, EIGNUNG FÜR EINEN BESTIMMTEN ZWECK UND NICHTVERLETZUNG. IN KEINEM FALL HAFTEN MICROSOFT ODER SEINE LIZENZGEBER FÜR DIREKTE, INDIREKTE, ZUFÄLLIGE, BESONDERE, BEISPIELHAFTE ODER FOLGESCHÄDEN (EINSCHLIEßLICH, ABER NICHT BESCHRÄNKT AUF DIE BESCHAFFUNG VON ERSATZGÜTERN ODER DIENSTLEISTUNGEN; VERLUST VON NUTZUNG, DATEN ODER GEWINN; ODER GESCHÄFTSUNTERBRECHUNG) JEDOCH VERURSACHT UND AUF JEDE THEORIE DER HAFTUNG, SEI ES AUS VERTRAG, STRENGER HAFTUNG, ODER UNERLAUBTER HANDLUNG (EINSCHLIEßLICH FAHRLÄSSIGKEIT ODER ANDERWEITIG), DIE IN IRGENDEINER WEISE AUS DER NUTZUNG DER SOFTWARE ENTSTEHT, AUCH WENN AUF DIE MÖGLICHKEIT SOLCHER SCHÄDEN HINGEWIESEN WIRD.
VERJÄHRUNG UND AUSSCHLUSS VON SCHÄDEN. WENN SIE TROTZ DES VORSTEHENDEN GARANTIEAUSSCHLUSSES EINE GRUNDLAGE FÜR DIE ERSTATTUNG VON SCHÄDEN HABEN, KÖNNEN SIE VON MICROSOFT UND SEINEN LIEFERANTEN NUR DIREKTE SCHÄDEN BIS ZU DEN USA ZURÜCKERHALTEN. 00. SIE KÖNNEN KEINE ANDEREN SCHÄDEN, EINSCHLIEßLICH FOLGESCHÄDEN, ENTGANGENER GEWINNE, SPEZIELLER, INDIREKTER ODER ZUFÄLLIGER SCHÄDEN, ZURÜCKERLANGEN. Diese Einschränkung gilt für (i) alles im Zusammenhang mit der Software, Diensten, Inhalten (einschließlich Code) auf Websites von Drittanbietern oder Anwendungen von Drittanbietern; und (ii) Ansprüche wegen Vertragsverletzung, Gewährleistung, Garantie oder Bedingung; strenge Haftung, Fahrlässigkeit oder andere unerlaubte Handlung; oder einen anderen Anspruch; in jedem Fall, soweit dies nach geltendem Recht zulässig ist. 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.
BINDING ARBITRATION AND CLASS ACTION WAIVER. Dieser Abschnitt gilt, wenn Sie in der USA wohnen (oder, wenn sich ein Unternehmen befindet, Ihr Hauptgeschäftssort ist). 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.
RECHT UND GERICHTSSTAND. 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).
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.