Introducción al conjunto de herramientas TroubleShootingScript (TSS)

En este artículo se presenta el conjunto de herramientas TroubleShootingScript (TSS) y se proporcionan respuestas a las preguntas más frecuentes.

Se aplica a: Versiones admitidas de Windows Server y el cliente de Windows

El conjunto de herramientas de TSS incluye herramientas basadas en PowerShell y un marco para la recopilación y el diagnóstico de datos. El conjunto de herramientas tiene como objetivo simplificar la recopilación de datos y ayudar a resolver los casos de forma eficaz y segura.

El conjunto de herramientas incluye varios scripts de PowerShell y archivos ejecutables, todos firmados por Microsoft. En función de los modificadores seleccionados, TSS usa uno o varios scripts y archivos ejecutables para recopilar los registros deseados.

Puede descargar el conjunto de herramientas como un archivo zip (TSS.zip) desde https://aka.ms/getTSS.

Requisitos previos

Estos son algunos requisitos previos para que el conjunto de herramientas se ejecute correctamente:

  • Las cuentas con privilegios de administrador en el sistema local deben ejecutar el conjunto de herramientas de TSS en una ventana de PowerShell con privilegios elevados. No se admite la ejecución del conjunto de herramientas de TSS en el entorno de scripting integrado (ISE) de Windows PowerShell. Se debe aceptar el contrato de licencia de usuario final (CLUF). Una vez aceptado el CLUF, el conjunto de herramientas de TSS no volverá a solicitar el CLUF.

  • La directiva de ejecución de scripts de PowerShell debe establecerse RemoteSigned en en el nivel de proceso mediante la ejecución del cmdlet Set-ExecutionPolicy -scope Process -ExecutionPolicy RemoteSigned -Force desde un símbolo del sistema de PowerShell con privilegios elevados.

    Nota:

    Los cambios en el nivel de proceso solo afectan a la sesión actual de PowerShell.

Cómo iniciar el conjunto de herramientas de TSS

Puede iniciar TSS.ps1 con diferentes conmutadores en función del escenario. El -Start verbo es el verbo predeterminado y opcional, y se puede reemplazar por un verbo complementario según sea necesario. Los verbos complementarios -Start son -StartAutoLogger, -StartDiag, -StartNoWaity -CollectLog.

Verbo Descripción
-Start El -Start verbo inicia seguimientos de componentes de Seguimiento de eventos para Windows (ETW) o herramientas de soporte técnico, como Windows Performance Recorder (WPR).

El [-Start] verbo es opcional, pero se puede reemplazar por opciones complementarias -start .
-StartAutoLogger Para recopilar estos registros en el momento del arranque, use -StartAutoLogger para reemplazar -Start.

Úselo en combinación con el .\TSS.ps1 -Stop cmdlet para detener los seguimientos una vez que se reproduzca el problema.
-StartDiag Aunque este modificador no tiene mucho uso en el presente, está pensado para usarse en el futuro en varios escenarios. A partir de hoy, se puede combinar con otros argumentos como NET_DFSn para obtener diagnósticos del espacio de nombres DFSN.
-StartNoWait Este parámetro permite que los seguimientos permanezcan activos incluso cuando cierre la sesión.

Úselo en combinación con el .\TSS.ps1 -Stop cmdlet para detener los seguimientos una vez que se reproduzca el problema.
-CollectLog Este parámetro se usa normalmente junto con el argumento DND_SetupReport.

Ejemplo:
.\TSS.ps1 -Collectlog DND_SetupReport

Los registros relacionados con los seguimientos también se recopilan automáticamente al detener la recopilación de datos.

Sintaxis para usar el conjunto de herramientas de TSS

Parámetro Descripción
<placeholder> La cadena entre corchetes angulares (<>) para marcadores de posición debe sustituirse por un nombre de escenario real, componente de seguimiento, comando o valor.
[optional] La palabra clave o el valor entre corchetes ([ ]) es opcional. Por ejemplo, [module:int] significa que el módulo y el intervalo son opcionales. El valor predeterminado se usa si [<xx>:<yy>] se omite.
| Este parámetro significa 'OR'. Puede elegir una de las opciones disponibles.
: Carácter separador entre dos valores.

Ejemplos de cmdlet

Cmdlet de PowerShell Descripción
.\TSS.ps1 -PerfMon [General:10] Este parámetro significa PerfMon CounterSetName= General y Interval= 10 segundos. Cuando [General:10] se omite, se inicia el valor predeterminado, por lo que -PerfMon tiene el mismo efecto que -PerfMon General -PerfIntervalSec 10.
.\TSS.ps1 [-StopWaitTimeInSec <N>] Este parámetro significa que el argumento -StopWaitTimeInSec es opcional, pero si se especifica, es obligatorio un valor para <N> ="el número de segundos".

