Inleiding tot de hulpprogrammaset TroubleShootingScript (TSS)

In dit artikel wordt de hulpprogrammaset TroubleShootingScript (TSS) geïntroduceerd en wordt antwoord geboden op veelgestelde vragen.

Van toepassing op: Ondersteunde versies van Windows Server en Windows Client

De TSS-hulpprogrammaset bevat hulpprogramma's op basis van PowerShell en een framework voor gegevensverzameling en diagnostische gegevens. De toolset is bedoeld om het verzamelen van gegevens te vereenvoudigen en zaken efficiënt en veilig op te lossen.

De hulpprogrammaset bevat verschillende PowerShell-scripts en uitvoerbare bestanden, die allemaal zijn ondertekend door Microsoft. Op basis van de geselecteerde schakelopties gebruikt TSS een of meer scripts en uitvoerbare bestanden om de gewenste logboeken te verzamelen.

U kunt de hulpprogrammaset downloaden als een zip-bestand (TSS.zip) van https://aka.ms/getTSS.

Voorwaarden

Hier volgen enkele vereisten voor een goede uitvoering van de hulpprogrammaset:

  • De TSS-hulpprogrammaset moet worden uitgevoerd in een PowerShell-venster met verhoogde bevoegdheden voor accounts met beheerdersbevoegdheden op het lokale systeem. Het uitvoeren van de TSS-hulpprogrammaset in de Windows PowerShell Integrated Scripting Environment (ISE) wordt niet ondersteund. De gebruiksrechtovereenkomst (EULA) moet worden geaccepteerd. Zodra de gebruiksrechtovereenkomst is geaccepteerd, wordt de TSS-hulpprogrammaset niet opnieuw om de gebruiksrechtovereenkomst gevraagd.

  • Het uitvoeringsbeleid voor PowerShell-scripts moet worden ingesteld op op procesniveau door de cmdlet Set-ExecutionPolicy -scope Process -ExecutionPolicy RemoteSigned -Force uit te RemoteSigned voeren vanaf een PowerShell-opdrachtprompt met verhoogde bevoegdheid.

    Opmerking

    De wijzigingen op procesniveau zijn alleen van invloed op de huidige PowerShell-sessie.

De TSS-toolset starten

Afhankelijk van het scenario kunt u TSS.ps1 met verschillende switches. Het -Start werkwoord is het standaard- en optionele werkwoord en kan indien nodig worden vervangen door een aanvullend werkwoord. De aanvullende -Start werkwoorden zijn -StartAutoLogger, -StartDiag, -StartNoWaiten -CollectLog.

Werkwoord Beschrijving
-Start Met -Start het werkwoord worden etw-onderdeeltraceringen (Event Tracing for Windows) gestart of worden ondersteuningshulpprogramma's zoals Windows Performance Recorder (WPR) gestart.

Het [-Start] werkwoord is optioneel, maar kan worden vervangen door aanvullende -start opties.
-StartAutoLogger Als u deze logboeken tijdens het opstarten wilt verzamelen, gebruikt u -StartAutoLogger om te vervangen -Start.

Gebruik deze in combinatie met de .\TSS.ps1 -Stop cmdlet om de traceringen te stoppen zodra het probleem is gereproduceerd.
-StartDiag Hoewel deze switch in het heden niet veel wordt gebruikt, is deze bedoeld om in de toekomst in meerdere scenario's te worden gebruikt. Vanaf vandaag kan deze worden gecombineerd met andere argumenten, zoals NET_DFSn om diagnostische gegevens van de DFSN-naamruimte op te halen.
-StartNoWait Met deze parameter kunnen de traceringen actief blijven, zelfs wanneer u zich afmeldt.

Gebruik deze in combinatie met de .\TSS.ps1 -Stop cmdlet om de traceringen te stoppen zodra het probleem is gereproduceerd.
-CollectLog Deze parameter wordt vaak gebruikt in combinatie met het argument DND_SetupReport.

Voorbeeld:
.\TSS.ps1 -Collectlog DND_SetupReport

Logboeken met betrekking tot de traceringen worden ook automatisch verzameld wanneer u het verzamelen van gegevens stopt.

Syntaxis voor het gebruik van TSS-hulpprogramma's

Parameter Beschrijving
<placeholder> De tekenreeks tussen haakjes (<>) voor tijdelijke aanduidingen moet worden vervangen door een werkelijke scenarionaam, traceringsonderdeel, opdracht of waarde.
[optional] Het trefwoord of de waarde tussen vierkante haken ([ ]) is optioneel. Betekent bijvoorbeeld [module:int] dat de module en het interval optioneel zijn. De standaardwaarde wordt gebruikt als [<xx>:<yy>] deze wordt weggelaten.
| Deze parameter betekent 'OR'. U kunt een van de beschikbare opties kiezen.
: Het scheidingsteken tussen twee waarden.

Cmdlet-voorbeelden

