Introduzione al set di strumenti TroubleShootingScript (TSS)

Questo articolo presenta il set di strumenti TroubleShootingScript (TSS) e fornisce risposte alle domande frequenti.

Si applica a: Versioni supportate di Windows Server e Windows Client

Il set di strumenti TSS include strumenti basati su PowerShell e un framework per la raccolta e la diagnostica dei dati. Il set di strumenti mira a semplificare la raccolta dei dati e a risolvere i casi in modo efficiente e sicuro.

Il set di strumenti include diversi script di PowerShell e file eseguibili, tutti firmati da Microsoft. In base alle opzioni selezionate, TSS usa uno o più script e file eseguibili per raccogliere i log desiderati.

È possibile scaricare il set di strumenti come file ZIP (TSS.zip) da https://aka.ms/getTSS.

Prerequisiti

Ecco alcuni prerequisiti per l'esecuzione corretta del set di strumenti:

  • Il set di strumenti TSS deve essere eseguito in una finestra di PowerShell con privilegi elevati per gli account con privilegi di amministratore nel sistema locale. L'esecuzione del set di strumenti TSS nell'ambiente di scripting integrato (ISE) Windows PowerShell non è supportata. Il contratto di licenza con l'utente finale deve essere accettato. Una volta accettato il contratto di licenza, il set di strumenti TSS non richiederà di nuovo il contratto di licenza.

  • I criteri di RemoteSigned esecuzione dello script di PowerShell devono essere impostati su a livello di processo eseguendo il cmdlet Set-ExecutionPolicy -scope Process -ExecutionPolicy RemoteSigned -Force da un prompt dei comandi di PowerShell con privilegi elevati.

    Nota

    Le modifiche a livello di processo influiscono solo sulla sessione di PowerShell corrente.

Come avviare il set di strumenti TSS

È possibile avviare TSS.ps1 con opzioni diverse a seconda dello scenario. Il -Start verbo è il verbo predefinito e facoltativo e può essere sostituito con un verbo complementare in base alle esigenze. I verbi complementari -Start sono -StartAutoLogger, -StartDiag, -StartNoWaite -CollectLog.

Verbo Descrizione
-Start Il -Start verbo avvia le tracce dei componenti ETW (Event Tracing for Windows) o gli strumenti di supporto, ad esempio Windows Performance Recorder (WPR).

Il [-Start] verbo è facoltativo ma può essere sostituito con opzioni complementari -start .
-StartAutoLogger Per raccogliere questi log all'ora di avvio, usare -StartAutoLogger per sostituire -Start.

Usarlo in combinazione con il .\TSS.ps1 -Stop cmdlet per arrestare le tracce dopo la riproduzione del problema.
-StartDiag Anche se questa opzione non ha molto uso nel presente, è progettata per essere usata in futuro in più scenari. A partire da oggi, può essere combinato con altri argomenti come NET_DFSn ottenere la diagnostica dello spazio dei nomi DFSN.
-StartNoWait Questo parametro consente alle tracce di rimanere attive anche quando si esegue la disconnessione.

Usarlo in combinazione con il .\TSS.ps1 -Stop cmdlet per arrestare le tracce dopo la riproduzione del problema.
-CollectLog Questo parametro viene comunemente usato insieme all'argomento DND_SetupReport.

Esempio:
.\TSS.ps1 -Collectlog DND_SetupReport

I log correlati alle tracce vengono raccolti automaticamente anche quando si arresta la raccolta dei dati.

Sintassi per usare il set di strumenti TSS

Parametro Descrizione
<placeholder> La stringa tra parentesi angolari (<>) per i segnaposto deve essere sostituita con un nome dello scenario, un componente di traccia, un comando o un valore effettivi.
[optional] La parola chiave o il valore tra parentesi quadre ([ ]) è facoltativo. Ad esempio, [module:int] significa che il modulo e l'intervallo sono facoltativi. Il valore predefinito viene usato se [<xx>:<yy>] viene omesso.
| Questo parametro indica 'OR'. È possibile scegliere una delle opzioni disponibili.
: Carattere separatore tra due valori.

Esempi di cmdlet

Cmdlet di PowerShell Descrizione
.\TSS.ps1 -PerfMon [General:10] Questo parametro indica PerfMon CounterSetName= General e Interval= 10 secondi. Quando [General:10] viene omesso, il valore predefinito viene avviato, quindi -PerfMon ha lo stesso effetto di -PerfMon General -PerfIntervalSec 10.
.\TSS.ps1 [-StopWaitTimeInSec <N>] Questo parametro significa che l'argomento -StopWaitTimeInSec è facoltativo, ma se è specificato, è obbligatorio un valore per <N> ="il numero di secondi".

Traccia eventi per Windows (ETW)