Seguimiento de eventos para Windows (ETW)

Seguimiento etw Cmdlet de PowerShell Descripción
Habilitar un seguimiento de escenario. .\TSS.ps1 -Scenario <ScenarioName> Los nombres de escenario admitidos se enumeran mediante el TSS.ps1 -ListSupportedScenarioTrace cmdlet .
Habilitar seguimientos de componentes. .\TSS.ps1 <-ComponentName> <-ComponentName> ... El admitido <-componentName> se muestra mediante el TSS.ps1 -ListSupportedTrace cmdlet .
Inicie los seguimientos con el modo sin espera. .\TSS.ps1 -StartNoWait -Scenario <ScenarioName>

.\TSS.ps1 -Stop
El símbolo del sistema devuelve inmediatamente, por lo que puede cerrar la sesión o usar un cmdlet como Shutdown.

El cmdlet .\TSS.ps1 -Stop detiene el seguimiento.

Nota:

Para enumerar todos los GUID de proveedor de componentes o escenarios, use el -ListETWProviders cmdlet . Por ejemplo:

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

Herramientas y comandos de soporte técnico

Inicie herramientas o comandos de soporte técnico (por ejemplo, ProcMon, ProcDump, netsh, Monitor de rendimiento (PerfMon), WPR o Radar) para mejorar la recopilación de registros con herramientas adicionales para capturas especializadas.

Cmdlet de PowerShell Descripción
-Fiddler Recopile el seguimiento de Fiddler. Requiere la instalación de Fiddler.

Habilite la opción de descifrado de tráfico seleccionandoOpciones de herramientas> y seleccionando Descifrar tráfico HTTPS en la pestaña HTTPS.
-GPresult <Start|Stop|Both> Recopile sysInternals Handle.exe salida en la fase start, stopo both.
-Handle <Start|Stop|Both> Recopile sysInternals Handle.exe salida en la fase start, stopo both.
-LiveKD <Start|Stop|Both> Inicie SysInternals LiveKD -ml (volcado de kernel en directo).
<Start>: el volcado se realiza al principio de la reproducción.
<Stop>: el volcado se realiza en la parada.
<Both>: el volcado se realiza tanto en inicio como en detención.
-Netsh
1. -NetshOptions '<Option string>'
2. -NetshMaxSizeMB <Int>
3. -noPacket
Inicie la captura de paquetes de red.

1. Especifique opciones adicionales para Netsh. Por ejemplo, 'capturetype=both captureMultilayer=yes provider=Microsoft-Windows-PrimaryNetworkIcon provider={<GUID>}'.
2. Tamaño máximo del registro para Netsh en megabytes (MB) (por ejemplo, -NetshMaxSizeMB 4096). El valor predeterminado es 2048.
3. Evite que los paquetes se capturen con Netsh (solo se capturarán los seguimientos ETW en ScenarioName ).
-NetshScenario
1. -NetshOptions '<Option string>'
2. -NetshMaxSizeMB <Int>
3. -noPacket
Inicie el seguimiento del Netsh escenario. El admitido <ScenarioName> se muestra mediante el -ListSupportedNetshScenario cmdlet .

1. Especifique opciones adicionales para Netsh. Por ejemplo, 'capturetype=both captureMultilayer=yes provider=Microsoft-Windows-PrimaryNetworkIcon provider={<GUID>}'.
2. Tamaño máximo del registro para Netsh en MB (por ejemplo, -NetshMaxSizeMB 4096). El valor predeterminado es 2048.
3. Impedir que los paquetes se capturen con Netsh (solo se capturarán seguimientos ETW en el nombre del escenario).
-PerfMon <CounterSetName> [-PerfIntervalSec N] [-PerfMonMaxMB <N>] [-PerfMonCNF <[[hh:]mm:]ss>]
1. -PerfIntervalSec <Interval in sec>
2. -PerfMonMaxMB <N>
3. -PerfMonCNF <[[hh:]mm:]ss>
Inicie los registros de Monitor de rendimiento. <CounterSetName> se puede enumerar mediante el -ListSupportedPerfCounter cmdlet .

1. Establezca el intervalo para el PerfMon registro (el valor predeterminado es 10 segundos).
2. Especifique un valor int para el tamaño máximo Perfmon del registro en MB (el valor predeterminado es 2048).
3. Cree un nuevo archivo cuando haya transcurrido el tiempo especificado o cuando se supere el tamaño máximo de <PerfMonMaxMB> .
-PerfMonLong <CounterSetName> [-PerfLongIntervalMin N] [-PerfMonMaxMB <N>] [-PerfMonCNF <[[hh:]mm:]ss>]
1. -PerfLongIntervalMin <Interval in min>
Monitor de rendimiento con un intervalo largo.