PowerShell-cmdlet Beschrijving
.\TSS.ps1 -PerfMon [General:10] Deze parameter betekent PerfMon CounterSetName= General en Interval= 10 seconden. Wanneer [General:10] wordt weggelaten, wordt de standaard geactiveerd, dus -PerfMon heeft hetzelfde effect als -PerfMon General -PerfIntervalSec 10.
.\TSS.ps1 [-StopWaitTimeInSec <N>] Deze parameter betekent dat het argument -StopWaitTimeInSec optioneel is, maar als het wordt opgegeven, is een waarde voor <N> ='het aantal seconden' verplicht.

Tracering van gebeurtenissen voor Windows (ETW)

ETW-tracering PowerShell-cmdlet Beschrijving
Schakel een scenariotracering in. .\TSS.ps1 -Scenario <ScenarioName> De ondersteunde scenarionamen worden weergegeven met behulp van de TSS.ps1 -ListSupportedScenarioTrace cmdlet.
Schakel onderdeeltraceringen in. .\TSS.ps1 <-ComponentName> <-ComponentName> ... De ondersteunde <-componentName> wordt weergegeven met behulp van de TSS.ps1 -ListSupportedTrace cmdlet.
Traceringen starten met de modus no-wait. .\TSS.ps1 -StartNoWait -Scenario <ScenarioName>

.\TSS.ps1 -Stop
De prompt wordt onmiddellijk geretourneerd, zodat u zich kunt afmelden of een cmdlet zoals Shutdownkunt gebruiken.

De cmdlet .\TSS.ps1 -Stop stopt de tracering.

Opmerking

Gebruik de cmdlet om alle provider-GUID's van onderdelen en/of scenario's weer te -ListETWProviders geven. Bijvoorbeeld:

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

Ondersteuningshulpprogramma's en -opdrachten

Start ondersteuningshulpprogramma's of -opdrachten (bijvoorbeeld ProcMon, ProcDump, netsh, Performance Monitor (PerfMon), WPR of Radar) om het verzamelen van logboeken te verbeteren met extra hulpprogramma's voor gespecialiseerde opnamen.

PowerShell-cmdlet Beschrijving
-Fiddler Fiddler-trace verzamelen. Hiervoor moet Fiddler worden geïnstalleerd.

Schakel de optie voor het ontsleutelen van verkeer in door Extra>Opties te selecteren en HTTPS-verkeer ontsleutelen te selecteren op het tabblad HTTPS .
-GPresult <Start|Stop|Both> Verzamel SysInternals Handle.exe uitvoer in fase start, stop, of both.
-Handle <Start|Stop|Both> Verzamel SysInternals Handle.exe uitvoer in fase start, stop, of both.
-LiveKD <Start|Stop|Both> Start SysInternals LiveKD -ml (live kerneldump).
<Start>: de dump wordt genomen aan het begin van de repro.
<Stop>: de dump wordt genomen bij de stop.
<Both>: de dump wordt zowel bij start als stop genomen.
-Netsh
1. -NetshOptions '<Option string>'
2. -NetshMaxSizeMB <Int>
3. -noPacket
Start het vastleggen van netwerkpakketten.

1. Geef aanvullende opties op voor Netsh. Bijvoorbeeld 'capturetype=both captureMultilayer=yes provider=Microsoft-Windows-PrimaryNetworkIcon provider={<GUID>}'.
2. De maximale logboekgrootte voor Netsh in megabytes (MB) (bijvoorbeeld -NetshMaxSizeMB 4096). De standaardwaarde is 2048.
3. Voorkomen dat pakketten worden vastgelegd met Netsh (alleen ETW-traceringen in de ScenarioName worden vastgelegd).
-NetshScenario
1. -NetshOptions '<Option string>'
2. -NetshMaxSizeMB <Int>
3. -noPacket
Start de Netsh scenariotracering. De ondersteunde <ScenarioName> wordt weergegeven met behulp van de -ListSupportedNetshScenario cmdlet.

1. Geef aanvullende opties op voor Netsh. Bijvoorbeeld 'capturetype=both captureMultilayer=yes provider=Microsoft-Windows-PrimaryNetworkIcon provider={<GUID>}'.
2. De maximale logboekgrootte voor Netsh in MB (bijvoorbeeld -NetshMaxSizeMB 4096). De standaardwaarde is 2048.
3. Voorkomen dat pakketten worden vastgelegd met Netsh (alleen ETW-traceringen in de scenarionaam worden vastgelegd).
-PerfMon <CounterSetName> [-PerfIntervalSec N] [-PerfMonMaxMB <N>] [-PerfMonCNF <[[hh:]mm:]ss>]
1. -PerfIntervalSec <Interval in sec>
2. -PerfMonMaxMB <N>
3. -PerfMonCNF <[[hh:]mm:]ss>
Start prestatiemeterlogboeken. De <CounterSetName> kan worden weergegeven met behulp van de -ListSupportedPerfCounter cmdlet.

