Condividi tramite


Introduzione al set di strumenti TSS (TroubleShootingScript)

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

Si applica a: versioni supportate di Windows Server e client Windows

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 il corretto funzionamento 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 in Windows PowerShell Integrated Scripting Environment (ISE) non è supportata. Il contratto di licenza con l'utente finale deve essere accettato. Dopo aver accettato il contratto di licenza, il set di strumenti TSS non richiederà nuovamente il contratto di licenza.

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

    Note

    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 tracce dei componenti ETW (Event Tracing for Windows) o 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 al momento dell'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 usa molto nel presente, è destinata a 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 disconnette.

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 l'uso del set di strumenti TSS

Parametro Descrizione
<placeholder> La stringa tra parentesi angolari (<>) per i segnaposto deve essere sostituita con un nome di scenario effettivo, un componente di traccia, un comando o un valore.
[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 utilizzato 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, viene eseguito il calcio predefinito, quindi -PerfMon ha lo stesso effetto di -PerfMon General -PerfIntervalSec 10.
.\TSS.ps1 [-StopWaitTimeInSec <N>] Questo parametro indica 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> è elencato usando il TSS.ps1 -ListSupportedTrace cmdlet .
Avviare le tracce senza attesa. .\TSS.ps1 -StartNoWait -Scenario <ScenarioName>

.\TSS.ps1 -Stop
Il prompt restituisce immediatamente, quindi è possibile disconnettersi o usare un cmdlet come Shutdown.

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

Note

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 di log con strumenti aggiuntivi per acquisizioni specializzate.

Cmdlet di PowerShell Descrizione
-Fiddler Raccogliere la traccia di Fiddler. Richiede l'installazione di Fiddler.

Abilitare l'opzione di decrittografia del traffico selezionando Strumenti>Opzioni e selezionando Decrittografa traffico HTTPS nella scheda HTTPS.
-GPresult <Start|Stop|Both> Raccogliere GPresult l'output nella fase start, stopo both.
-Handle <Start|Stop|Both> Raccogliere SysInternals Handle.exe output nella fase start, stopo both.
-LiveKD <Start|Stop|Both> Avviare SysInternals LiveKD -ml (live kernel dump).
<Start>: il dump viene eseguito all'inizio della riproduzione.
<Stop>: il dump viene eseguito all'arresto.
<Both>: il dump viene eseguito sia all'inizio 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 per Netsh in megabyte (MB), ad esempio -NetshMaxSizeMB 4096. Il valore predefinito è 2048.
3. Impedire l'acquisizione ScenarioName di pacchetti con Netsh (verranno acquisite solo tracce ETW in ).
-NetshScenario
1. -NetshOptions '<Option string>'
2. -NetshMaxSizeMB <Int>
3. -noPacket
Avviare la traccia dello Netsh scenario. L'oggetto supportato <ScenarioName> è 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 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. Può <CounterSetName> 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 le dimensioni massime 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 riproduzione e dell'arresto. Immettere ProcessName(s) con l'estensione .exe .

1. Start: il dump viene eseguito all'inizio della riproduzione.
Stop: il dump viene eseguito all'arresto.
Both (impostazione predefinita): il dump viene eseguito sia all'inizio 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 per Procmon.exe (per impostazione predefinita, TSS usa procmon predefinito).
3. Specificare un file di configurazione per Procmon (ad esempio ProcmonConfiguration.pmc) che si trova nella cartella \config.
-PSR Avvia registrazione passaggi problemi.
-Radar <PID[]|ProcessName[]|ServiceName[]> Raccogliere le informazioni di diagnostica della perdita (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 di supporto (SDP) per la specialità 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>'
Debug TTD (Start Time Travel Debugging) (TTT/iDNA) con la modalità predefinita -Full . ProcessNameImmettere (s) con l'estensione.exe, un singolo elemento (PID/nome) o un elenco delimitato da virgole di elementi.

Nota:
Il sistema operativo di livello inferiore prima di 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 desidera 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 da -TTDMode. Full si arresta quando viene raggiunta la dimensione massima e Ring mantiene la dimensione massima nel buffer circolare.
4. Utilizzare questa opzione per aggiungere altre opzioni 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 , ad esempio _WS_IF=1.
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 fotogramma. Questo parametro offre prestazioni migliori ed è utile per situazioni di carico elevato , ad esempio _WS_Snaplen=128.
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 di 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 di GeneralVSOD_Leak|CPUVSOD_CPU|||DeviceSQL||XamlWait||Graphic|Storage|RegistryNetworkMemory||BootGeneral|.

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' acquisisce 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 di GeneralSBSLboot||DiskRegistry||SBSLPoolNPP||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 (uguale per ADS_/NET_SBSL).
2. Specificare PoolTag di 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 , ad esempio -Xperf Leak -XperfPIDs <PID>.
4. Specificare altre stringhe di opzione per Xperf.
-xray Avviare xray per diagnosticare un sistema per problemi noti.

Nell'esempio seguente viene illustrato 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 TSS

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

Parametro Descrizione
-AcceptEula Non chiedere all'inizio; eseguire per accettare la dichiarazione di non responsabilità (utile per l'esecuzione -RemoteRun ).
-AddDescription <description> Aggiungere una breve descrizione del problema di riproduzione. Il nome del file ZIP risultante includerà tale descrizione.
-Assist Modalità di accessibilità.
-BasicLog Raccogliere il log di base completo (il log di base mini 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 dei componenti.
-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 registro 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 dell'avvio e dopo l'arresto della traccia.

<POD>: attualmente è disponibile solo "NET". Raccogliere informazioni aggiuntive prima dell'avvio 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 riproduzione o dopo che tutti gli eventi vengono segnalato se usati con -WaitEvent.

Attenzione:
Questa opzione forza un dump della 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 virgole con virgole '{GUID}' e/o 'Provider-Name'.
-DebugMode Eseguire con la modalità di debug per uno sviluppatore.
-VerboseMode Mostra un output più dettagliato o informativo durante l'elaborazione delle funzioni TSS.
-Discard Usato per eliminare un set di dati in 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 una dimensione di 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 registri eventi solo per gli ultimi N giorni. Il valore predefinito è 30 giorni. Si applica anche al rapporto SDP.

Nota:
I registri 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 l'unità C: è insufficiente nello spazio libero su disco.
-MaxEvents <N> Come argomento per '-WaitEvent Evt:..', il parametro esaminerà l'ultimo numero N di eventi con lo stesso ID evento (il valore predefinito è 1).
-Mini Raccogliere solo dati minimi. Ignorare noPSR, noSDP, noXraynoVideo, noZip, e noBasicLog.
-Mode <Basic|Medium|Advanced|Full|Verbose|VerboseEx|Hang|Restart
|Swarm|Kube|GetFarmdata|Permission|traceMS>
Eseguire script in Basicmodalità , AdvancedMedium, Full, o Verbose(Ex) per la raccolta dati. Restart riavvia il servizio associato.
-RemoteRun Usare quando il servizio 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 il prompt restituirà immediatamente. Questo parametro è utile per lo scenario in cui un utente deve disconnettersi.
-WaitEvent Monitorare l'evento o il trigger di arresto specificati; 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 è il valore predefinito ed 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 aiuto generale comune.
2. Tutte le opzioni disponibili.
3. Visualizzare i messaggi della Guida per il monitoraggio e le funzionalità remote.
4. Guida con tutti i parametri di configurazione.
5. È possibile immettere qualsiasi parola chiave e mostrerà le informazioni della Guida su tale parola chiave.
-Status Mostra lo stato della traccia in esecuzione, se presente.

Script e strumenti helper inclusi

Script e strumento helper Descrizione
\scripts\tss_EventCreate.ps1 Creare una voce del registro eventi nei file di log eventi con ID evento.
\scripts\tss_SMB_Fix-SmbBindings.ps1 Utile per correggere le 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 Full|Kerneldi dump di arresto anomalo del kernel, kdbgctrl -sd Fullad esempio .
\BINx64\NTttcp.exe Test delle prestazioni. Per altre informazioni, vedere Testare la velocità effettiva della rete VM 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 della memoria. Vedere NotMyFault v4.21 se la riga di comando 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 aperti e avviare una nuova finestra di PowerShell con privilegi elevati.

  3. Consentire l'esecuzione degli script di PowerShell nel sistema con il corretto ExecutionPolicy.

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

Metodo 1

  1. Eseguire il cmdlet seguente:

    Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -force -Scope Process
    
  2. Verificare che le impostazioni con il Get-ExecutionPolicy -List cmdlet che nessuna ExecutionPolicy con precedenza superiore blocchi 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:

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

Metodo 3 (alternativa)

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

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

Note

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 dell'oggetto Criteri di gruppo.

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

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

Domande frequenti

  • D1: Lo script TSS modifica l'installazione o la 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 il 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 dati per osservare il problema dai log.

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

    A2: alcune registrazioni (ad esempio, acquisizione di rete, 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 è in esecuzione il set di strumenti TSS?

    A3: il set di strumenti TSS può eliminare tutte le informazioni memorizzate nella cache all'inizio. Avvia anche l'acquisizione di rete in una modalità promiscua, che modifica i comportamenti predefiniti della scheda di interfaccia di rete. Queste modifiche potrebbero influire sul problema e i problemi potrebbero scomparire. In particolare per problemi di intervallo specifici, i problemi scompaiono a causa della raccolta dei dati del set di strumenti TSS. La raccolta dati avvia la registrazione, che potrebbe influire indirettamente sul problema e modificare la situazione.

  • D4: Perché il set di strumenti TSS non risponde per 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 di qualcos'altro quando si esegue il set di strumenti TSS per molto tempo?

    A5: la traccia TSS è configurata per l'esecuzione con buffer circolari, in modo da poter eseguire il set di strumenti per molto 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 hanno altre preoccupazioni sull'utilizzo del disco del set di strumenti, contattare il rappresentante del supporto tecnico.

  • D6: Cosa devo fare se viene visualizzato l'avviso di sicurezza seguente durante l'esecuzione dello script .\TSS.ps1 ?

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

    A6: 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 sbloccherà 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

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

Utilità e script di diagnostica Microsoft

Le presenti condizioni di licenza costituiscono il contratto tra il licenziatario e Microsoft Corporation (o una delle sue consociate). QUALORA IL LICENZIATARIO SI ATTENGA ALLE PRESENTI CONDIZIONI DI LICENZA, DISPORRÀ DEI DIRITTI INDICATI DI SEGUITO. UTILIZZANDO IL SOFTWARE, IL LICENZIATARIO ACCETTA LE PRESENTI CONDIZIONI.

  1. DIRITTI DI INSTALLAZIONE E SULL’UTILIZZO. In base alle condizioni e alle restrizioni stabilite in questa licenza, Microsoft Corporation ("Microsoft") concede all'utente ("Cliente" o "l'utente") una licenza non esclusiva, non assegnatabile e completamente a pagamento per l'uso e la riproduzione dello script o dell'utilità fornita con 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). "Usa" significa copiare, installare, eseguire, accedere, visualizzare, eseguire o interagire in altro modo con il software.

    L'utente non può concedere in licenza il Software o qualsiasi uso di esso tramite distribuzione, accesso alla rete o in altro modo. Microsoft si riserva tutti gli altri diritti non espressamente concessi nel presente documento, indipendentemente dal fatto che sia implicita, estoppel o altro. Il licenziatario non può decompilare o disassemblare il software oppure tentare di derivare il codice sorgente per il software, tranne e nella misura richiesta dalle condizioni di licenza di terze parti che regolano l'utilizzo di determinati componenti open source che possono essere inclusi nel Software o rimuovere, ridurre, bloccare o modificare eventuali comunicazioni di Microsoft o dei suoi fornitori nel Software. Né voi né i vostri rappresentanti possono utilizzare il Software fornito qui sotto: (i) in modo vietato dalla legge, dal regolamento, dall'ordine governativo o dal decreto; (ii) violare i diritti degli altri; (iii) per tentare di ottenere l'accesso non autorizzato a qualsiasi servizio, dispositivo, dati, account o rete; (iv) per distribuire posta indesiderata o malware; (v) in un modo che potrebbe danneggiare i sistemi IT di Microsoft o compromettere l'uso di altri utenti; (vi) in qualsiasi applicazione o situazione in cui l'uso del Software potrebbe portare alla morte o a gravi lesioni corporee di qualsiasi persona, o a danni fisici o ambientali; o (vii) per assistere, incoraggiare o consentire a chiunque di fare uno dei precedenti.

  2. DATI. Il cliente è proprietario di tutti i diritti per i dati che può scegliere di condividere con Microsoft tramite il software. Per altre informazioni sulla raccolta dati, sull'uso nella documentazione della Guida e sull'informativa sulla privacy, vedere https://aka.ms/privacy. L'uso del Software opera come consenso per queste procedure.

  3. COMMENTI. Se si forniscono commenti e suggerimenti sul Software a Microsoft, si concede a Microsoft, senza alcun addebito, il diritto di usare, condividere e commercializzare il feedback in qualsiasi modo e per qualsiasi scopo. Non verranno forniti 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, inclusi i commenti e suggerimenti in tale software o documentazione.

  4. LIMITAZIONI RELATIVE ALL'ESPORTAZIONE. Il cliente deve rispettare tutte le leggi e le normative nazionali e internazionali di esportazione applicabili al Software, che includono restrizioni sulle destinazioni, gli utenti finali e l'utilizzo finale. Per altre informazioni sulle limitazioni relative all'esportazione, vedere https://aka.ms/exporting.

  5. RAPPRESENTAZIONI E GARANZIE. Il cliente sarà conforme a tutte le leggi applicabili ai sensi del presente contratto, inclusa la consegna e l'uso di tutti i dati. Il cliente o un utente che accetta le presenti condizioni per conto di un'entità rappresenta e garantisce che (i) abbia il pieno potere e l'autorità di entrare e svolgere i propri obblighi ai sensi del presente contratto, (ii) ha pieno potere e autorità per associare le consociate o l'organizzazione ai termini del presente contratto e (iii) proteggerà l'autorizzazione dell'altra parte prima di fornire qualsiasi codice sorgente in modo da soggetto soggetto la proprietà intellettuale dell'altra parte a qualsiasi altra licenza o richiede all'altra parte di distribuire il codice sorgente a qualsiasi delle sue tecnologie.

  6. ESCLUSIONE DI GARANZIE. IL SOFTWARE VIENE FORNITO "COSÌ COM'È", SENZA GARANZIA DI ALCUN TIPO, ESPRESSO O IMPLICITO, INCLUSO, MA NON LIMITATO ALLE GARANZIE DI COMMERCIABILITÀ, IDONEITÀ PER UNO SCOPO SPECIFICO E NON VIOLAZIONE. IN NESSUN CASO MICROSOFT O I SUOI LICENZE SARANNO RESPONSABILI PER QUALSIASI DANNO DIRETTO, INDIRETTO, INCIDENTALE, SPECIALE, ESEMPLARE O CONSEQUENZIALE (INCLUSO, MA NON LIMITATO ALL'APPROVVIGIONAMENTO DI BENI O SERVIZI SOSTITUTIVI; PERDITA DI UTILIZZO, DATI O PROFITTI; O INTERRUZIONE DELL'AZIENDA) TUTTAVIA HA CAUSATO E SU QUALSIASI TEORIA DELLA RESPONSABILITÀ, SIA NEL CONTRATTO, NELLA RESPONSABILITÀ RIGOROSA O INRT (INCLUSA LA NEGLIGENZA O IN ALTRO MODO) DERIVANTE IN QUALSIASI MODO DALL'USO DEL SOFTWARE, ANCHE SE CONSIGLIATO DELLA POSSIBILITÀ DI TALI DANNI.

  7. LIMITAZIONE DI RESPONSABILITÀ ED ESCLUSIONE DI DANNI. SE SI DISPONE DI QUALSIASI BASE PER IL RECUPERO DI DANNI NONOSTANTE LA DICHIARAZIONE DI NON RESPONSABILITÀ PRECEDENTE DELLA GARANZIA, È POSSIBILE RECUPERARE DA MICROSOFT E DAI SUOI FORNITORI SOLO DANNI DIRETTI FINO AGLI STATI UNITI. 00. IL LICENZIATARIO NON HA DIRITTO A OTTENERE IL RISARCIMENTO PER EVENTUALI ALTRI DANNI, INCLUSI I DANNI CONSEQUENZIALI, SPECIALI, INDIRETTI, INCIDENTALI O RELATIVI ALLA PERDITA DI PROFITTI. Questa limitazione si applica a (i) qualsiasi elemento correlato al software, ai servizi, al contenuto (incluso il codice) nei siti Internet di terze parti o alle applicazioni di terze parti; e (ii) reclami per violazione di contratto, garanzia, garanzia o condizione; responsabilità rigorosa, negligenza o altro illecito; o qualsiasi altra attestazione; in ogni caso nella misura consentita dalla legge applicabile. Tale limitazione si applica anche nel caso in cui Microsoft sia stata informata o avrebbe dovuto essere informata della possibilità del verificarsi di tali danni. La limitazione o l’esclusione indicata sopra potrebbe non essere applicabile nei confronti del licenziatario nel caso in cui le leggi del Paese, dello Stato o della provincia di residenza dello stesso non consentano le esclusioni o limitazioni di responsabilità per danni incidentali, consequenziali o altri danni.

  8. ARBITRATO VINCOLANTE E RINUNCIA ALL'AZIONE DI CLASSE. Questa sezione si applica se si vive in (o, se un'azienda, il luogo principale di attività è in) il Stati Uniti. In caso di controversia tra il licenziatario e Microsoft, le parti accettano di tentare una risoluzione informale per 60 giorni. Qualora non fosse possibile, il licenziatario e Microsoft accettano un arbitrato individuale vincolante davanti all'American Arbitration Association, ai sensi del Federal Arbitration Act ("FAA"), e di non citare in giudizio di fronte a un giudice o una giuria. Le controversie, invece, saranno risolte davanti a un arbitro neutrale. Non è consentito intraprendere azioni di classe, arbitrati di classe, azioni legali portate davanti all'attorney general e qualsiasi altro procedimento legale in cui una delle parti agisca o si proponga di agire in veste rappresentativa, né è consentito combinare procedimenti legali individuali senza il consenso di tutte le parti. La Convenzione Arbitrale completa include altre condizioni ed è disponibile all'indirizzo https://aka.ms/arb-agreement-4. Il licenziatario e Microsoft accettano le presenti condizioni.

  9. LEGGE E SEDE. Se esiste una giurisdizione federale degli Stati Uniti, il licenziatario e Microsoft acconsentono alla giurisdizione e alla competenza territoriale esclusive dei tribunali federali con sede a King County, Washington, per tutte le controversie citate in giudizio (escluso l'arbitrato). In caso contrario, il licenziatario e Microsoft acconsentono alla giurisdizione e alla competenza territoriale esclusive della Corte Suprema con sede a King County, Washington, per tutte le controversie citate in giudizio (escluso l'arbitrato).

  10. INTERO ACCORDO. Il presente contratto e qualsiasi altra condizione che Microsoft potrà fornire in relazione a supplementi, aggiornamenti o ad applicazioni di terzi costituiscono l’intero accordo per il software.