1. Establezca el intervalo para el PerfMonLong registro (el valor predeterminado es 10 minutos).
-PktMon Recopilar datos de supervisión de paquetes (en Windows Server 2019, Windows 10, versión 1809 y versiones posteriores). PktMon:Drop recopila solo paquetes eliminados.
-PoolMon <Start|Stop|Both> Recopile PoolMon en 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
Capture volcados de usuario de un solo elemento o lista de elementos separados por comas mediante SysInternals ProcDump.exe. De forma predeterminada, el volcado se realiza al principio de la reproducción y se detiene. Escriba ProcessName(s) con la .exe extensión .

1. Start: el volcado se toma al principio de la reproducción.
Stop: el volcado se realiza en la parada.
Both (valor predeterminado): el volcado se realiza tanto en inicio como en detención.
2. Use esta opción cuando el volcado de memoria deba capturarse repetidamente.
N: el número de volcados de memoria
Int: el intervalo en segundos
El valor predeterminado es 3:10.
3. Este modificador habilita ProcDump -ma -e, que escribe un volcado completo cuando el proceso encuentra una excepción no controlada.
-ProcMon
1. -ProcmonAltitude <N>
2. -ProcmonPath <folder path to Procmon.exe>
3. -ProcmonFilter <filter-file.pmc>
Inicie SysInternals Procmon.exe.

1. Especifique un valor de cadena para ProcmonAltitude (el valor predeterminado es 385200). Use fltmc instances para mostrar la altitud del controlador de filtro. Use un número inferior al del controlador específico sospechoso. El valor 45100 le mostrará prácticamente todo.
2. Especifique una ruta de acceso a Procmon.exe (de forma predeterminada, TSS usa el Procmon integrado).
3. Especifique un archivo de configuración para Procmon (por ejemplo, ProcmonConfiguration.pmc) ubicado en la carpeta \config .
-PSR Iniciar la grabadora de pasos de problemas.
-Radar <PID[]|ProcessName[]|ServiceName[]> Recopile la información de diagnóstico de fugas (rdrleakdiag.exe).

Por ejemplo, -Radar AppIDSvc.
-RASdiag Recopilar seguimiento. El seguimiento del Netsh conjunto de diagnósticos de Ras está habilitado.
-SDP <SpecialityName[]>
1. -SkipSDPList "<xxx>","<yyy>"
2. <SpecialityName>
Recopile el paquete de diagnóstico de soporte técnico (SDP) para la especialidad especificada. Para obtener la lista completa de SpecialityNames y SkipSDPList, use el .\tss -help cmdlet .

Omita la lista separada por comas de los nombres de módulo SDP que se bloquean en el entorno mientras se ejecuta el informe SDP.
-SysMon Recopile registros de SysInternals System Monitor (SysMon) (sysmonConfig.xml en la carpeta de configuración de forma predeterminada).
-TTD <PID[]|ProcessName.exe[]|ServiceName[]>
1. -TTDPath <Folder path to tttracer.exe>
2. -TTDMode<Full|Ring|onLaunch>
3. -TTDMaxFile <size in MB>
4. -TTDOptions '<String of TTD options>'
Start Time Travel Debugging (TTD) (TTT/iDNA) con el modo predeterminado -Full . Escriba las ProcessName(s) con la .exe extensión, un solo elemento (PID/nombre) o una lista de elementos separados por comas.

Note:
El sistema operativo de nivel inferior antes de Windows 10, la versión 1703 requiere el paquete TSS_TTD.zip.

1. Especifique la ruta de acceso de la carpeta que contiene tttracer.exe (PartnerTTD). Normalmente, este modificador solo es necesario si desea forzar una ruta de acceso específica.
2. Full = -dumpfull (=default)
Ring = modo de búfer en anillo
onLaunch = -onLaunch (requiere TSS_TTD)
3. Tamaño máximo del archivo de registro. La operación depende de -TTDMode. Full se detiene cuando se alcanza el tamaño máximo y Ring mantiene el tamaño máximo en el búfer de anillo.
4. Use esta opción para agregar opciones adicionales para TTD (TTT/iDNA).
-Video Iniciar la captura de vídeo (requiere que se instale .NET 3.5).
-WFPdiag Recopile seguimientos con el netsh Wfp capture comando .
-WireShark Inicie WireShark. Los parámetros siguientes se pueden configurar mediante el archivo tss_config.cfg .

