Introduktion till TSS (TroubleShootingScript toolset)
Den här artikeln beskriver verktygsuppsättningen Felsökningsskript (TSS) och ger svar på vanliga frågor.
Gäller för: Versioner av Windows Server och Windows Client som stöds
TSS-verktygsuppsättningen innehåller PowerShell-baserade verktyg och ett ramverk för datainsamling och diagnostik. Verktygsuppsättningen syftar till att förenkla datainsamlingen och hjälpa till att lösa ärenden effektivt och säkert.
Verktygsuppsättningen innehåller flera PowerShell-skript och körbara filer som alla är signerade av Microsoft. Baserat på de valda växlarna använder TSS ett eller flera skript och körbara filer för att samla in önskade loggar.
Du kan ladda ned verktygsuppsättningen som en zip-fil (TSS.zip) från https://aka.ms/getTSS.
Förutsättningar
Här följer några förutsättningar för att verktygsuppsättningen ska köras korrekt:
TSS-verktygsuppsättningen måste köras i ett upphöjt PowerShell-fönster av konton med administratörsbehörighet i det lokala systemet. Det går inte att köra TSS-verktygsuppsättningen i Windows PowerShell Integrated Scripting Environment (ISE). Licensavtalet för slutanvändare (EULA) måste godkännas. När serviceavtalet har godkänts kommer TSS-verktygsuppsättningen inte att fråga efter licensavtalet igen.
Körningsprincipen för PowerShell-skript ska anges till på processnivå genom att
RemoteSigned
köra cmdletenSet-ExecutionPolicy -scope Process -ExecutionPolicy RemoteSigned -Force
från en upphöjd PowerShell-kommandotolk.Kommentar
Ändringar på processnivå påverkar bara den aktuella PowerShell-sessionen.
Så här startar du TSS-verktygsuppsättningen
Du kan starta TSS.ps1 med olika växlar beroende på scenariot. Verbet -Start
är standardverb och valfritt verb och kan ersättas med ett kompletterande verb efter behov. De kompletterande -Start
verben är -StartAutoLogger
, -StartDiag
, -StartNoWait
och -CollectLog
.
Verb | Beskrivning |
---|---|
-Start |
Verbet -Start startar händelsespårning för Windows-komponentspårning (ETW) eller stödverktyg som Windows Performance Recorder (WPR).Verbet [-Start] är valfritt men kan ersättas med kompletterande -start alternativ. |
-StartAutoLogger |
Om du vill samla in loggarna vid starttiden använder du -StartAutoLogger för att ersätta -Start .Använd den i kombination med cmdleten .\TSS.ps1 -Stop för att stoppa spårningarna när problemet har återskapats. |
-StartDiag |
Även om den här växeln inte har mycket användning i nuet, är den avsedd att användas i framtiden i flera scenarier. Från och med idag kan den kombineras med andra argument som NET_DFSn att hämta diagnostik för DFSN-namnområdet. |
-StartNoWait |
Med den här parametern kan spårningarna förbli aktiva även när du loggar ut. Använd den i kombination med cmdleten .\TSS.ps1 -Stop för att stoppa spårningarna när problemet har återskapats. |
-CollectLog |
Den här parametern används ofta tillsammans med argumentet DND_SetupReport .Exempel: .\TSS.ps1 -Collectlog DND_SetupReport |
Loggar relaterade till spårningarna samlas också in automatiskt när du stoppar datainsamlingen.
Syntax för att använda TSS-verktygsuppsättning
Parameter | Description |
---|---|
<placeholder> |
Strängen inom vinkelparenteser (<>) för platshållare måste ersättas med ett faktiskt scenarionamn, spårningskomponent, kommando eller värde. |
[optional] |
Nyckelordet eller värdet inom hakparenteser ([ ]) är valfritt. Det innebär till exempel [module:int] att modulen och intervallet är valfria. Standardvärdet används om [<xx>:<yy>] det utelämnas. |
| | Den här parametern innebär 'OR' . Du kan välja något av de tillgängliga alternativen. |
: |
Avgränsarens tecken mellan två värden. |
Cmdlet-exempel
PowerShell-cmdlet | Beskrivning |
---|---|
.\TSS.ps1 -PerfMon [General:10] |
Den här parametern innebär PerfMon CounterSetName = General och Interval = 10 sekunder. När [General:10] utelämnas startar standardinställningen, så -PerfMon har samma effekt som -PerfMon General -PerfIntervalSec 10 . |
.\TSS.ps1 [-StopWaitTimeInSec <N>] |
Den här parametern innebär att argumentet -StopWaitTimeInSec är valfritt, men om det anges är ett värde för <N> ="antalet sekunder" obligatoriskt. |
Spårning av händelse för Windows (ETW)
ETW-spårning | PowerShell-cmdlet | Beskrivning |
---|---|---|
Aktivera en scenariospårning. | .\TSS.ps1 -Scenario <ScenarioName> |
De scenarionamn som stöds visas med hjälp av cmdleten TSS.ps1 -ListSupportedScenarioTrace . |
Aktivera komponentspårningar. | .\TSS.ps1 <-ComponentName> <-ComponentName> ... |
Den som stöds <-componentName> visas med hjälp av cmdleten TSS.ps1 -ListSupportedTrace . |
Starta spårningar utan vänteläge. | .\TSS.ps1 -StartNoWait -Scenario <ScenarioName> .\TSS.ps1 -Stop |
Prompten returnerar omedelbart så att du kan logga ut eller använda en cmdlet som Shutdown .Cmdleten .\TSS.ps1 -Stop stoppar spårningen. |
Kommentar
Om du vill visa en lista över alla provider-GUID:er för komponenter och/eller scenarier använder du cmdleten -ListETWProviders
. Till exempel:
.\TSS.ps1 -ListETWProviders <component-/scenario-name>
Stödverktyg och kommandon
Starta supportverktyg eller kommandon (till exempel ProcMon, ProcDump, netsh, Performance Monitor (PerfMon), WPR eller Radar) för att förbättra loggsamlingen med ytterligare verktyg för specialiserade avbildningar.
PowerShell-cmdlet | Beskrivning |
---|---|
-Fiddler |
Samla in Fiddler-spårning. Det kräver att Fiddler installeras. Aktivera alternativet för trafikdekryptering genom att välja Verktygsalternativ> och välja Dekryptera HTTPS-trafik på fliken HTTPS. |
-GPresult <Start |Stop |Both > |
Samla in GPresult utdata i fas start , stop eller both . |
-Handle <Start |Stop |Both > |
Samla in SysInternals-Handle.exe utdata i fas start , stop eller both . |
-LiveKD <Start |Stop |Both > |
Starta SysInternals LiveKD -ml (live kernel dump).<Start> : dumpen tas i början av repro.<Stop> : dumpen tas vid stopp.<Both> : dumpen tas vid både start och stopp. |
-Netsh 1. -NetshOptions '<Option string>' 2. -NetshMaxSizeMB <Int> 3. -noPacket |
Starta insamling av nätverkspaket. 1. Ange ytterligare alternativ för Netsh . Exempel: 'capturetype=both captureMultilayer=yes provider=Microsoft-Windows-PrimaryNetworkIcon provider={<GUID>}' 2. Den maximala loggstorleken för Netsh i megabyte (MB) (till exempel -NetshMaxSizeMB 4096 ). Standardvärdet är 2048.3. Förhindra att paket samlas in med Netsh (endast ETW-spårningar i ScenarioName kommer att fångas in). |
-NetshScenario 1. -NetshOptions '<Option string>' 2. -NetshMaxSizeMB <Int> 3. -noPacket |
Starta scenariospårningen Netsh . Den som stöds <ScenarioName> visas med hjälp av cmdleten -ListSupportedNetshScenario .1. Ange ytterligare alternativ för Netsh . Exempel: 'capturetype=both captureMultilayer=yes provider=Microsoft-Windows-PrimaryNetworkIcon provider={<GUID>}' 2. Den maximala loggstorleken för Netsh i MB (till exempel -NetshMaxSizeMB 4096 ). Standardvärdet är 2048.3. Förhindra att paket samlas in med Netsh (endast ETW-spårningar i scenarionamnet registreras). |
-PerfMon <CounterSetName> [-PerfIntervalSec N] [-PerfMonMaxMB <N>] [-PerfMonCNF <[[hh:]mm:]ss>] 1. -PerfIntervalSec <Interval in sec> 2. -PerfMonMaxMB <N> 3. -PerfMonCNF <[[hh:]mm:]ss> |
Starta prestandaövervakarloggar.
<CounterSetName> Kan visas med hjälp av cmdleten-ListSupportedPerfCounter .1. Ange intervallet för loggen PerfMon (standardvärdet är 10 sekunder).2. Ange ett int-värde för den maximala Perfmon loggstorleken i MB (standardvärdet är 2048).3. Skapa en ny fil när den angivna tiden har förflutit eller när maxstorleken <PerfMonMaxMB> för överskrids. |
-PerfMonLong <CounterSetName> [-PerfLongIntervalMin N] [-PerfMonMaxMB <N>] [-PerfMonCNF <[[hh:]mm:]ss>] 1. -PerfLongIntervalMin <Interval in min> |
Prestandaövervakare med ett långt intervall. 1. Ange intervallet för loggen PerfMonLong (standardvärdet är 10 minuter). |
-PktMon |
Samla in paketövervakningsdata (på Windows Server 2019, Windows 10, version 1809 och senare versioner).
PktMon:Drop samlar endast in borttagna paket. |
-PoolMon <Start |Stop |Both > |
Samla in PoolMon på start , stop eller both . |
-ProcDump <PID[] |ProcessName.exe[] |ServiceName[] >1. -ProcDumpOption <Start |Stop |Both >-ProcDumpInterval <N>:<Interval in sec> 2. -ProcDumpInterval <N>:<Interval in sec> 3. -ProcDumpAppCrash |
Samla in användardumpar av ett enskilt objekt eller kommaavgränsad lista över objekt med hjälp av SysInternals ProcDump.exe. Som standard tas dumpen i början av repro och stoppas. Ange ProcessName (s) med .exe tillägget.1. Start : dumpen tas i början av repro.Stop : dumpen tas vid stopp.Both (standard): dumpen tas vid både start och stopp.2. Använd det här alternativet när dumpen måste fångas in upprepade gånger. N : antalet dumparInt : intervallet i sekunderStandardvärdet är 3:10. 3. Den här växeln aktiverar ProcDump -ma -e , som skriver en fullständig dump när processen stöter på ett ohanterat undantag. |
-ProcMon 1. -ProcmonAltitude <N> 2. -ProcmonPath <folder path to Procmon.exe> 3. -ProcmonFilter <filter-file.pmc> |
Starta SysInternals Procmon.exe. 1. Ange ett strängvärde för ProcmonAltitude (standardvärdet är 385200). Använd fltmc instances för att visa filtrets drivrutinshöjd. Använd ett lägre tal än den misstänkta specifika drivrutinen. Värde 45100 visar praktiskt taget allt.2. Ange en sökväg till Procmon.exe (som standard använder TSS den inbyggda Procmon). 3. Ange en konfigurationsfil för Procmon (till exempel ProcmonConfiguration.pmc) som finns i mappen \config . |
-PSR |
Inspelaren Starta problemsteg. |
-Radar <PID[] |ProcessName[] |ServiceName[] > |
Samla in information om läckagediagnostik (rdrleakdiag.exe). Exempel: -Radar AppIDSvc |
-RASdiag |
Samla in spårning. Spårningen Netsh av Ras-diagnostikuppsättningen är aktiverad. |
-SDP <SpecialityName[]> 1. -SkipSDPList "<xxx>","<yyy>" 2. <SpecialityName> |
Samla in supportdiagnostikpaket (SDP) för den angivna specialiteten. För den fullständiga listan över SpecialityNames och SkipSDPList använder du cmdleten .\tss -help .Hoppa över den kommaavgränsade listan över SDP-modulnamn som hänger sig i din miljö när du kör SDP-rapporten. |
-SysMon |
Samla in SysInternals System Monitor-loggar (SysMon) (sysmonConfig.xml i mappen config som standard). |
-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>' |
Felsökning av starttidsresor (TTD) (TTT/iDNA) med standardläget -Full .
ProcessName Ange (s) med .exe tillägget, ett enskilt objekt (PID/namn) eller en kommaavgränsad lista med objekt.Not: Operativsystem på nednivå före Windows 10, version 1703 kräver TSS_TTD.zip-paketet . 1. Ange mappsökvägen som innehåller tttracer.exe (PartnerTTD). Normalt behövs den här växeln bara om du vill framtvinga en specifik sökväg. 2. Full = -dumpfull (=default)Ring = ringbuffertlägeonLaunch = -onLaunch (kräver TSS_TTD)3. Den maximala loggfilstorleken. Åtgärden beror på -TTDMode .
Full stannar när den maximala storleken nås och Ring behåller den maximala storleken i ringbufferten.4. Använd det här alternativet om du vill lägga till ytterligare alternativ för TTD (TTT/iDNA). |
-Video |
Starta videoinspelning (kräver att .NET 3.5 installeras). |
-WFPdiag |
Samla in spårningar med netsh Wfp capture kommandot . |
-WireShark |
Starta WireShark. Följande parametrar kan konfigureras via filen tss_config.cfg . 1. WS_IF : används för -i . Ange gränssnittsnumret (till exempel _WS_IF=1 ).2. WS_Filter : används för -f . Filtrera för gränssnittet (till exempel _WS_Filter="port 443" ).3. WS_Snaplen : används för -s . Begränsa mängden data för varje bildruta. Den här parametern har bättre prestanda och är användbar för situationer med hög belastning (till exempel _WS_Snaplen=128 ).4. WS_TraceBufferSizeInMB : används för -b FileSize (multiplicerat med 1024). Växla till nästa fil efter antalet megabyte. (till exempel _WS_TraceBufferSizeInMB=512 , default=512 MB)5. WS_PurgeNrFilesToKeep : används för -b files . Ersätt efter antalet filer. (till exempel _WS_PurgeNrFilesToKeep=20 )6. WS_Options : alla andra alternativ för -i (till exempel _WS_Options="-P" ).Exempel: Om du vill samla in WireShark på gränssnitten 15 och 11 anger du när TSS frågar efter ett gränssnittsnummer: 15 -i 11 .Som standard startar 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>' |
Starta en WPR-profilspårning.
<WPRprofile> är en av General VSOD_Leak |CPU VSOD_CPU |||Device SQL ||Xaml Wait ||Graphic |Storage |Registry Network Memory ||BootGeneral |.1. Hoppa över att generera symbolfiler (PDB-filer). 2. Ange alternativ för WPR.exe. Exempel: -WPROptions '-onoffproblemdescription "test description"' Exempel 1: .\TSS.ps1 -StartAutoLogger -WPR BootGeneral -WPROptions '-addboot CPU' samlar in WPR-startspårningar med profilerna General och CPU .Exempel 2: .\TSS.ps1 -WPR General -WPROptions '-Start CPU -start Network -start Minifilter' kombinerar profiler (General , CPU , Network och Minifilter ). |
-Xperf <Profile> 1. -XperfMaxFileMB <Size> 2. -XperfTag <Pool Tag> 3. -XperfPIDs <PID> 4. -XperfOptions <Option string> |
Starta Xperf.
<Profile> är en av General SBSLboot ||Disk Registry ||SBSL PoolNPP ||SMB2 |Pool |Network Memory Leak ||CPU |.1. Ange den maximala loggstorleken i MB (standardvärdet är 2 048 MB). Standardvärdet för SBSL*-scenarier är 16384 (samma för ADS_/NET_SBSL). 2. Ange PoolTag att loggas. Den här parametern används med profilen Pool eller PoolNPP (till exempel -Xperf Pool -XperfTag TcpE+AleE+AfdE+AfdX ).3. Ange ProcessID . Den här parametern används med profilen Leak (till exempel -Xperf Leak -XperfPIDs <PID> ).4. Ange andra alternativsträngar för Xperf . |
-xray |
Starta xray för att diagnostisera ett system för kända problem. |
I följande exempel visas hur du aktiverar flera supportverktyg (kommandon) under samma spårning.
.\TSS.ps1 -WPR <WPRprofile> -Procmon -Netsh|-NetshScenario <NetshScenario> -PerfMon <CounterSetName> -ProcDump <PID> -PktMon -SysMon -SDP <specialty> -xray -PSR -Video -TTD <PID[]|ProcessName[]|ServiceName[]>
Parametrar i TSS-alternativ
Definierar specifika parametrar i TSS-alternativen för att styra, förbättra eller förenkla datainsamling.
Parameter | Description |
---|---|
-AcceptEula |
Fråga inte först; kör för att acceptera ansvarsfriskrivningen (användbart för körningen -RemoteRun ). |
-AddDescription <description> |
Lägg till en kort beskrivning av repro-problemet. Namnet på den resulterande zip-filen innehåller en sådan beskrivning. |
-Assist |
Hjälpmedelsläge. |
-BasicLog |
Samla in den fullständiga grundläggande loggen (mini basic-loggen samlas alltid in som standard). |
-CollectComponentLog |
Använd med -Scenario . Som standard anropas inte komponentinsamlingsfunktioner i spårningen -Scenario . Den här växeln gör att komponentsamlingsfunktionerna kan anropas. |
-CollectDump |
Samla in systemdumpar (memory.dmp) efter att alla spårningar har stoppats.
-CollectDump kan användas med -Start och -Stop . |
-CollectEventLog <Eventlog[]> |
Samla in angivna händelseloggar. Jokertecknet asterisk (*) kan användas för händelseloggens namn. Exempel: -CollectEventLog Security,*Cred* Samla in säkerhet och alla händelseloggar som matchar *Cred* som 'Microsoft-Windows-CertificateServicesClient-CredentialRoaming/Operational' . |
-CommonTask <<POD> |Full |Mini > |
Kör vanliga uppgifter innan du startar och efter att spårningen har stoppats.<POD> : för närvarande är endast "NET" tillgängligt. Samla in ytterligare information innan du startar och efter att spårningen har stoppats.Full : den fullständiga grundläggande loggen samlas in efter att spårningen har stoppats.Mini : Mini Basic-loggen samlas in efter att spårningen har stoppats. |
-Crash |
Utlös en systemkrasch med NotMyFault vid stoppet av repro, eller när alla händelser signaleras om de används med -WaitEvent .Varning: Den här växeln tvingar fram en minnesdump (systemet startas om), så öppna filer sparas inte. |
-CustomETL |
Lägg till anpassade ETL-spårningsprovidrar. Till exempel .\TSS.ps1 -WIN_CustomETL -CustomETL '{<GUID>}','Microsoft-Windows-PrimaryNetworkIcon' (en kommaavgränsad lista med enstaka citattecken '{GUID}' och/eller 'Provider-Name' ). |
-DebugMode |
Kör med felsökningsläge för en utvecklare. |
-VerboseMode |
Visa mer utförliga eller informationsmässiga utdata vid bearbetning av TSS-funktioner. |
-Discard |
Används för att ta bort en datauppsättning i fas -Stop .
*Stop- eller *Collect- så körs inte funktioner.
xray och psSDP hoppas över. |
-EnableCOMDebug |
Modul för att aktivera COM-felsökningsläge. |
-ETLOptions
<
circular
|
newfile
>:<ETLMaxSizeMB >:<ETLNumberToKeep >:<ETLFileMax > |
Ange alternativ som skickas till logman kommandon. Standardvärdet för circular ETLMaxSizeMB är 1024 och standardvärdet för newfile ETLMaxSizeMB är 512.-StartAutologger stöder -ETLOptions circular:<ETLMaxSize>:<ETLNumberToKeep>:<ETLFileMax> bara , men ETLNumberToKeep kommer inte att köras förväntat.Exempel.1: -ETLOptions newfile:2048:5 Kör newfile loggar med storleken 2 048 MB. Behåll endast de fem *.etl sista filerna. Standardinställningen för cirkulärt läge är circular:1024 , och för newfile-läge är newfile:512:10 .Exempel 2: -StartAutologger -ETLOptions circular:4096 Autologger kommer inte att lyda :<ETLNumberToKeep> och den accepterar bara läget cirkulärt.Exempel 3: -StartAutologger -ETLOptions circular:4096:10:3 Autologger kommer inte att lyda :<ETLNumberToKeep> och den accepterar bara läge cirkulär och "3" som antalet autologger generationer. |
-ETWlevel <Info |Warning |Error > |
Ange händelsespårningsnivå. Standardvärdet är 0xFF. |
-EvtDaysBack <N> |
Konvertera endast händelseloggar för de senaste N dagarna. Standardvärdet är 30 dagar. Det gäller även för SDP-rapporten. Obs! Säkerhetshändelseloggar hoppas över. |
-ExternalScript <path to external PS file> |
Kör det angivna PowerShell-skriptet innan du startar spårningen. |
-LogFolderPath <Drive:\path to log folder> |
Använd en annan loggmappsökväg för resulterande utdata i stället för standardplatsen (C:\MS_DATA). Det är användbart när enhet C: har ont om ledigt diskutrymme. |
-MaxEvents <N> |
Som argument för '-WaitEvent Evt:..' undersöker parametern det senaste N antalet händelser med samma händelse-ID (standardvärdet är 1). |
-Mini |
Samla endast in minimala data. Hoppa över noPSR , noSDP , noVideo , noXray , noZip och noBasicLog . |
-Mode <Basic |Medium |Advanced |Full |Verbose |VerboseEx |Hang |Restart | Swarm |Kube |GetFarmdata |Permission |traceMS > |
Kör skript i Basic , Medium , Advanced , Full eller Verbose(Ex) läge för datainsamling.
Restart startar om den associerade tjänsten. |
-RemoteRun |
Använd när TSS körs på en fjärrvärd, till exempel via PsExec, i Azure-seriekonsolen eller med PowerShell-fjärrkommunikation. Den här parametern hämmar PSR, videoinspelning, startar TssClock och öppnar Explorer med slutliga resultat. I ett sådant fall bör du även överväga -AcceptEula . |
-StartNoWait |
Vänta inte, och prompten returneras omedelbart. Den här parametern är användbar för scenariot där en användare behöver logga ut. |
-WaitEvent |
Övervaka för den angivna händelsen eller stopputlösaren. Om den signaleras stoppas spårningarna automatiskt. Det finns en mängd olika alternativ för att utlösa ett automatiskt stopp. Kör .\TSS.ps1 -Find Monitoring för att se användningen. |
-Update 1. -UpdMode <Online |Lite > |
Uppdatera TSS-paketet. Den kan användas tillsammans med -UpdMode Online|Lite .Online är standard och Lite är lite-versionen Upd . |
-Help 1. Common 2. ALL 3. Monitoring 4. Config 5. Keyword |
Ange hjälpmeddelanden i olika scenarier. 1. Vanligt allmänt hjälpmeddelande. 2. Alla tillgängliga alternativ. 3. Visa hjälpmeddelanden för övervakning och fjärrfunktioner. 4. Hjälp med alla konfigurationsparametrar. 5. Du kan ange valfritt nyckelord, och det visar hjälpinformationen om nyckelordet. |
-Status |
Visa status för spårningen som körs, om det finns någon. |
Hjälpskript och verktyg ingår
Hjälpskript och verktyg | Beskrivning |
---|---|
\scripts\tss_EventCreate.ps1 |
Skapa en händelseloggpost i händelseloggfiler med händelse-ID:t. |
\scripts\tss_SMB_Fix-SmbBindings.ps1 |
Användbart för att åtgärda skadade SMB-bindningar (LanmanServer, LanmanWorkstation eller NetBT). Se även -Collect NET_SMBsrvBinding . |
\BINx64\kdbgctrl.exe |
Använd växeln -sd <dump type> för att ange typen kernelkraschdump Full|Kernel , till exempel kdbgctrl -sd Full . |
\BINx64\NTttcp.exe |
Prestandatester. Mer information finns i Testa dataflöde för virtuella datorer med hjälp av NTTTCP. |
\BINx64\latte.exe |
Svarstidstester. Mer information finns i Testa nätverksfördröjning mellan virtuella Azure-datorer. |
\BINx64\notmyfaultc.exe |
Tvinga fram en minnesdump. Se NotMyFault v4.21 om TSS-kommandoraden innehåller -Crash . |
Felsöka oväntade PowerShell-fel
Kör den här cmdleten efter ett fel:
.\TSS.ps1 -Stop -noBasiclog -noXray
Stäng det öppnade upphöjda PowerShell-fönstret och starta ett nytt upphöjt PowerShell-fönster.
Tillåt att PowerShell-skript körs på systemet med rätt
ExecutionPolicy
.Om det uppstår ett fel som anger att skriptet som körs är inaktiverat kan du prova följande metoder.
Metod 1
Kör följande cmdlet:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -force -Scope Process
Kontrollera inställningarna med cmdleten
Get-ExecutionPolicy -List
att ingaExecutionPolicy
med högre prioritet blockerar körningen av det här skriptet.Kör cmdleten
.\TSS.ps1 <Desired Parameters>
igen.
Metod 2 (alternativ)
Om skript blockeras av MachinePolicy
kör du följande cmdletar i ett upphöjt PowerShell-fönster:
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
Metod 3 (alternativ)
Om skript blockeras av UserPolicy
kör du följande cmdletar i ett upphöjt PowerShell-fönster:
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
Kommentar
Metod 2 är bara en lösning för principen MachinePolicy - RemoteSigned
. Om du också ser UserPolicy - RemoteSigned
ber du domänadministratören om ett tillfälligt undantag för grupprincip objekt (GPO).
I sällsynta fall kan du prova cmdleten -ExecutionPolicy Bypass
.
Om din organisation tvingar fram GPO PowerShell-begränsat språkläge (System.Management.Automation.EngineIntrinsics.SessionState.LanguageMode -ne 'FullLanguage'
) ber du domänadministratören om ett tillfälligt GPO-undantag.
Vanliga frågor (FAQ)
F1: Ändrar TSS-skriptet någon konfiguration av mitt system?
S1: Nej, men en registerinställning krävs för att aktivera felsökningsloggning i vissa scenarier. Skriptet anger den nödvändiga nyckeln i början av datainsamlingen och återställer nyckeln till standardvärdet i slutet av datainsamlingen. Det kan också ta bort vissa cacheminnen (till exempel ARP-cachen eller namnmatchningscache) i början av datainsamlingen för att observera problemet från loggarna.
F2: Lägger TSS-verktygsuppsättningen ytterligare belastning på servern?
S2: Vissa loggningar (till exempel nätverksinsamling, ETW-spårningssamling och så vidare) som startas av TSS-verktygsuppsättningen kan lägga en mindre belastning på systemet. Belastningen är vanligtvis på okunniga nivåer. Kontakta supportrepresentanten när du ser hög processor-, minnes- eller diskanvändning när du har startat TSS-verktygsuppsättningen.
F3: Varför kan vi inte återskapa problemet när TSS-verktygsuppsättningen körs?
S3: TSS-verktygsuppsättningen kan ta bort all cachelagrad information i början. Det startar också nätverksfångst i ett promiskuöst läge, vilket ändrar standardbeteendena för nätverkskort (NIC). Dessa ändringar kan påverka problemet och problemen kan försvinna. Särskilt för vissa tidsproblem försvinner problemen på grund av TSS-verktygsuppsättningens datainsamling. Datainsamlingen börjar logga, vilket kan påverka problemet indirekt och ändra situationen.
F4: Varför svarar inte TSS-verktygsuppsättningen under en lång tid?
A4: I vissa fall kanske operativsystemets inbyggda kommandon som körs av TSS-verktygsuppsättningen inte svarar eller tar lång tid att slutföra. Kontakta din supportrepresentant om du upplever det här problemet.
F5: Behöver jag oroa mig för diskutrymme eller något annat när jag kör TSS-verktygsuppsättningen under en lång tid?
S5: All TSS-spårning är konfigurerad att köras med ringbuffertar, så du kan köra verktygsuppsättningen under en längre tid om det behövs. TSS-verktygsuppsättningen beräknar också diskutrymme i början av datainsamlingen och kan avslutas om det inte finns tillräckligt med diskutrymme. Om du ser hög diskanvändning när du har startat TSS-verktygsuppsättningen eller har andra problem med diskanvändningen av verktygsuppsättningen kontaktar du supportrepresentanten.
F6: Vad ska jag göra om jag får följande säkerhetsvarning när jag kör skriptet .\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")
S6: I sällsynta fall kan du få den här säkerhetsvarningen. Du kan avblockera skriptet med hjälp av cmdleten
PS C:\> Unblock-File -Path C:\TSS\TSS.ps1
. Det här skriptet avblockera alla andra moduler med hjälp av cmdletenGet-ChildItem -Recurse -Path C:\TSS\*.ps* | Unblock-File -Confirm:$false
.
Licensavtal för slutanvändare (EULA)
Välj nedan om du vill visa LICENSVILLKOR för PROGRAMVARA FRÅN MICROSOFT.
Microsoft Diagnostic Scripts and Utilities
Dessa licensvillkor utgör ett avtal mellan dig och Microsoft Corporation (eller beroende på var du bor, något av dess koncernbolag). OM DU ACCEPTERAR DESSA LICENSVILLKOR HAR DU FÖLJANDE RÄTTIGHETER. GENOM ATT ANVÄNDA PROGRAMVARAN ACCEPTERAR DU DESSA VILLKOR.
INSTALLATIONS- OCH ANVÄNDNINGSRÄTTIGHETER. Med förbehåll för de villkor och begränsningar som anges i den här licensen ger Microsoft Corporation ("Microsoft") dig ("Kund" eller "du") en icke-exklusiv, icke-tilldelningsbar, fullständigt betald licens för att använda och återskapa skriptet eller verktyget som tillhandahålls under den här licensen ("Programvaran"), enbart för kundens interna affärsändamål, för att hjälpa Microsoft att felsöka problem med en eller flera Microsoft-produkter, förutsatt att sådan licens till programvaran inte innehåller några rättigheter till andra Microsoft-tekniker (till exempel produkter eller tjänster). "Använd" innebär att kopiera, installera, köra, komma åt, visa, köra eller på annat sätt interagera med programvaran.
Du får inte underlicensiera programvaran eller någon användning av den via distribution, nätverksåtkomst eller på annat sätt. Microsoft förbehåller sig alla andra rättigheter som inte uttryckligen beviljas häri, oavsett om det är underförstått, estoppel eller på annat sätt. Du får inte bakåtkompilera, dekompilera eller demontera programvaran eller på annat sätt försöka härleda källkoden för programvaran, förutom och i den utsträckning som krävs av licensvillkor från tredje part som styr användningen av vissa öppen källkod komponenter som kan ingå i programvaran, eller ta bort, minimera, blockera eller ändra meddelanden från Microsoft eller dess leverantörer i programvaran. Varken du eller dina representanter får använda programvaran som tillhandahålls härunder: (i) på ett sätt som är förbjudet enligt lag, förordning, myndighetsordning eller dekret; ii) att kränka andras rättigheter, (iii) att försöka få obehörig åtkomst till eller störa någon tjänst, enhet, data, konto eller nätverk; iv) att distribuera skräppost eller skadlig kod, (v) på ett sätt som kan skada Microsofts IT-system eller försämra någon annans användning av dem; vi) i alla program eller situationer där användningen av programvaran kan leda till dödsfall eller allvarlig kroppsskada av någon person, eller till fysisk eller miljömässig skada, eller (vii) för att hjälpa, uppmuntra eller göra det möjligt för någon att göra något av ovanstående.
DATA. Kunden äger alla rättigheter till data som kunden kan välja att dela med Microsoft via programvaran. Du kan läsa mer om datainsamling och användning i hjälpdokumentationen och sekretesspolicyn på https://aka.ms/privacy. Din användning av programvaran fungerar som ditt medgivande till dessa metoder.
FEEDBACK. Om du ger feedback om programvaran till Microsoft beviljar du Microsoft, utan kostnad, rätt att använda, dela och kommersialisera din feedback på något sätt och i vilket syfte som helst. Du kommer inte att ge någon feedback som omfattas av en licens som skulle kräva att Microsoft licensierar sin programvara eller dokumentation till tredje part på grund av Microsoft, inklusive din feedback i sådan programvara eller dokumentation.
EXPORTRESTRIKTIONER. Kunden måste följa alla nationella och internationella exportlagar och föreskrifter som gäller för programvaran, som omfattar begränsningar för destinationer, slutanvändare och slutanvändare. Mer information om exportbegränsningar finns i https://aka.ms/exporting.
REPRESENTATIONER OCH GARANTIER. Kunden följer alla tillämpliga lagar enligt detta avtal, inklusive vid leverans och användning av alla data. Kunden eller en designperson som godkänner dessa villkor för en entitets räkning representerar och garanterar att den (i) har fullständig behörighet och befogenhet att ingå och fullgöra sina skyldigheter enligt detta avtal, (ii) har full behörighet och befogenhet att binda sina dotterbolag eller organisation till villkoren i detta avtal, och (iii) kommer att säkra den andra partens tillstånd innan någon källkod ges på ett sätt som skulle omfattas av detta avtal. den andra partens immateriella egendom till andra licensvillkor eller kräva att den andra parten distribuerar källkoden till någon av dess tekniker.
FRISKRIVNING FRÅN GARANTIANSVAR. PROGRAMVARAN TILLHANDAHÅLLS "SOM DEN ÄR", UTAN GARANTI AV NÅGOT SLAG, UTTRYCKLIG ELLER UNDERFÖRSTÅDD, INKLUSIVE MEN INTE BEGRÄNSAT TILL GARANTIER FÖR SÄLJBARHET, LÄMPLIGHET FÖR ETT VISST SYFTE OCH ICKE-FRINGEMENT. MICROSOFT ELLER DESS LICENSGIVARE SKALL UNDER INGA OMSTÄNDIGHETER VARA ANSVARIGA FÖR DIREKTA, INDIREKTA, TILLFÄLLIGA, SÄRSKILDA, EXEMPLARISKA ELLER FÖLJDSKADOR (INKLUSIVE, MEN INTE BEGRÄNSAT TILL, INKÖP AV ERSÄTTNINGSVAROR ELLER TJÄNSTER; FÖRLUST AV ANVÄNDNING, DATA ELLER VINST; ELLER AFFÄRSAVBROTT) MEN ORSAKADE OCH PÅ NÅGON ANSVARSTEORI, VARE SIG I KONTRAKT, STRIKT ANSVAR ELLER TORT (INKLUSIVE VÅRDSLÖSHET ELLER PÅ ANNAT SÄTT) SOM UPPSTÅR PÅ NÅGOT SÄTT AV ANVÄNDNINGEN AV PROGRAMVARAN, ÄVEN OM DET REKOMMENDERAS OM RISKEN FÖR SÅDAN SKADA.
BEGRÄNSNING AV OCH FRISKRIVNING FRÅN ANSVAR FÖR SKADOR. OM DU HAR NÅGON GRUND FÖR ATT ÅTERSTÄLLA SKADOR TROTS FÖREGÅENDE ANSVARSFRISKRIVNING, KAN DU ÅTERSTÄLLA FRÅN MICROSOFT OCH DESS LEVERANTÖRER ENDAST DIREKTA SKADOR UPP TILL USA . 00. DU KAN INTE KRÄVA NÅGRA ANDRA SKADOR, INKLUSIVE FÖLJDSKADOR, UTEBLIVNA VINSTER, SÄRSKILDA, INDIREKTA ELLER OFÖRUTSEDDA SKADOR. Den här begränsningen gäller för (i) allt som rör programvara, tjänster, innehåll (inklusive kod) på webbplatser från tredje part eller program från tredje part. och (ii) anspråk för avtalsbrott, garanti, garanti eller villkor; strikt ansvar, försumlighet eller annan skadeståndsskyldighet. eller något annat anspråk; i varje enskilt fall i den utsträckning som tillåts enligt tillämplig lag. Detta gäller även om Microsoft kände till eller borde ha känt till möjligheten av skadorna. Om inte den ovanstående begränsningen av eller friskrivningen från ansvar för oförutsedda skador, följdskador eller andra skador tillåts i din stat, provins eller land gäller den inte för dig.
BINDANDE SKILJEFÖRFARANDE OCH UNDANTAG FRÅN GRUPPTALAN. Det här avsnittet gäller om du bor i (eller om ett företag är ditt huvudsakliga verksamhetsställe) USA. Om du och Microsoft har en tvist går du och Microsoft med på att försöka lösa det informellt i 60 dagar. Om du och Microsoft inte kan, samtycker du och Microsoft till att binda individuell skiljedom inför American Arbitration Association enligt Federal Arbitration Act ("FAA"), och att inte stämma i domstol inför en domare eller jury. I stället kommer en neutral skiljeman att besluta. Grupptalan, gruppomfattande skiljeförfaranden, privata justitieministeråtgärder och andra förfaranden där någon agerar i representativ kapacitet är inte tillåtna; inte heller kombinerar enskilda förfaranden utan samtycke från alla parter. Det fullständiga skiljedomsavtalet innehåller fler villkor och finns på https://aka.ms/arb-agreement-4. Du och Microsoft godkänner dessa villkor.
LAG OCH PLATS. Om usa:s federala jurisdiktion finns samtycker du och Microsoft till exklusiv jurisdiktion och plats i den federala domstolen i King County, Washington för alla tvister som hörs i domstol (exklusive skiljeförfarande). Om inte, samtycker du och Microsoft till exklusiv jurisdiktion och plats i Superior Court of King County, Washington för alla tvister som hörs i domstol (exklusive skiljeförfarande).
FULLSTÄNDIG REGLERING. Detta avtal och eventuella andra villkor som Microsoft kan tillhandahålla för tillägg, uppdateringar, eller applikationer från tredje part, är hela avtalet för programvaran.