1. Stel het interval voor het PerfMon logboek in (de standaardwaarde is 10 seconden).
2. Geef een int-waarde op voor de maximale Perfmon logboekgrootte in MB (de standaardwaarde is 2048).
3. Maak een nieuw bestand wanneer de opgegeven tijd is verstreken of wanneer de maximale grootte van <PerfMonMaxMB> is overschreden.
-PerfMonLong <CounterSetName> [-PerfLongIntervalMin N] [-PerfMonMaxMB <N>] [-PerfMonCNF <[[hh:]mm:]ss>]
1. -PerfLongIntervalMin <Interval in min>
Prestatiemeter met een lang interval.

1. Stel het interval voor het PerfMonLong logboek in (de standaardwaarde is 10 minuten).
-PktMon Gegevens over pakketbewaking verzamelen (op Windows Server 2019, Windows 10 versie 1809 en latere versies). PktMon:Drop verzamelt alleen verwijderde pakketten.
-PoolMon <Start|Stop|Both> Verzamelen PoolMon op start, stopof both.
-ProcDump <PID[]|ProcessName.exe[]|ServiceName[]>
1. -ProcDumpOption<Start|Stop|Both>-ProcDumpInterval <N>:<Interval in sec>
2. -ProcDumpInterval <N>:<Interval in sec>
3. -ProcDumpAppCrash
Leg gebruikersdumps van één item of door komma's gescheiden lijst met items vast met behulp van SysInternals ProcDump.exe. Standaard wordt de dump genomen aan het begin van de repro en stop. Voer ProcessName(s) in met de .exe extensie.

1. Start: de dump wordt genomen aan het begin van de repro.
Stop: de dump wordt genomen bij de stop.
Both (standaard): de dump wordt zowel bij het starten als bij het stoppen genomen.
2. Gebruik deze optie wanneer de dump herhaaldelijk moet worden vastgelegd.
N: het aantal dumps
Int: het interval in seconden
De standaardwaarde is 3:10.
3. Met deze schakeloptie wordt ProcDump -ma -eeen volledige dump geschreven wanneer het proces een onverwerkte uitzondering tegenkomt.
-ProcMon
1. -ProcmonAltitude <N>
2. -ProcmonPath <folder path to Procmon.exe>
3. -ProcmonFilter <filter-file.pmc>
Start SysInternals Procmon.exe.

1. Geef een tekenreekswaarde op voor ProcmonAltitude (de standaardwaarde is 385200). Gebruik fltmc instances om de hoogte van het filterstuurprogramma weer te geven. Gebruik een lager getal dan het vermoedelijke specifieke stuurprogramma. Met waarde 45100 ziet u vrijwel alles.
2. Geef een pad op naar Procmon.exe (standaard gebruikt TSS de ingebouwde Procmon).
3. Geef een configuratiebestand op voor Procmon (bijvoorbeeld ProcmonConfiguration.pmc) dat zich in de map \config bevindt.
-PSR Start De stappenrecorder voor problemen.
-Radar <PID[]|ProcessName[]|ServiceName[]> Verzamel de diagnostische gegevens van het lek (rdrleakdiag.exe).

Bijvoorbeeld -Radar AppIDSvc.
-RASdiag Tracering verzamelen. De Netsh tracering van rasdiagnoseset is ingeschakeld.
-SDP <SpecialityName[]>
1. -SkipSDPList "<xxx>","<yyy>"
2. <SpecialityName>
Verzamel SDP (Support Diagnostic Package) voor de opgegeven specialiteit. Gebruik de .\tss -help cmdlet voor de volledige lijst van SpecialityNames enSkipSDPList.

Sla de door komma's gescheiden lijst met SDP-modulenamen over die in uw omgeving hangen tijdens het uitvoeren van het SDP-rapport.
-SysMon SysInternals System Monitor-logboeken (SysMon) verzamelen ( standaardsysmonConfig.xml in de configuratiemap).
-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>'
Start Time Travel Debugging (TTD) (TTT/iDNA) met de standaardmodus -Full . Voer de ProcessName(s) in met de .exe extensie, één item (PID/naam) of een door komma's gescheiden lijst met items.

Opmerking:
Lager besturingssysteem voordat Windows 10, versie 1703 vereist het TSS_TTD.zip-pakket.

1. Geef het mappad op dat tttracer.exe (PartnerTTD) bevat. Normaal gesproken is deze schakeloptie alleen nodig als u een specifiek pad wilt forceren.
2. Full = -dumpfull (=default)
Ring = ringbuffermodus
onLaunch = -onLaunch (vereist TSS_TTD)
3. De maximale grootte van het logboekbestand. De bewerking is afhankelijk -TTDModevan . Full stopt wanneer de maximale grootte is bereikt en Ring behoudt de maximale grootte in de ringbuffer.
4. Gebruik deze optie om extra opties voor TTD (TTT/iDNA) toe te voegen.
-Video Video-opname starten (vereist dat .NET 3.5 is geïnstalleerd).
-WFPdiag Verzamel traceringen met de netsh Wfp capture opdracht.
-WireShark Start WireShark. De volgende parameters kunnen worden geconfigureerd via het bestand tss_config.cfg .