1. WS_IF: se usa para -i. Especifique el número de interfaz (por ejemplo, _WS_IF=1).
2. WS_Filter: se usa para -f. Filtre por la interfaz (por ejemplo, _WS_Filter="port 443").
3. WS_Snaplen: se usa para -s. Limitar la cantidad de datos para cada fotograma. Este parámetro tiene un mejor rendimiento y es útil para situaciones de carga alta (por ejemplo, _WS_Snaplen=128).
4. WS_TraceBufferSizeInMB: se usa para -b FileSize (multiplicado por 1024). Cambie al siguiente archivo después del número de megabytes. (por ejemplo, _WS_TraceBufferSizeInMB=512, default=512 MB)
5. WS_PurgeNrFilesToKeep: se usa para -b files. Reemplace después del número de archivos. (por ejemplo, _WS_PurgeNrFilesToKeep=20)
6. WS_Options: cualquier otra opción para -i (por ejemplo, _WS_Options="-P").

Ejemplo:
Para recopilar WireShark en las interfaces 15 y 11, escriba cuando TSS solicite un número de interfaz: 15 -i 11.

De forma predeterminada, Wireshark inicia 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>'
Inicie un seguimiento de perfil de WPR. <WPRprofile>es uno de GeneralVSOD_Leak|CPUVSOD_CPU|||DeviceSQL||XamlWait||Graphic|Storage|RegistryNetworkMemory||BootGeneral|.

1. Omita la generación de archivos de símbolos (archivos PDB).
2. Especifique las opciones para WPR.exe. Por ejemplo, -WPROptions '-onoffproblemdescription "test description"'.

Ejemplo 1:
.\TSS.ps1 -StartAutoLogger -WPR BootGeneral -WPROptions '-addboot CPU' capturará los seguimientos de arranque de WPR con los General perfiles y CPU .

Ejemplo 2:
.\TSS.ps1 -WPR General -WPROptions '-Start CPU -start Network -start Minifilter' combinará perfiles (General, CPU, Networky Minifilter).
-Xperf <Profile>
1. -XperfMaxFileMB <Size>
2. -XperfTag <Pool Tag>
3. -XperfPIDs <PID>
4. -XperfOptions <Option string>
Inicie Xperf. <Profile>es uno de GeneralSBSLboot||DiskRegistry||SBSLPoolNPP||SMB2|Pool|NetworkMemoryLeak||CPU|.

1. Especifique el tamaño máximo del registro en MB (el valor predeterminado es 2048 MB). El valor predeterminado para escenarios SBSL* es 16384 (el mismo para ADS_/NET_SBSL).
2. Especifique PoolTag que se va a registrar. Este parámetro se usa con el Pool perfil o PoolNPP (por ejemplo, -Xperf Pool -XperfTag TcpE+AleE+AfdE+AfdX).
3. Especifique ProcessID. Este parámetro se usa con el Leak perfil (por ejemplo, -Xperf Leak -XperfPIDs <PID>).
4. Especifique otras cadenas de opción para Xperf.
-xray Inicie xray para diagnosticar un sistema de problemas conocidos.

En el ejemplo siguiente se muestra cómo activar varias herramientas de soporte técnico (comandos) durante el mismo seguimiento.

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

Parámetros dentro de las opciones de TSS

Define parámetros específicos dentro de las opciones de TSS para controlar, mejorar o simplificar la recopilación de datos.

Parámetro Descripción
-AcceptEula No preguntes al principio; ejecutar para aceptar la declinación de responsabilidades (útil para la -RemoteRun ejecución).
-AddDescription <description> Agregue una breve descripción del problema de reproducción. El nombre del archivo ZIP resultante incluirá dicha descripción.
-Assist Modo de accesibilidad.
-BasicLog Recopile el registro básico completo (el registro básico mínimo siempre se recopila de forma predeterminada).
-CollectComponentLog Use con -Scenario. De forma predeterminada, no se llama a las funciones de recopilación de componentes en el -Scenario seguimiento. Este modificador permite llamar a las funciones de recopilación de componentes.
-CollectDump Recopile el volcado del sistema (memory.dmp) después de detener todos los seguimientos. -CollectDump se puede usar con -Start y -Stop.
-CollectEventLog <Eventlog[]> Recopile los registros de eventos especificados. El carácter comodín asterisco (*) se puede usar para el nombre del registro de eventos.