Traccia ETW Cmdlet di PowerShell Descrizione
Abilitare una traccia dello scenario. .\TSS.ps1 -Scenario <ScenarioName> I nomi degli scenari supportati vengono elencati usando il TSS.ps1 -ListSupportedScenarioTrace cmdlet .
Abilitare le tracce dei componenti. .\TSS.ps1 <-ComponentName> <-ComponentName> ... L'oggetto supportato <-componentName> viene elencato usando il TSS.ps1 -ListSupportedTrace cmdlet .
Avviare le tracce con la modalità senza attesa. .\TSS.ps1 -StartNoWait -Scenario <ScenarioName>

.\TSS.ps1 -Stop
La richiesta viene restituita immediatamente, in modo che sia possibile disconnettersi o usare un cmdlet come Shutdown.

Il cmdlet .\TSS.ps1 -Stop arresta la traccia.

Nota

Per elencare tutti i GUID del provider di componenti e/o scenari, usare il -ListETWProviders cmdlet . Ad esempio:

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

Strumenti e comandi di supporto

Avviare strumenti o comandi di supporto (ad esempio, ProcMon, ProcDump, netsh, Monitor prestazioni (PerfMon), WPR o Radar) per migliorare la raccolta dei log con strumenti aggiuntivi per acquisizioni specializzate.

Cmdlet di PowerShell Descrizione
-Fiddler Raccogliere la traccia di Fiddler. È necessario installare Fiddler.

Abilitare l'opzione di decrittografia del traffico selezionando Opzioni strumenti> e decrittografa traffico HTTPS nella scheda HTTPS.
-GPresult <Start|Stop|Both> Raccogliere l'output di SysInternals Handle.exe nella fase start, stopo both.
-Handle <Start|Stop|Both> Raccogliere l'output di SysInternals Handle.exe nella fase start, stopo both.
-LiveKD <Start|Stop|Both> Avviare SysInternals LiveKD -ml (dump del kernel live).
<Start>: il dump viene eseguito all'inizio della procedura di riproduzione.
<Stop>: il dump viene preso alla fermata.
<Both>: il dump viene eseguito sia all'avvio che all'arresto.
-Netsh
1. -NetshOptions '<Option string>'
2. -NetshMaxSizeMB <Int>
3. -noPacket
Avviare l'acquisizione di pacchetti di rete.

1. Specificare opzioni aggiuntive per Netsh. Ad esempio, 'capturetype=both captureMultilayer=yes provider=Microsoft-Windows-PrimaryNetworkIcon provider={<GUID>}'.
2. Dimensioni massime del log in Netsh megabyte (MB), ad esempio -NetshMaxSizeMB 4096. Il valore predefinito è 2048.
3. Impedire l'acquisizione di pacchetti con Netsh (verranno acquisite solo tracce ETW in ScenarioName ).
-NetshScenario
1. -NetshOptions '<Option string>'
2. -NetshMaxSizeMB <Int>
3. -noPacket
Avviare la traccia dello Netsh scenario. L'oggetto supportato <ScenarioName> viene elencato usando il -ListSupportedNetshScenario cmdlet .

1. Specificare opzioni aggiuntive per Netsh. Ad esempio, 'capturetype=both captureMultilayer=yes provider=Microsoft-Windows-PrimaryNetworkIcon provider={<GUID>}'.
2. Dimensioni massime del log per Netsh in MB (ad esempio, -NetshMaxSizeMB 4096). Il valore predefinito è 2048.
3. Impedire l'acquisizione di pacchetti con Netsh (verranno acquisite solo le tracce ETW nel nome dello scenario).
-PerfMon <CounterSetName> [-PerfIntervalSec N] [-PerfMonMaxMB <N>] [-PerfMonCNF <[[hh:]mm:]ss>]
1. -PerfIntervalSec <Interval in sec>
2. -PerfMonMaxMB <N>
3. -PerfMonCNF <[[hh:]mm:]ss>
Avviare Monitor prestazioni log. L'oggetto <CounterSetName> può essere elencato usando il -ListSupportedPerfCounter cmdlet .

1. Impostare l'intervallo per il PerfMon log (il valore predefinito è 10 secondi).
2. Specificare un valore int per la dimensione massima Perfmon del log in MB (il valore predefinito è 2048).
3. Creare un nuovo file quando è trascorso il tempo specificato o quando viene superata la dimensione massima di <PerfMonMaxMB> .
-PerfMonLong <CounterSetName> [-PerfLongIntervalMin N] [-PerfMonMaxMB <N>] [-PerfMonCNF <[[hh:]mm:]ss>]
1. -PerfLongIntervalMin <Interval in min>
Monitor prestazioni con un intervallo lungo.