1. WS_IF: gebruikt voor -i. Geef het interfacenummer op (bijvoorbeeld _WS_IF=1).
2. WS_Filter: gebruikt voor -f. Filter op de interface (bijvoorbeeld _WS_Filter="port 443").
3. WS_Snaplen: gebruikt voor -s. Beperk de hoeveelheid gegevens voor elk frame. Deze parameter heeft betere prestaties en is nuttig voor situaties met een hoge belasting (bijvoorbeeld _WS_Snaplen=128).
4. WS_TraceBufferSizeInMB: gebruikt voor -b FileSize (vermenigvuldigd met 1024). Schakel over naar het volgende bestand na het aantal megabytes. (bijvoorbeeld _WS_TraceBufferSizeInMB=512, default=512 MB)
5. WS_PurgeNrFilesToKeep: gebruikt voor -b files. Vervang na het aantal bestanden. (bijvoorbeeld _WS_PurgeNrFilesToKeep=20)
6. WS_Options: eventuele andere opties voor -i (bijvoorbeeld _WS_Options="-P").

Voorbeeld:
Als u WireShark wilt verzamelen op interfaces 15 en 11, voert u in wanneer TSS om een interfacenummer vraagt: 15 -i 11.

Wireshark wordt standaard gestart 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>'
Start een WPR-profieltracering. <WPRprofile>is een van GeneralVSOD_Leak|CPUVSOD_CPU|||DeviceSQL||XamlWait||Graphic|Storage|RegistryNetworkMemory||BootGeneral|.

1. Het genereren van symboolbestanden (PDB-bestanden) overslaan.
2. Geef opties op voor WPR.exe. Bijvoorbeeld -WPROptions '-onoffproblemdescription "test description"'.

Voorbeeld 1:
.\TSS.ps1 -StartAutoLogger -WPR BootGeneral -WPROptions '-addboot CPU' legt WPR-opstarttraceringen vast met de General profielen en CPU .

Voorbeeld 2:
.\TSS.ps1 -WPR General -WPROptions '-Start CPU -start Network -start Minifilter' combineert profielen (General, CPU, Networken Minifilter).
-Xperf <Profile>
1. -XperfMaxFileMB <Size>
2. -XperfTag <Pool Tag>
3. -XperfPIDs <PID>
4. -XperfOptions <Option string>
Start Xperf. <Profile>is een van GeneralSBSLboot||DiskRegistry||SBSLPoolNPP||SMB2|Pool|NetworkMemoryLeak||CPU|.

1. Geef de maximale logboekgrootte op in MB (de standaardwaarde is 2048 MB). De standaardwaarde voor SBSL*-scenario's is 16384 (hetzelfde voor ADS_/NET_SBSL).
2. Geef op dat PoolTag u wilt worden geregistreerd. Deze parameter wordt gebruikt met het Pool profiel of PoolNPP (bijvoorbeeld -Xperf Pool -XperfTag TcpE+AleE+AfdE+AfdX).
3. Geef op ProcessID. Deze parameter wordt gebruikt met het Leak profiel (bijvoorbeeld -Xperf Leak -XperfPIDs <PID>).
4. Geef andere optietekenreeksen op voor Xperf.
-xray Start xray om een systeem te diagnosticeren op bekende problemen.

In het volgende voorbeeld ziet u hoe u meerdere ondersteuningshulpprogramma's (opdrachten) activeert tijdens dezelfde tracering.

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

Parameters in TSS-opties

Definieert specifieke parameters binnen de TSS-opties voor het beheren, verbeteren of vereenvoudigen van gegevensverzameling.

Parameter Beschrijving
-AcceptEula Vraag het niet in eerste instantie; uitvoeren om de vrijwaring te accepteren (handig voor de -RemoteRun uitvoering).
-AddDescription <description> Voeg een korte beschrijving toe van het probleem met de repro. De naam van het resulterende zip-bestand bevat een dergelijke beschrijving.
-Assist Toegankelijkheidsmodus.
-BasicLog Verzamel het volledige basislogboek (het mini-basislogboek wordt standaard altijd verzameld).
-CollectComponentLog Gebruik met -Scenario. Standaard worden functies voor het verzamelen van onderdelen niet aangeroepen in de -Scenario tracering. Met deze schakeloptie kunnen de onderdelen voor het verzamelen van functies worden aangeroepen.
-CollectDump Verzamel systeemdump (memory.dmp) na het stoppen van alle traceringen. -CollectDump kan worden gebruikt met -Start en -Stop.
-CollectEventLog <Eventlog[]> Opgegeven gebeurtenislogboeken verzamelen. Het jokerteken sterretje (*) kan worden gebruikt voor de naam van het gebeurtenislogboek.

Voorbeeld:
-CollectEventLog Security,*Cred*
Verzamel beveiliging en alle gebeurtenislogboeken die overeenkomen *Cred* , zoals 'Microsoft-Windows-CertificateServicesClient-CredentialRoaming/Operational'.
-CommonTask <<POD>|Full|Mini> Voer algemene taken uit voordat u begint en na het stoppen van de tracering.