Ejemplo:
-CollectEventLog Security,*Cred*
Recopile la seguridad y todos los registros de eventos que coincidan *Cred* como 'Microsoft-Windows-CertificateServicesClient-CredentialRoaming/Operational'.
-CommonTask <<POD>|Full|Mini> Ejecute tareas comunes antes de iniciar y después de detener el seguimiento.

<POD>: actualmente, solo "NET" está disponible. Recopile información adicional antes de iniciar y después de detener el seguimiento.
Full: el registro básico completo se recopila después de detener el seguimiento.
Mini: el registro básico mínimo se recopila después de detener el seguimiento.
-Crash Desencadene un bloqueo del sistema con NotMyFault en la detención de la reproducción, o después de que todos los eventos se señalen si se usan con -WaitEvent.

Precaución:
Este modificador forzará un volcado de memoria (se reiniciará el sistema), por lo que no se guardarán los archivos abiertos.
-CustomETL Agregue proveedores de seguimiento ETL personalizados. Por ejemplo, .\TSS.ps1 -WIN_CustomETL -CustomETL '{<GUID>}','Microsoft-Windows-PrimaryNetworkIcon' (una lista separada por comas de comillas '{GUID}' simples o 'Provider-Name').
-DebugMode Ejecute con el modo de depuración para un desarrollador.
-VerboseMode Mostrar una salida más detallada o informativa al procesar funciones de TSS.
-Discard Se usa para descartar un conjunto de datos en la fase -Stop. *Stop- o *Collect- las funciones no se ejecutarán. xray y psSDP se omitirá.
-EnableCOMDebug Módulo para activar el modo de depuración COM.
-ETLOptions<circular|newfile>:<ETLMaxSizeMB>:<ETLNumberToKeep>:<ETLFileMax> Establezca las opciones que se pasan a los logman comandos. El valor predeterminado para circular ETLMaxSizeMB es 1024 y el valor predeterminado para newfile ETLMaxSizeMB es 512.

-StartAutologger solo admite -ETLOptions circular:<ETLMaxSize>:<ETLNumberToKeep>:<ETLFileMax>, pero ETLNumberToKeep no se ejecutará de forma esperada.

Ejemplo.1:
-ETLOptions newfile:2048:5

Ejecute newfile registros con un tamaño de 2048 MB. Conservar solo los últimos cinco *.etl archivos. La configuración predeterminada para el modo circular es circular:1024y para el modo de archivo nuevo es newfile:512:10.

Ejemplo 2:
-StartAutologger -ETLOptions circular:4096
Autologger no obedecerá :<ETLNumberToKeep> y solo acepta el modo circular.

Ejemplo 3:
-StartAutologger -ETLOptions circular:4096:10:3
Autologger no obedecerá :<ETLNumberToKeep> y solo acepta el modo circular y "3" como el número de autologger generaciones.
-ETWlevel <Info|Warning|Error> Establecer el nivel de seguimiento de eventos. El valor predeterminado es 0xFF.
-EvtDaysBack <N> Convierta los registros de eventos solo durante los últimos N días. El valor predeterminado es 30 días. También se aplica al informe SDP.

Note:
Se omitirán los registros de eventos de seguridad.
-ExternalScript <path to external PS file> Ejecute el script de PowerShell especificado antes de iniciar el seguimiento.
-LogFolderPath <Drive:\path to log folder> Use una ruta de acceso de carpeta de registro diferente para los datos de salida resultantes en lugar de la ubicación predeterminada (C:\MS_DATA). Es útil cuando la unidad C: es baja en espacio libre en disco.
-MaxEvents <N> Como argumento para '-WaitEvent Evt:..', el parámetro investigará el último N número de eventos con el mismo identificador de evento (el valor predeterminado es 1).
-Mini Recopile solo datos mínimos. Omita noPSR, noSDP, noVideo, noXray, noZipy noBasicLog.
-Mode <Basic|Medium|Advanced|Full|Verbose|VerboseEx|Hang|Restart
|Swarm|Kube|GetFarmdata|Permission|traceMS>
Ejecute scripts en Basicel modo , Medium, Advanced, Fullo Verbose(Ex) para la recopilación de datos. Restart reiniciará el servicio asociado.
-RemoteRun Use cuando TSS se ejecuta en un host remoto, por ejemplo, a través de PsExec, en la consola serie de Azure o con la comunicación remota de PowerShell. Este parámetro impedirá psr, grabación de vídeo, inicio de TssClock y apertura del Explorador con los resultados finales. En tal caso, considere -AcceptEulatambién .
-StartNoWait No espere y el mensaje volverá inmediatamente. Este parámetro es útil para el escenario en el que un usuario debe cerrar la sesión.
-WaitEvent Supervise el evento o el desencadenador de detención especificados; Si se indica, los seguimientos se detendrán automáticamente.