1. Impostare l'intervallo per il PerfMonLong log (il valore predefinito è 10 minuti).
-PktMon Raccogliere i dati di monitoraggio dei pacchetti (in Windows Server 2019, Windows 10, versione 1809 e versioni successive). PktMon:Drop raccoglie solo pacchetti eliminati.
-PoolMon <Start|Stop|Both> Raccogliere PoolMon in start, stopo both.
-ProcDump <PID[]|ProcessName.exe[]|ServiceName[]>
1. -ProcDumpOption<Start|Stop|Both>-ProcDumpInterval <N>:<Interval in sec>
2. -ProcDumpInterval <N>:<Interval in sec>
3. -ProcDumpAppCrash
Acquisire i dump utente di un singolo elemento o di un elenco delimitato da virgole di elementi usando SysInternals ProcDump.exe. Per impostazione predefinita, il dump viene eseguito all'inizio della procedura di ripetizione e arresto. Immettere ProcessName(s) con l'estensione .exe .

1. Start: il dump viene prelevato all'inizio del repro.
Stop: il dump viene preso alla fermata.
Both (impostazione predefinita): il dump viene eseguito sia all'avvio che all'arresto.
2. Utilizzare questa opzione quando il dump deve essere acquisito ripetutamente.
N: numero di dump
Int: intervallo in secondi
Il valore predefinito è 3:10.
3. Questa opzione abilita ProcDump -ma -e, che scrive un dump completo quando il processo rileva un'eccezione non gestita.
-ProcMon
1. -ProcmonAltitude <N>
2. -ProcmonPath <folder path to Procmon.exe>
3. -ProcmonFilter <filter-file.pmc>
Avviare SysInternals Procmon.exe.

1. Specificare un valore stringa per ProcmonAltitude (il valore predefinito è 385200). Usare fltmc instances per visualizzare l'altitudine del driver di filtro. Usare un numero inferiore rispetto al driver specifico sospetto. Il valore 45100 ti mostrerà praticamente tutto.
2. Specificare un percorso da Procmon.exe (per impostazione predefinita, TSS usa il Procmon predefinito).
3. Specificare un file di configurazione per Procmon , ad esempio ProcmonConfiguration.pmc, che si trova nella cartella \config .
-PSR Avviare La registrazione dei passaggi dei problemi.
-Radar <PID[]|ProcessName[]|ServiceName[]> Raccogliere le informazioni di diagnostica delle perdite (rdrleakdiag.exe).

Ad esempio, -Radar AppIDSvc.
-RASdiag Raccogliere la traccia. La Netsh traccia del set di diagnostica Ras è abilitata.
-SDP <SpecialityName[]>
1. -SkipSDPList "<xxx>","<yyy>"
2. <SpecialityName>
Raccogliere il pacchetto di diagnostica del supporto (SDP) per la specializzazione specificata. Per l'elenco completo di SpecialityNames e SkipSDPList, usare il .\tss -help cmdlet .

Ignorare l'elenco delimitato da virgole dei nomi dei moduli SDP che si bloccano nell'ambiente durante l'esecuzione del report SDP.
-SysMon Raccogliere i log di SysInternals System Monitor (SysMon) (sysmonConfig.xml nella cartella config per impostazione predefinita).
-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>'
Avvia debug time travel (TTD) (TTT/iDNA) con la modalità predefinita -Full . Immettere il ProcessName(s) con l'estensione .exe , un singolo elemento (PID/nome) o un elenco di elementi delimitato da virgole.

Nota:
Il sistema operativo di livello inferiore prima Windows 10 versione 1703 richiede il pacchetto TSS_TTD.zip.

1. Specificare il percorso della cartella contenente tttracer.exe (PartnerTTD). In genere, questa opzione è necessaria solo se si vuole forzare un percorso specifico.
2. Full = -dumpfull (=default)
Ring = modalità buffer circolare
onLaunch = -onLaunch (richiede TSS_TTD)
3. Dimensioni massime del file di log. L'operazione dipende -TTDModeda . Full si arresta quando viene raggiunta la dimensione massima e Ring mantiene la dimensione massima nel buffer circolare.
4. Usare questa opzione per aggiungere eventuali opzioni aggiuntive per TTD (TTT/iDNA).
-Video Avviare l'acquisizione video (richiede l'installazione di .NET 3.5).
-WFPdiag Raccogliere tracce con il netsh Wfp capture comando .
-WireShark Avviare WireShark. I parametri seguenti sono configurabili tramite il file tss_config.cfg .