<POD>: momenteel is alleen 'NET' beschikbaar. Verzamel aanvullende informatie voordat u begint en na het stoppen van de tracering.
Full: het volledige basislogboek wordt verzameld nadat de tracering is gestopt.
Mini: het mini-basislogboek wordt verzameld na het stoppen van de tracering.
-Crash Activeer een systeemcrash met NotMyFault bij het stoppen van repro, of nadat alle gebeurtenissen zijn gesignaleerd als deze worden gebruikt met -WaitEvent.

Voorzichtigheid:
Deze schakeloptie forceert een geheugendump (het systeem wordt opnieuw opgestart), zodat geopende bestanden niet worden opgeslagen.
-CustomETL Aangepaste ETL-traceringsproviders toevoegen. Bijvoorbeeld .\TSS.ps1 -WIN_CustomETL -CustomETL '{<GUID>}','Microsoft-Windows-PrimaryNetworkIcon' (een door komma's gescheiden lijst met één aanhalingsteken '{GUID}' en/of 'Provider-Name').
-DebugMode Uitvoeren met de foutopsporingsmodus voor een ontwikkelaar.
-VerboseMode Uitgebreidere of informatieve uitvoer weergeven tijdens het verwerken van TSS-functies.
-Discard Wordt gebruikt om een gegevensset in fase -Stopte verwijderen. *Stop- of *Collect- functies worden niet uitgevoerd. xray en psSDP wordt overgeslagen.
-EnableCOMDebug Module om com-foutopsporingsmodus in te schakelen.
-ETLOptions<circular|newfile>:<ETLMaxSizeMB>:<ETLNumberToKeep>:<ETLFileMax> Opties instellen die zijn doorgegeven aan logman opdrachten. De standaardwaarde voor circular ETLMaxSizeMB is 1024 en de standaardwaarde voor newfile ETLMaxSizeMB is 512.

-StartAutologger ondersteunt -ETLOptions circular:<ETLMaxSize>:<ETLNumberToKeep>:<ETLFileMax>alleen , maar ETLNumberToKeep wordt niet naar verwachting uitgevoerd.

Voorbeeld.1:
-ETLOptions newfile:2048:5

Logboeken uitvoeren newfile met een grootte van 2048 MB. Alleen de laatste vijf *.etl bestanden behouden. De standaardinstelling voor de kringmodus is circular:1024, en voor de modus newfile is newfile:512:10.

Voorbeeld 2:
-StartAutologger -ETLOptions circular:4096
Autologger gehoorzaamt :<ETLNumberToKeep> niet en accepteert alleen de modus circulair.

Voorbeeld 3:
-StartAutologger -ETLOptions circular:4096:10:3
Autologger gehoorzaamt :<ETLNumberToKeep> niet en accepteert alleen de modus circulair en '3' als het aantal autologger generaties.
-ETWlevel <Info|Warning|Error> Gebeurtenistraceringsniveau instellen. De standaardwaarde is 0xFF.
-EvtDaysBack <N> Converteer gebeurtenislogboeken alleen voor de afgelopen N dagen. De standaardwaarde is 30 dagen. Het is ook van toepassing op het SDP-rapport.

Opmerking:
Logboeken voor beveiligingsgebeurtenissen worden overgeslagen.
-ExternalScript <path to external PS file> Voer het opgegeven PowerShell-script uit voordat u de tracering start.
-LogFolderPath <Drive:\path to log folder> Gebruik een ander pad naar de logboekmap voor de resulterende uitvoergegevens in plaats van de standaardlocatie (C:\MS_DATA). Het is handig wanneer station C: weinig vrije schijfruimte heeft.
-MaxEvents <N> Als argument voor '-WaitEvent Evt:..'onderzoekt de parameter het laatste N-aantal gebeurtenissen met dezelfde gebeurtenis-id (de standaardwaarde is 1).
-Mini Verzamel slechts minimale gegevens. Sla , noSDP, noVideonoXray, noZip, en noBasicLogovernoPSR.
-Mode <Basic|Medium|Advanced|Full|Verbose|VerboseEx|Hang|Restart
|Swarm|Kube|GetFarmdata|Permission|traceMS>
Voer scripts uit in Basicde Mediummodus , Advanced, Full, of Verbose(Ex) voor het verzamelen van gegevens. Restart start de bijbehorende service opnieuw.
-RemoteRun Gebruik TSS wanneer TSS wordt uitgevoerd op een externe host, bijvoorbeeld via PsExec, in de Seriële Console van Azure of met externe toegang van PowerShell. Deze parameter remt PSR, video-opname, het starten van TssClock en het openen van Explorer met definitieve resultaten. In een dergelijk geval kunt u ook overwegen -AcceptEula.
-StartNoWait Wacht niet en de prompt wordt onmiddellijk geretourneerd. Deze parameter is handig voor het scenario waarin een gebruiker zich moet afmelden.
-WaitEvent Controleren op de opgegeven gebeurtenis of stop-trigger; als deze wordt gesignaleerd, worden traceringen automatisch gestopt.

Er is een groot aantal opties om een automatische stop te activeren. Voer uit .\TSS.ps1 -Find Monitoring om het gebruik te bekijken.
-Update
1. -UpdMode<Online|Lite>
Werk het TSS-pakket bij. Deze kan samen met -UpdMode Online|Liteworden gebruikt.

Online is de standaardwaarde en Lite is de Upd Lite-versie.
-Help
1. Common
2. ALL
3. Monitoring
4. Config
5. Keyword
Geef Help-berichten over verschillende scenario's.

1. Algemeen helpbericht.
2. Alle beschikbare opties.
3. Help-berichten weergeven voor bewaking en externe functies.
4. Hulp bij alle configuratieparameters.
5. U kunt elk trefwoord invoeren en de Help-informatie over dat trefwoord wordt weergegeven.
-Status De status van de actieve tracering weergeven, indien aanwezig.

Inclusief helperscripts en hulpprogramma's

Helperscript en hulpprogramma Beschrijving
\scripts\tss_EventCreate.ps1 Maak een gebeurtenislogboekvermelding in gebeurtenislogboekbestanden met gebeurtenis-id's.
\scripts\tss_SMB_Fix-SmbBindings.ps1 Handig voor het herstellen van beschadigde SMB-bindingen (LanmanServer, LanmanWorkstation of NetBT). Zie ook -Collect NET_SMBsrvBinding.
\BINx64\kdbgctrl.exe Gebruik de switch -sd <dump type> om het type Full|Kernelkernelcrashdump in te stellen, kdbgctrl -sd Fullbijvoorbeeld .
\BINx64\NTttcp.exe Prestatietests. Zie Vm-netwerkdoorvoer testen met behulp van NTTTCP voor meer informatie.
\BINx64\latte.exe Latentietests. Zie Netwerklatentie tussen Azure-VM's testen voor meer informatie.
\BINx64\notmyfaultc.exe Een geheugendump forceren. Zie NotMyFault v4.21 als de TSS-opdrachtregel bevat -Crash.

Onverwachte PowerShell-fouten oplossen

  1. Voer deze cmdlet uit na een fout:

    .\TSS.ps1 -Stop -noBasiclog -noXray
    
  2. Sluit het geopende PowerShell-venster met verhoogde bevoegdheid en start een nieuw PowerShell-venster met verhoogde bevoegdheid.

  3. Toestaan dat PowerShell-scripts op uw systeem worden uitgevoerd met de juiste ExecutionPolicy.

  4. Als er een fout optreedt die aangeeft dat het actieve script is uitgeschakeld, probeert u de volgende methoden.

Methode 1

  1. Voer de volgende cmdlet uit:

    Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -force -Scope Process
    
  2. Controleer de instellingen met de Get-ExecutionPolicy -List cmdlet dat de uitvoering van dit script niet wordt geblokkeerd door een ExecutionPolicy hogere prioriteit.

  3. Voer de .\TSS.ps1 <Desired Parameters> cmdlet opnieuw uit.

Methode 2 (alternatief)

Als scripts worden geblokkeerd door MachinePolicy, voert u de volgende cmdlets uit in een PowerShell-venster met verhoogde bevoegdheid:

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

Methode 3 (alternatief)

Als scripts worden geblokkeerd door UserPolicy, voert u de volgende cmdlets uit in een PowerShell-venster met verhoogde bevoegdheid:

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

Opmerking

Methode 2 is alleen een tijdelijke oplossing voor het beleid MachinePolicy - RemoteSigned. Als u ook zietUserPolicy - RemoteSigned, vraagt u de domeinbeheerder om een tijdelijke uitzondering voor groepsbeleid Object (GPO).

In zeldzame gevallen kunt u de -ExecutionPolicy Bypass cmdlet proberen.

Als uw organisatie de beperkte taalmodus van PowerShell voor groepsbeleidsobjecten () dwingt,System.Management.Automation.EngineIntrinsics.SessionState.LanguageMode -ne 'FullLanguage' vraagt u de domeinbeheerder om een tijdelijke GPO-uitzondering.

Veelgestelde vragen (veelgestelde vragen)

  • V1: Wijzigt het TSS-script de installatie of configuratie van mijn systeem?

    A1: Nee, maar er is een registerinstelling vereist voor het inschakelen van logboekregistratie voor foutopsporing in sommige scenario's. Het script stelt de benodigde sleutel in aan het begin van de gegevensverzameling en zet de sleutel terug naar de standaardwaarde aan het einde van de gegevensverzameling. Het kan ook enkele caches (bijvoorbeeld de ARP-cache of de naamomzettingscache) aan het begin van de gegevensverzameling verwijderen om het probleem uit de logboeken te bekijken.

  • V2: Wordt de server extra belast met de TSS-toolset?

    A2: Sommige logboekregistraties (bijvoorbeeld netwerkopname, ETW-traceringsverzameling, enzovoort) die door de TSS-hulpprogrammaset worden gestart, kunnen een kleine belasting van het systeem met zich mee brengen. De belasting bevindt zich meestal op een onbekend niveau. Neem contact op met uw ondersteuningsmedewerker wanneer u een hoog CPU-, geheugen- of schijfgebruik ziet nadat u de TSS-hulpprogrammaset hebt gestart.

  • V3: Waarom kunnen we het probleem niet reproduceren wanneer de TSS-toolset wordt uitgevoerd?

    A3: Met de TSS-toolset kunnen alle gegevens in de cache aan het begin worden verwijderd. Het start ook het vastleggen van het netwerk in een promiscue modus, waardoor het standaardgedrag van de NIC (Network Interface Card) wordt gewijzigd. Deze wijzigingen kunnen van invloed zijn op het probleem en de problemen kunnen verdwijnen. Vooral voor specifieke timingproblemen verdwijnen problemen vanwege de gegevensverzameling van de TSS-toolset. De gegevensverzameling begint met logboekregistratie, wat indirect van invloed kan zijn op het probleem en de situatie kan veranderen.

  • V4: Waarom reageert de TSS-toolset lang niet?

    A4: In sommige gevallen reageren de ingebouwde opdrachten van het besturingssysteem die worden uitgevoerd door de TSS-toolset mogelijk niet of duurt het lang om te voltooien. Neem contact op met uw ondersteuningsmedewerker als u dit probleem ondervindt.

  • V5: Moet ik me zorgen maken over schijfruimte of iets anders wanneer ik de TSS-hulpprogrammaset lange tijd uitvoer?

    A5: Alle TSS-tracering is geconfigureerd om te worden uitgevoerd met ringbuffers, zodat u de toolset indien nodig lang kunt uitvoeren. De TSS-hulpprogrammaset berekent ook de schijfruimte aan het begin van de gegevensverzameling en kan worden afgesloten als er onvoldoende schijfruimte is. Als u een hoog schijfgebruik ziet na het starten van de TSS-toolset of als u andere zorgen hebt over het schijfgebruik van de hulpprogrammaset, neemt u contact op met uw ondersteuningsmedewerker.

  • V6: Wat moet ik doen als ik de volgende beveiligingswaarschuwing ontvang bij het uitvoeren van het .\TSS.ps1-script ?

    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 zeldzame situaties kan deze beveiligingswaarschuwing worden weergegeven. U kunt het script deblokkeren met behulp van de cmdlet PS C:\> Unblock-File -Path C:\TSS\TSS.ps1. Met dit script worden alle andere modules gedeblokkeerd met behulp van de cmdlet Get-ChildItem -Recurse -Path C:\TSS\*.ps* | Unblock-File -Confirm:$false.

Gebruiksrechtovereenkomst (EULA)

Selecteer hieronder om DE LICENTIEVOORWAARDEN VOOR MICROSOFT-SOFTWARE weer te geven.

Diagnostische scripts en hulpprogramma's van 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. Met inachtneming van de voorwaarden en beperkingen die in deze licentie zijn uiteengezet, verleent Microsoft Corporation ('Microsoft') u ('Klant' of 'u') een niet-exclusieve, niet-toewijsbare, volledig betaalde licentie voor het gebruik en de reproductie van het script of hulpprogramma dat onder deze licentie wordt geleverd (de 'Software'), uitsluitend voor interne zakelijke doeleinden van de klant, om Microsoft te helpen problemen met een of meer Microsoft-producten op te lossen, op voorwaarde dat een dergelijke licentie voor de Software geen rechten op andere Microsoft-technologieën (zoals producten of services) bevat. 'Gebruiken' betekent dat u de Software kopieert, installeert, uitvoert, opent, weergeeft, uitvoert of anderszins communiceert met de Software.

    U mag de Software of enig gebruik ervan niet in sublicentie geven via distributie, netwerktoegang of anderszins. Microsoft behoudt zich alle andere rechten voor die niet uitdrukkelijk hierin worden verleend, hetzij door implicatie, estoppel of anderszins. U mag de Software niet reverse-engineeren, decompileren of demonteren, of anderszins proberen de broncode voor de Software af te leiden, behalve en voor zover vereist door licentievoorwaarden van derden voor het gebruik van bepaalde open source onderdelen die in de Software kunnen worden opgenomen, of kennisgevingen van Microsoft of haar leveranciers in de Software verwijderen, minimaliseren, blokkeren of wijzigen. Noch u, noch uw vertegenwoordigers mogen de hieronder geleverde Software gebruiken: (i) op een manier die is verboden door wet, regelgeving, overheidsbevel of decreet; ii) de rechten van anderen te schenden; (iii) om te proberen onbevoegde toegang te krijgen tot of een service, apparaat, gegevens, account of netwerk te verstoren; (iv) om spam of malware te distribueren; (v) op een manier die de IT-systemen van Microsoft kan schaden of het gebruik ervan door anderen kan belemmeren; (vi) in elke toepassing of situatie waarin het gebruik van de Software kan leiden tot de dood of ernstig lichamelijk letsel van een persoon, of tot fysieke of milieuschade; of (vii) om iemand te helpen, aan te moedigen of in staat te stellen een van de bovenstaande handelingen uit te voeren.

  2. GEGEVENS. De klant is eigenaar van alle rechten op gegevens die hij met Microsoft kan delen door gebruik te maken van de Software. Meer informatie over het verzamelen en gebruiken van gegevens vindt u in de Help-documentatie en de privacyverklaring op https://aka.ms/privacy. Uw gebruik van de Software geldt als uw toestemming voor deze praktijken.

  3. FEEDBACK. Als u microsoft feedback geeft over de Software, verleent u Microsoft, zonder kosten, het recht om uw feedback op welke manier en voor welk doel dan ook te gebruiken, te delen en te commercialiseren. U zult geen feedback geven die onderhevig is aan een licentie die vereist dat Microsoft haar software of documentatie in licentie geeft aan derden vanwege Microsoft, inclusief uw feedback in dergelijke software of documentatie.

  4. EXPORT RESTRICTIONS. De klant moet voldoen aan alle nationale en internationale exportwetten en -voorschriften die van toepassing zijn op de Software, waaronder beperkingen op bestemmingen, eindgebruikers en eindgebruik. For further information on export restrictions, visit https://aka.ms/exporting.

  5. VERKLARINGEN EN GARANTIES. De klant zal zich houden aan alle toepasselijke wetten onder deze overeenkomst, met inbegrip van de levering en het gebruik van alle gegevens. De klant of een aangewezen persoon die namens een entiteit akkoord gaat met deze voorwaarden verklaart en garandeert dat deze (i) de volledige macht en bevoegdheid heeft om zijn verplichtingen uit hoofde van deze overeenkomst aan te gaan en na te komen, (ii) volledig bevoegd en bevoegd is om zijn gelieerde ondernemingen of organisatie te binden aan de voorwaarden van deze overeenkomst, en (iii) de toestemming van de andere partij zal krijgen voordat een broncode wordt verstrekt op een manier die onderworpen zou zijn aan de voorwaarden van deze overeenkomst. de intellectuele eigendom van de andere partij voor eventuele andere licentievoorwaarden of vereisen dat de andere partij broncode distribueert naar een van haar technologieën.

  6. VRIJWARING VAN GARANTIE. DE SOFTWARE WORDT GELEVERD "AS IS", ZONDER ENIGE GARANTIE, UITDRUKKELIJK OF IMPLICIET, MET INBEGRIP VAN MAAR NIET BEPERKT TOT GARANTIES VAN VERKOOPBAARHEID, GESCHIKTHEID VOOR EEN BEPAALD DOEL EN NIET-INBREUKMAKENDHEID. IN GEEN GEVAL ZIJN MICROSOFT OF HAAR LICENTIEGEVERS AANSPRAKELIJK VOOR ENIGE DIRECTE, INDIRECTE, INCIDENTELE, SPECIALE, EXEMPLARISCHE OF GEVOLGSCHADE (INCLUSIEF, MAAR NIET BEPERKT TOT, DE AANSCHAF VAN VERVANGENDE GOEDEREN OF SERVICES; VERLIES VAN GEBRUIK, GEGEVENS OF WINST; OF BEDRIJFSONDERBREKING), HOE DAN OOK VEROORZAAKT EN OP GROND VAN ENIGE AANSPRAKELIJKHEIDSTHEORIE, HETZIJ CONTRACT, RISICOAANSPRAKELIJKHEID OF ONRECHTMATIGE DAAD (MET INBEGRIP VAN NALATIGHEID OF ANDERSZINS) DIE OP ENIGERLEI WIJZE VOORTVLOEIT UIT HET GEBRUIK VAN DE SOFTWARE, ZELFS INDIEN OP DE HOOGTE GESTELD VAN DE MOGELIJKHEID VAN DERGELIJKE SCHADE.

  7. BEPERKING EN UITSLUITING VAN SCHADE. ALS U ENIGE BASIS HEBT VOOR HET VERHALEN VAN SCHADE ONDANKS DE VOORGAANDE VRIJWARING VAN GARANTIE, KUNT U BIJ MICROSOFT EN HAAR LEVERANCIERS ALLEEN DIRECTE SCHADE VERHALEN TOT IN DE VS . 00. U KUNT GEEN ANDERE SCHADE VERHALEN, WAARONDER GEVOLGSCHADE, WINSTDERVING, SPECIALE, INDIRECTE OF INCIDENTELE SCHADE. Deze beperking is van toepassing op (i) alles met betrekking tot de Software, services, inhoud (inclusief code) op internetsites van derden of toepassingen van derden; en (ii) vorderingen wegens schending van contract, garantie, garantie of voorwaarde; aansprakelijkheid, nalatigheid of andere onrechtmatige daad; of een andere claim; in elk geval voor zover is toegestaan op grond van toepasselijk recht. 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. Deze sectie is van toepassing als u woont in (of, als een bedrijf, uw hoofdvestiging zich in) de Verenigde Staten. If you and Microsoft have a dispute, you and Microsoft agree to try for 60 days to resolve it informally. Als u en Microsoft dit niet kunnen, gaan u en Microsoft akkoord met bindende individuele arbitrage voor de American Arbitration Association op grond van de Federal Arbitration Act (FAA) en niet voor een rechter of 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. WET EN LOCATIE. 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.