Hay una amplia variedad de opciones para desencadenar una detención automática. Ejecute .\TSS.ps1 -Find Monitoring para ver el uso.
-Update
1. -UpdMode<Online|Lite>
Actualice el paquete TSS. Se puede usar junto con -UpdMode Online|Lite.

Online es el valor predeterminado y Lite es la Upd versión lite.
-Help
1. Common
2. ALL
3. Monitoring
4. Config
5. Keyword
Proporcione mensajes de ayuda en varios escenarios.

1. Mensaje de ayuda general común.
2. Todas las opciones disponibles.
3. Mostrar mensajes de ayuda para la supervisión y las características remotas.
4. Ayuda con todos los parámetros de configuración.
5. Puede escribir cualquier palabra clave y mostrará la información de ayuda sobre esa palabra clave.
-Status Muestra el estado del seguimiento en ejecución, si existe.

Scripts y herramientas auxiliares incluidos

Script y herramienta auxiliares Descripción
\scripts\tss_EventCreate.ps1 Cree una entrada de registro de eventos en archivos de registro de eventos con identificadores de evento.
\scripts\tss_SMB_Fix-SmbBindings.ps1 Útil para corregir enlaces SMB dañados (LanmanServer, LanmanWorkstation o NetBT). Vea también -Collect NET_SMBsrvBinding.
\BINx64\kdbgctrl.exe Use el modificador -sd <dump type> para establecer el tipo Full|Kernelde volcado de memoria del kernel, por ejemplo, kdbgctrl -sd Full.
\BINx64\NTttcp.exe Pruebas de rendimiento. Para obtener más información, consulte Prueba del rendimiento de red de la máquina virtual mediante NTTTCP.
\BINx64\latte.exe Pruebas de latencia. Para obtener más información, consulte Prueba de la latencia de red entre máquinas virtuales de Azure.
\BINx64\notmyfaultc.exe Forzar un volcado de memoria. Vea NotMyFault v4.21 si la línea de comandos de TSS incluye -Crash.

Solución de errores inesperados de PowerShell

  1. Ejecute este cmdlet después de un error:

    .\TSS.ps1 -Stop -noBasiclog -noXray
    
  2. Cierre la ventana abierta de PowerShell con privilegios elevados e inicie una nueva ventana de PowerShell con privilegios elevados.

  3. Permitir que los scripts de PowerShell se ejecuten en el sistema con el adecuado ExecutionPolicy.

  4. Si encuentra un error que indica que el script en ejecución está deshabilitado, pruebe los métodos siguientes.

Método 1

  1. Ejecute el siguiente cmdlet:

    Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -force -Scope Process
    
  2. Compruebe la configuración con el Get-ExecutionPolicy -List cmdlet de que ninguna ExecutionPolicy con mayor prioridad está bloqueando la ejecución de este script.

  3. Vuelva a ejecutar el .\TSS.ps1 <Desired Parameters> cmdlet.

Método 2 (alternativo)

Si los scripts están bloqueados por MachinePolicy, ejecute los siguientes cmdlets en una ventana de PowerShell con privilegios elevados:

  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
    

Método 3 (alternativo)

Si los scripts están bloqueados por UserPolicy, ejecute los siguientes cmdlets en una ventana de PowerShell con privilegios elevados:

  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:

El método 2 es solo una solución alternativa para la directiva MachinePolicy - RemoteSigned. Si también ve UserPolicy - RemoteSigned, pida al administrador de dominio una exención temporal de objetos directiva de grupo (GPO).

En raras situaciones, puede probar el -ExecutionPolicy Bypass cmdlet .

Si su organización fuerza el modo de lenguaje restringido de PowerShell de GPO (System.Management.Automation.EngineIntrinsics.SessionState.LanguageMode -ne 'FullLanguage'), pida al administrador de dominio una exención temporal de GPO.