1. WS_IF: utilizzato per -i. Specificare il numero di interfaccia, _WS_IF=1ad esempio .
2. WS_Filter: utilizzato per -f. Filtrare per l'interfaccia , ad esempio . _WS_Filter="port 443"
3. WS_Snaplen: utilizzato per -s. Limitare la quantità di dati per ogni frame. Questo parametro offre prestazioni migliori ed è utile per le situazioni di carico elevato, _WS_Snaplen=128ad esempio .
4. WS_TraceBufferSizeInMB: utilizzato per (moltiplicato per -b FileSize 1024). Passare al file successivo dopo il numero di megabyte. (ad esempio, _WS_TraceBufferSizeInMB=512, default=512 MB)
5. WS_PurgeNrFilesToKeep: utilizzato per -b files. Sostituire dopo il numero dei file. (ad esempio, _WS_PurgeNrFilesToKeep=20)
6. WS_Options: qualsiasi altra opzione per -i (ad esempio, _WS_Options="-P").

Esempio:
Per raccogliere WireShark sulle interfacce 15 e 11, immettere quando TSS richiede un numero di interfaccia: 15 -i 11.

Per impostazione predefinita, Wireshark avvia 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>'
Avviare una traccia del profilo WPR. <WPRprofile>è uno dei valori di GeneralCPUVSOD_Leak||Device|SQL||MemoryGraphic||VSOD_CPUXaml|Wait|Storage|||Registry|BootGeneralNetwork.

1. Ignorare la generazione di file di simboli (file PDB).
2. Specificare le opzioni per WPR.exe. Ad esempio, -WPROptions '-onoffproblemdescription "test description"'.

Esempio 1:
.\TSS.ps1 -StartAutoLogger -WPR BootGeneral -WPROptions '-addboot CPU' acquisirà le tracce di avvio WPR con i General profili e CPU .

Esempio 2:
.\TSS.ps1 -WPR General -WPROptions '-Start CPU -start Network -start Minifilter' combina i profili (General, CPU, Networke Minifilter).
-Xperf <Profile>
1. -XperfMaxFileMB <Size>
2. -XperfTag <Pool Tag>
3. -XperfPIDs <PID>
4. -XperfOptions <Option string>
Avviare Xperf. <Profile>è uno dei valori di GeneralDisk|||Registry||SBSLPoolNPPSBSLboot|SMB2|Pool|NetworkMemoryLeak||CPU|.

1. Specificare le dimensioni massime del log in MB (il valore predefinito è 2048 MB). Il valore predefinito per gli scenari SBSL* è 16384 (lo stesso per ADS_/NET_SBSL).
2. Specificare PoolTag che deve essere registrato. Questo parametro viene usato con il Pool profilo o PoolNPP , ad esempio -Xperf Pool -XperfTag TcpE+AleE+AfdE+AfdX.
3. Specificare ProcessID. Questo parametro viene usato con il Leak profilo , -Xperf Leak -XperfPIDs <PID>ad esempio .
4. Specificare altre stringhe di opzioni per Xperf.
-xray Avviare xray per diagnosticare un sistema per i problemi noti.

L'esempio seguente illustra come attivare più strumenti di supporto (comandi) durante la stessa traccia.

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

Parametri all'interno delle opzioni di TSS

Definisce parametri specifici all'interno delle opzioni TSS per controllare, migliorare o semplificare la raccolta dei dati.