Preguntas más frecuentes (P+F)

  • P1: ¿Cambia el script TSS alguna configuración o configuración de mi sistema?

    A1: No, pero se requiere una configuración del Registro para habilitar el registro de depuración en algunos escenarios. El script establece la clave necesaria al principio de la recopilación de datos y revierte la clave al valor predeterminado al final de la recopilación de datos. También puede eliminar algunas memorias caché (por ejemplo, la caché ARP o la caché de resolución de nombres) al principio de la recopilación de datos para observar el problema de los registros.

  • P2: ¿El conjunto de herramientas TSS coloca una carga adicional en el servidor?

    A2: Algunos registros (por ejemplo, captura de red, recopilación de seguimiento etw, etc.) iniciados por el conjunto de herramientas de TSS podrían poner una carga menor en el sistema. La carga suele estar en niveles ignorables. Póngase en contacto con su representante de soporte técnico cuando vea un uso elevado de CPU, memoria o disco después de iniciar el conjunto de herramientas de TSS.

  • P3: ¿Por qué no se puede reproducir el problema cuando se ejecuta el conjunto de herramientas de TSS?

    A3: El conjunto de herramientas TSS puede eliminar toda la información almacenada en caché al principio. También inicia la captura de red en un modo promiscuo, lo que cambia los comportamientos predeterminados de la tarjeta de interfaz de red (NIC). Estos cambios pueden afectar al problema y los problemas pueden desaparecer. Especialmente para problemas de temporización concretos, los problemas desaparecen debido a la recopilación de datos del conjunto de herramientas de TSS. La recopilación de datos inicia el registro, lo que podría afectar indirectamente al problema y cambiar la situación.

  • P4: ¿Por qué el conjunto de herramientas TSS no responde durante mucho tiempo?

    A4: En algunos casos, los comandos integrados del sistema operativo ejecutados por el conjunto de herramientas de TSS podrían no responder o tardar mucho tiempo en completarse. Póngase en contacto con su representante de soporte técnico si experimenta este problema.

  • P5: ¿Tengo que preocuparme por el espacio en disco o algo más cuando ejecuto el conjunto de herramientas de TSS durante mucho tiempo?

    A5: Todo el seguimiento de TSS está configurado para ejecutarse con búferes en anillo, por lo que puede ejecutar el conjunto de herramientas durante mucho tiempo si es necesario. El conjunto de herramientas TSS también calcula el espacio en disco al principio de la recopilación de datos y puede salir si no hay suficiente espacio en disco. Si ve un uso elevado del disco después de iniciar el conjunto de herramientas de TSS o tiene alguna otra preocupación sobre el uso del disco del conjunto de herramientas, póngase en contacto con su representante de soporte técnico.

  • P6: ¿Qué debo hacer si recibo la siguiente advertencia de seguridad al ejecutar el 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: En raras situaciones, puede recibir esta advertencia de seguridad. Puede desbloquear el script mediante el cmdlet PS C:\> Unblock-File -Path C:\TSS\TSS.ps1. Este script desbloqueará todos los demás módulos mediante el cmdlet Get-ChildItem -Recurse -Path C:\TSS\*.ps* | Unblock-File -Confirm:$false.

Contrato de licencia de usuario final (CLUF)

Seleccione a continuación para ver LOS TÉRMINOS DE LICENCIA DE SOFTWARE DE MICROSOFT.

Scripts y utilidades de diagnóstico de 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. Sujeto a los términos y restricciones establecidos en esta licencia, Microsoft Corporation ("Microsoft") le concede ("Cliente" o "usted") una licencia no exclusiva, no asignable y totalmente de pago para usar y reproducir el script o la utilidad proporcionados bajo esta licencia (el "Software"), únicamente para fines empresariales internos del cliente, para ayudar a Microsoft a solucionar problemas con uno o varios productos de Microsoft, siempre que dicha licencia para el Software no incluya ningún derecho a otras tecnologías de Microsoft (como productos o servicios). "Usar" significa copiar, instalar, ejecutar, acceder, mostrar, ejecutar o interactuar de otro modo con el Software.

    Usted no puede sublicenciar el Software o cualquier uso del mismo a través de la distribución, el acceso a la red o de otro modo. Microsoft se reserva todos los demás derechos no concedidos expresamente aquí, ya sea por implicación, estoppel o de otro modo. No puede realizar ingeniería inversa, descompilar o desensamblar el Software, ni intentar derivar el código fuente del Software, excepto y en la medida requerida por los términos de licencia de terceros que rigen el uso de determinados componentes de código abierto que pueden incluirse en el Software, o quitar, minimizar, bloquear o modificar cualquier aviso de Microsoft o sus proveedores en el Software. Ni usted ni sus representantes podrán utilizar el Software que se proporciona a continuación: (i) de manera prohibida por la ley, la regulación, el orden gubernamental o el decreto; (ii) infringir los derechos de otros; (iii) para intentar obtener acceso no autorizado a cualquier servicio, dispositivo, datos, cuenta o red; (iv) para distribuir spam o malware; (v) de forma que pueda dañar los sistemas de TI de Microsoft o afectar al uso de ellos por parte de cualquier otra persona; (vi) en cualquier aplicación o situación en la que el uso del Software pueda conducir a la muerte o lesiones corporales graves de cualquier persona, o a daños físicos o ambientales; o (vii) para ayudar, animar o permitir que cualquiera haga cualquiera de las anteriores.

  2. DATOS. El cliente posee todos los derechos sobre los datos que puede elegir compartir con Microsoft mediante el uso del Software. Puede obtener más información sobre la recopilación y el uso de datos en la documentación de ayuda y la declaración de privacidad en https://aka.ms/privacy. Su uso del Software funciona como su consentimiento para estas prácticas.

  3. FEEDBACK. Si hace comentarios sobre el Software a Microsoft, concede a Microsoft, sin cargo alguno, el derecho de usar, compartir y comercializar sus comentarios de cualquier manera y para cualquier propósito. No proporcionará ningún comentario que esté sujeto a una licencia que exija a Microsoft licenciar su software o documentación a terceros debido a Microsoft, incluidos sus comentarios en dicho software o documentación.

  4. EXPORT RESTRICTIONS. El cliente debe cumplir con todas las leyes y regulaciones de exportación nacionales e internacionales que se aplican al Software, que incluyen restricciones en los destinos, usuarios finales y uso final. For further information on export restrictions, visit https://aka.ms/exporting.

  5. REPRESENTACIONES Y GARANTÍAS. El cliente cumplirá con todas las leyes aplicables en virtud de este contrato, incluida la entrega y el uso de todos los datos. El cliente o un designado que acepte estos términos en nombre de una entidad representa y garantiza que (i) tiene todo el poder y la autoridad para cumplir y cumplir sus obligaciones en virtud de este contrato, (ii) tiene pleno poder y autoridad para vincular a sus filiales u organizaciones a los términos de este contrato, y (iii) garantizará el permiso de la otra parte antes de proporcionar cualquier código fuente de una manera que pudiera estar sujeta a la propiedad intelectual de la otra parte a cualquier otro término de licencia o exigir a la otra parte que distribuya código fuente a cualquiera de sus tecnologías.

  6. DECLINACIÓN DE RESPONSABILIDAD SOBRE LA GARANTÍA. EL SOFTWARE SE PROPORCIONA "TAL CUAL", SIN GARANTÍA DE NINGÚN TIPO, EXPRESA O IMPLÍCITA, INCLUIDAS, ENTRE OTRAS, LAS GARANTÍAS DE COMERCIABILIDAD, IDONEIDAD PARA UN FIN DETERMINADO Y NO INFRACCIÓN. EN NINGÚN CASO MICROSOFT NI SUS LICENCIANTES SERÁN RESPONSABLES DE LOS DAÑOS DIRECTOS, INDIRECTOS, INCIDENTALES, ESPECIALES, EJEMPLARES O CONSECUENTES (INCLUIDOS, ENTRE OTROS, LA ADQUISICIÓN DE BIENES O SERVICIOS SUSTITUTOS; PÉRDIDA DE USO, DATOS O BENEFICIOS; O INTERRUPCIÓN DEL NEGOCIO) SIN EMBARGO CAUSADO Y EN CUALQUIER TEORÍA DE RESPONSABILIDAD, YA SEA EN CONTRATO, RESPONSABILIDAD ESTRICTA, O AGRAVIO (INCLUIDA LA NEGLIGENCIA O DE OTRO MODO) QUE SURJA DE CUALQUIER MANERA FUERA DEL USO DEL SOFTWARE, INCLUSO SI SE ACONSEJA LA POSIBILIDAD DE TALES DAÑOS.

  7. LIMITACIÓN Y EXCLUSIÓN DE DAÑOS. SI TIENE ALGUNA BASE PARA RECUPERAR DAÑOS A PESAR DE LA RENUNCIA DE GARANTÍA ANTERIOR, PUEDE RECUPERAR DE MICROSOFT Y SUS PROVEEDORES SOLO DAÑOS DIRECTOS HASTA EE. UU. . 00. NO PUEDE RECUPERAR NINGÚN OTRO DAÑO, INCLUIDOS DAÑOS CONSECUENTES, PERDIDOS, ESPECIALES, INDIRECTOS O INCIDENTALES. Esta limitación se aplica a (i) cualquier cosa relacionada con el Software, los servicios, el contenido (incluido el código) en sitios de Internet de terceros o aplicaciones de terceros; y (ii) reclamaciones por incumplimiento de contrato, garantía, garantía o condición; responsabilidad estricta, negligencia u otro agravio; o cualquier otra notificación; en cada caso en la medida permitida por la ley aplicable. 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. Esta sección se aplica si vive en la Estados Unidos (o, si es una empresa, su lugar principal de negocio). 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. LEY Y LUGAR. 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.