Parametro Descrizione
-AcceptEula Non chiedete in un primo momento; eseguire per accettare la dichiarazione di non responsabilità (utile per l'esecuzione -RemoteRun ).
-AddDescription <description> Aggiungere una breve descrizione del problema di ripetizione della riproduzione. Il nome del file ZIP risultante includerà tale descrizione.
-Assist Modalità di accessibilità.
-BasicLog Raccogliere il log di base completo (il mini log di base viene sempre raccolto per impostazione predefinita).
-CollectComponentLog Usare con -Scenario. Per impostazione predefinita, le funzioni di raccolta dei componenti non vengono chiamate nella -Scenario traccia. Questa opzione consente di chiamare le funzioni di raccolta del componente.
-CollectDump Raccogliere il dump di sistema (memory.dmp) dopo l'arresto di tutte le tracce. -CollectDump può essere usato con -Start e -Stop.
-CollectEventLog <Eventlog[]> Raccogliere i log eventi specificati. Il carattere jolly asterisco (*) può essere usato per il nome del log eventi.

Esempio:
-CollectEventLog Security,*Cred*
Raccogliere la sicurezza e tutti i log eventi che corrispondono a *Cred*'Microsoft-Windows-CertificateServicesClient-CredentialRoaming/Operational'.
-CommonTask <<POD>|Full|Mini> Eseguire attività comuni prima di avviare e dopo l'arresto della traccia.

<POD>: attualmente è disponibile solo "NET". Raccogliere informazioni aggiuntive prima di iniziare e dopo l'arresto della traccia.
Full: il log di base completo viene raccolto dopo l'arresto della traccia.
Mini: il mini log di base viene raccolto dopo l'arresto della traccia.
-Crash Attivare un arresto anomalo del sistema con NotMyFault all'arresto della ripetizione della riproduzione oppure dopo che tutti gli eventi vengono segnalati se usati con -WaitEvent.

Attenzione:
Questa opzione forza un dump di memoria (il sistema verrà riavviato), quindi i file aperti non verranno salvati.
-CustomETL Aggiungere provider di traccia ETL personalizzati. Ad esempio, .\TSS.ps1 -WIN_CustomETL -CustomETL '{<GUID>}','Microsoft-Windows-PrimaryNetworkIcon' (un elenco delimitato da virgole di virgolette '{GUID}' singole e/o 'Provider-Name').
-DebugMode Eseguire con la modalità di debug per uno sviluppatore.
-VerboseMode Visualizzare un output più dettagliato o informativo durante l'elaborazione delle funzioni TSS.
-Discard Usato per eliminare un set di dati nella fase -Stop. *Stop- o *Collect- le funzioni non verranno eseguite. xray e psSDP verrà ignorato.
-EnableCOMDebug Modulo per attivare la modalità di debug COM.
-ETLOptions<circular|newfile>:<ETLMaxSizeMB>:<ETLNumberToKeep>:<ETLFileMax> Impostare le opzioni passate ai logman comandi. Il valore predefinito per circular ETLMaxSizeMB è 1024 e il valore predefinito per newfile ETLMaxSizeMB è 512.

-StartAutologger supporta -ETLOptions circular:<ETLMaxSize>:<ETLNumberToKeep>:<ETLFileMax>solo , ma ETLNumberToKeep non verrà eseguito in modo previsto.

Esempio.1:
-ETLOptions newfile:2048:5

Eseguire newfile i log con dimensioni pari a 2048 MB. Mantenere solo gli ultimi cinque *.etl file. L'impostazione predefinita per la modalità circolare è circular:1024e per la modalità newfile è newfile:512:10.

Esempio 2:
-StartAutologger -ETLOptions circular:4096
Autologger non obbedirà :<ETLNumberToKeep> e accetta solo la modalità circolare.

Esempio 3:
-StartAutologger -ETLOptions circular:4096:10:3
Autologger non obbedirà :<ETLNumberToKeep> e accetta solo la modalità circolare e "3" come numero di autologger generazioni.
-ETWlevel <Info|Warning|Error> Impostare Il livello di traccia eventi. Il valore predefinito è 0xFF.
-EvtDaysBack <N> Convertire i log eventi solo per gli ultimi N giorni. Il valore predefinito è 30 giorni. Si applica anche al report SDP.

Nota:
I log eventi di sicurezza verranno ignorati.
-ExternalScript <path to external PS file> Eseguire lo script di PowerShell specificato prima di avviare la traccia.
-LogFolderPath <Drive:\path to log folder> Usare un percorso di cartella di log diverso per i dati di output risultanti anziché il percorso predefinito (C:\MS_DATA). È utile quando lo spazio disponibile su disco dell'unità C è insufficiente.
-MaxEvents <N> Come argomento per '-WaitEvent Evt:..', il parametro analizzerà l'ultimo numero N di eventi con lo stesso ID evento (il valore predefinito è 1).
-Mini Raccogliere solo dati minimi. Ignorare noPSR, noSDP, noVideo, noXray, noZipe noBasicLog.
-Mode <Basic|Medium|Advanced|Full|Verbose|VerboseEx|Hang|Restart
|Swarm|Kube|GetFarmdata|Permission|traceMS>
Eseguire script in Basicmodalità , Medium, Advanced, Fullo Verbose(Ex) per la raccolta dati. Restart riavvierà il servizio associato.
-RemoteRun Usare quando TSS viene eseguito in un host remoto, ad esempio tramite PsExec, nella console seriale di Azure o con la comunicazione remota di PowerShell. Questo parametro inibirà PSR, la registrazione video, l'avvio di TssClock e l'apertura di Explorer con i risultati finali. In questo caso, considerare -AcceptEulaanche .
-StartNoWait Non attendere e la richiesta verrà restituita immediatamente. Questo parametro è utile per lo scenario in cui un utente deve disconnettersi.
-WaitEvent Monitorare l'evento o il trigger di arresto specificato; se viene segnalato, le tracce verranno arrestate automaticamente.

È disponibile un'ampia gamma di opzioni per attivare un arresto automatico. Eseguire .\TSS.ps1 -Find Monitoring per visualizzare l'utilizzo.
-Update
1. -UpdMode<Online|Lite>
Aggiornare il pacchetto TSS. Può essere usato insieme a -UpdMode Online|Lite.

Online è l'impostazione predefinita e Lite è la Upd versione lite.
-Help
1. Common
2. ALL
3. Monitoring
4. Config
5. Keyword
Fornire messaggi della Guida in vari scenari.

1. Messaggio di guida generale comune.
2. Tutte le opzioni disponibili.
3. Mostra i messaggi della Guida per il monitoraggio e le funzionalità remote.
4. Guida per tutti i parametri di configurazione.
5. È possibile immettere qualsiasi parola chiave e verranno visualizzate le informazioni della Guida su tale parola chiave.
-Status Visualizzare lo stato della traccia in esecuzione, se disponibile.

Script e strumenti helper inclusi

Script e strumento helper Descrizione
\scripts\tss_EventCreate.ps1 Creare una voce del registro eventi nei file del registro eventi con ID evento.
\scripts\tss_SMB_Fix-SmbBindings.ps1 Utile per correggere associazioni SMB danneggiate (LanmanServer, LanmanWorkstation o NetBT). Vedere anche -Collect NET_SMBsrvBinding.
\BINx64\kdbgctrl.exe Usare l'opzione -sd <dump type> per impostare il tipo di Full|Kerneldump di arresto anomalo del kernel, kdbgctrl -sd Fullad esempio .
\BINx64\NTttcp.exe Test delle prestazioni. Per altre informazioni, vedere Testare la velocità effettiva di rete della macchina virtuale usando NTTTCP.
\BINx64\latte.exe Test di latenza. Per altre informazioni, vedere Testare la latenza di rete tra macchine virtuali di Azure.
\BINx64\notmyfaultc.exe Forzare un dump di memoria. Vedere NotMyFault v4.21 se la riga di comando di TSS include -Crash.

Risolvere gli errori imprevisti di PowerShell

  1. Eseguire questo cmdlet dopo un errore:

    .\TSS.ps1 -Stop -noBasiclog -noXray
    
  2. Chiudere la finestra di PowerShell con privilegi elevati aperta e avviare una nuova finestra di PowerShell con privilegi elevati.

  3. Consentire l'esecuzione di script di PowerShell nel sistema con l'oggetto appropriato ExecutionPolicy.

  4. Se si verifica un errore che indica che lo script in esecuzione è disabilitato, provare i metodi seguenti.

Metodo 1

  1. Eseguire il seguente cmdlet:

    Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -force -Scope Process
    
  2. Verificare che le impostazioni con il Get-ExecutionPolicy -List cmdlet non ExecutionPolicy con precedenza superiore blocchino l'esecuzione di questo script.

  3. Eseguire di nuovo il .\TSS.ps1 <Desired Parameters> cmdlet.

Metodo 2 (alternativa)

Se gli script sono bloccati da MachinePolicy, eseguire i cmdlet seguenti in una finestra di PowerShell con privilegi elevati:

  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
    

Metodo 3 (alternativa)

Se gli script sono bloccati da UserPolicy, eseguire i cmdlet seguenti in una finestra di PowerShell con privilegi elevati:

  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
    

Nota

Il metodo 2 è solo una soluzione alternativa per i criteri MachinePolicy - RemoteSigned. Se viene visualizzato UserPolicy - RemoteSignedanche , chiedere all'amministratore di dominio un'esenzione temporanea Criteri di gruppo Object (GPO).

In rari casi, è possibile provare il -ExecutionPolicy Bypass cmdlet .

Se l'organizzazione forza la modalità del linguaggio vincolato di PowerShell dell'oggetto Criteri di gruppo (System.Management.Automation.EngineIntrinsics.SessionState.LanguageMode -ne 'FullLanguage'), chiedere all'amministratore di dominio un'esenzione temporanea dall'oggetto Criteri di gruppo.

Domande frequenti

  • D1: Lo script TSS modifica qualsiasi configurazione o configurazione del sistema?

    A1: No, ma è necessaria un'impostazione del Registro di sistema per abilitare la registrazione di debug in alcuni scenari. Lo script imposta la chiave necessaria all'inizio della raccolta dati e ripristina la chiave al valore predefinito alla fine della raccolta dati. Può anche eliminare alcune cache (ad esempio, la cache ARP o la cache di risoluzione dei nomi) all'inizio della raccolta dei dati per osservare il problema dai log.

  • D2: Il set di strumenti TSS comporta un carico aggiuntivo sul server?

    A2: alcune registrazioni (ad esempio, l'acquisizione di rete, la raccolta di traccia ETW e così via) avviate dal set di strumenti TSS potrebbero comportare un carico minore nel sistema. Il carico è in genere a livelli ignorabili. Contattare il rappresentante del supporto quando viene visualizzato un utilizzo elevato di CPU, memoria o disco dopo l'avvio del set di strumenti TSS.

  • D3: Perché non è possibile riprodurre il problema quando il set di strumenti TSS è in esecuzione?

    A3: il set di strumenti TSS può eliminare tutte le informazioni memorizzate nella cache all'inizio. Avvia anche l'acquisizione di rete in modalità promiscua, che modifica i comportamenti predefiniti della scheda di interfaccia di rete.It also starts the network capturing in a promiscuous mode, which changes the Network Interface Card (NIC) default behaviors. Queste modifiche potrebbero influire sul problema e i problemi potrebbero scomparire. Soprattutto per problemi di temporizzazione specifici, i problemi scompaiono a causa della raccolta di dati del set di strumenti TSS. La raccolta dei dati avvia la registrazione, che potrebbe influire indirettamente sul problema e modificare la situazione.

  • D4: Perché il set di strumenti TSS non risponde da molto tempo?

    A4: in alcuni casi, i comandi predefiniti del sistema operativo eseguiti dal set di strumenti TSS potrebbero non rispondere o richiedere molto tempo per il completamento. Se si verifica questo problema, contattare il rappresentante del supporto tecnico.

  • D5: È necessario preoccuparsi dello spazio su disco o altro quando si esegue il set di strumenti TSS per molto tempo?

    A5: tutte le tracce TSS sono configurate per l'esecuzione con buffer circolare, quindi è possibile eseguire il set di strumenti per un lungo periodo di tempo, se necessario. Il set di strumenti TSS calcola anche lo spazio su disco all'inizio della raccolta dati e può uscire se lo spazio su disco non è sufficiente. Se viene visualizzato un utilizzo elevato del disco dopo l'avvio del set di strumenti TSS o si verificano altri problemi relativi all'utilizzo del disco del set di strumenti, contattare il rappresentante del supporto tecnico.

  • D6: Cosa fare se si riceve il seguente avviso di sicurezza quando si esegue lo script con estensione \TSS.ps1 ?

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

    A6: In rari casi, è possibile che venga visualizzato questo avviso di sicurezza. È possibile sbloccare lo script usando il cmdlet PS C:\> Unblock-File -Path C:\TSS\TSS.ps1. Questo script sblocca tutti gli altri moduli usando il cmdlet Get-ChildItem -Recurse -Path C:\TSS\*.ps* | Unblock-File -Confirm:$false.

Contratto di licenza con l'utente finale (EULA)

Selezionare di seguito per visualizzare le CONDIZIONI DI LICENZA SOFTWARE MICROSOFT.

Script e utilità di diagnostica 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. In base alle condizioni e alle restrizioni stabilite in questa licenza, Microsoft Corporation ("Microsoft") concede all'utente ("Cliente" o "utente") una licenza non esclusiva, non assegnabile, completamente a pagamento per usare e riprodurre lo script o l'utilità fornita in questa licenza (il "Software"), esclusivamente per scopi aziendali interni del cliente, per aiutare Microsoft a risolvere i problemi relativi a uno o più prodotti Microsoft, a condizione che tale licenza al Software non includa alcun diritto ad altre tecnologie Microsoft (ad esempio prodotti o servizi). "Uso" significa copiare, installare, eseguire, accedere, visualizzare, eseguire o interagire in altro modo con il Software.

    L'utente non può sottolicenza del Software o qualsiasi uso di esso tramite la distribuzione, l'accesso alla rete o altro. Microsoft si riserva tutti gli altri diritti non espressamente concessi nel presente documento, sia per implicazione, estoppel o altro. L'utente non può eseguire il reverse engineer, decompilare o disassemblare il Software o tentare in altro modo di derivare il codice sorgente per il Software, ad eccezione e nella misura richiesta dalle condizioni di licenza di terze parti che disciplinano l'uso di determinati componenti open source che possono essere inclusi nel Software, o rimuovere, ridurre a icona, bloccare o modificare eventuali avvisi di Microsoft o dei suoi fornitori nel Software. Né l'utente né i suoi rappresentanti possono utilizzare il Software fornito di seguito: (i) in modo vietato dalla legge, dalla regolamentazione, dall'ordine governativo o dal decreto; (ii) violare i diritti degli altri; (iii) cercare di ottenere l'accesso non autorizzato a qualsiasi servizio, dispositivo, dati, account o rete o interrompere l'accesso; (iv) per distribuire spam o malware; (v) in un modo che potrebbe danneggiare i sistemi IT microsoft o compromettere l'uso di altri utenti; (vi) in qualsiasi applicazione o situazione in cui l'uso del Software potrebbe causare la morte o lesioni personali gravi di qualsiasi persona, o a danni fisici o ambientali; o (vii) per assistere, incoraggiare o consentire a chiunque di eseguire una delle operazioni precedenti.

  2. DATI. Il cliente è proprietario di tutti i diritti sui dati che può scegliere di condividere con Microsoft tramite il Software. Per altre informazioni sulla raccolta e l'uso dei dati, vedere la documentazione della Guida e l'informativa sulla privacy all'indirizzo https://aka.ms/privacy. L'uso del Software funziona come consenso a queste procedure.

  3. FEEDBACK. Se fornisci feedback sul Software a Microsoft, concedi a Microsoft, senza addebiti, il diritto di usare, condividere e commercializzare il tuo feedback in qualsiasi modo e per qualsiasi scopo. L'utente non fornirà commenti e suggerimenti soggetti a una licenza che richiederebbe a Microsoft di concedere in licenza il software o la documentazione a terze parti a causa di Microsoft, incluso il feedback in tale software o documentazione.

  4. EXPORT RESTRICTIONS. Il cliente deve rispettare tutte le leggi e le normative nazionali e internazionali in materia di esportazione applicabili al Software, che includono restrizioni sulle destinazioni, gli utenti finali e l'uso finale. For further information on export restrictions, visit https://aka.ms/exporting.

  5. RAPPRESENTAZIONI E GARANZIE. Il cliente sarà conforme a tutte le leggi applicabili ai sensi del presente contratto, inclusi la consegna e l'uso di tutti i dati. Il cliente o un progettatore che accetta queste condizioni per conto di un'entità rappresenta e garantisce che (i) abbia il pieno potere e l'autorità di stipulare ed eseguire i propri obblighi ai sensi del presente contratto, (ii) abbia pieno potere e autorità per associare le sue consociate o organizzazioni alle condizioni del presente contratto e (iii) si assicura l'autorizzazione dell'altra parte prima di fornire qualsiasi codice sorgente in un modo che sarebbe soggetto a proprietà intellettuale dell'altra parte ad altre condizioni di licenza o richiedere all'altra parte di distribuire il codice sorgente a una qualsiasi delle sue tecnologie.

  6. DICHIARAZIONE DI NON RESPONSABILITÀ DI GARANZIA. IL SOFTWARE VIENE FORNITO "COSÌ COME È", SENZA GARANZIA DI ALCUN TIPO, ESPLICITO O IMPLICITO, INCLUSE, A TITOLO ESEMPLIFICATIVO, LE GARANZIE DI COMMERCIABILITÀ, IDONEITÀ PER UNO SCOPO SPECIFICO E NON VIOLAZIONE. IN NESSUN CASO MICROSOFT O I SUOI LICENZIANTI SARANNO RESPONSABILI PER EVENTUALI DANNI DIRETTI, INDIRETTI, INCIDENTALI, SPECIALI, ESEMPLARI O CONSEQUENZIALI (INCLUSO, A TITOLO ESEMPLIFICABILE, L'APPROVVIGIONAMENTO DI BENI O SERVIZI SOSTITUTIVI; PERDITA DI UTILIZZO, DATI O PROFITTI; O INTERRUZIONE AZIENDALE) TUTTAVIA CAUSATO E SU QUALSIASI TEORIA DI RESPONSABILITÀ, SIA NEL CONTRATTO, RESPONSABILITÀ RIGOROSA, O ILLECITO (INCLUSA NEGLIGENZA O ALTRO) DERIVANTE IN QUALSIASI MODO DALL'USO DEL SOFTWARE, ANCHE SE CONSIGLIATO DELLA POSSIBILITÀ DI TALE DANNO.

  7. LIMITAZIONE ED ESCLUSIONE DEI DANNI. SE SI DISPONE DI QUALSIASI BASE PER IL RECUPERO DEI DANNI NONOSTANTE LA DICHIARAZIONE DI NON RESPONSABILITÀ PRECEDENTE DI GARANZIA, È POSSIBILE RECUPERARE DA MICROSOFT E DAI SUOI FORNITORI SOLO DANNI DIRETTI FINO A U.S. . 00. NON PUOI RECUPERARE ALTRI DANNI, INCLUSI DANNI CONSEQUENZIALI, PERDITE DI PROFITTI, DANNI SPECIALI, INDIRETTI O INCIDENTALI. Questa limitazione si applica a (i) qualsiasi elemento correlato al Software, ai servizi, al contenuto (incluso il codice) su siti Internet di terze parti o applicazioni di terze parti; e (ii) reclami per violazione del contratto, garanzia, garanzia o condizione; responsabilità, negligenza o altro illecito; o qualsiasi altra attestazione; in ogni caso nella misura consentita dalla legge applicabile. 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. Questa sezione si applica se si risiede in (o, se un'azienda, la sede principale dell'azienda si trova in) il Stati Uniti. If you and Microsoft have a dispute, you and Microsoft agree to try for 60 days to resolve it informally. If you and Microsoft can't, you and Microsoft agree to binding individual arbitration before the American Arbitration Association under the Federal Arbitration Act ("FAA"), and not to sue in court in front of a judge or jury. Instead, a neutral arbitrator will decide. Class action lawsuits, class-wide arbitrations, private attorney-general actions, and any other proceeding where someone acts in a representative capacity are not allowed; nor is combining individual proceedings without the consent of all parties. The complete Arbitration Agreement contains more terms and is at https://aka.ms/arb-agreement-4. You and Microsoft agree to these terms.

  9. LEGGE E SEDE. 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.