Compartir a través de


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 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:

  • El conjunto de herramientas de TSS debe ejecutarse en una ventana de PowerShell con privilegios elevados mediante cuentas con privilegios de administrador en el sistema local. 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 que se acepte el CLUF, el conjunto de herramientas de TSS no solicitará de nuevo 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 desde un símbolo del sistema de PowerShell con privilegios Set-ExecutionPolicy -scope Process -ExecutionPolicy RemoteSigned -Force 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 distintos modificadores 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 de arranque, use -StartAutoLogger para reemplazar -Start.

Úselo en combinación con el .\TSS.ps1 -Stop cmdlet para detener los seguimientos una vez que se reproduce 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 obtener diagnósticos del espacio de nombres DFSN.
-StartNoWait Este parámetro permite que los seguimientos permanezcan activos incluso cuando se cierra la sesión.

Úselo en combinación con el .\TSS.ps1 -Stop cmdlet para detener los seguimientos una vez que se reproduce 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 los 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 cmdlets

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, el valor predeterminado se inicia, 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 el seguimiento de Windows (ETW)

Seguimiento etw Cmdlet de PowerShell Descripción
Habilite un seguimiento de escenarios. .\TSS.ps1 -Scenario <ScenarioName> Los nombres de escenario admitidos se enumeran mediante el TSS.ps1 -ListSupportedScenarioTrace cmdlet .
Habilite los seguimientos de componentes. .\TSS.ps1 <-ComponentName> <-ComponentName> ... El valor admitido <-componentName> se muestra mediante el TSS.ps1 -ListSupportedTrace cmdlet .
Inicie seguimientos sin modo de 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 Recopilar el seguimiento de Fiddler. Requiere que Fiddler esté instalado.

Habilite la opción de descifrado de tráfico seleccionando Opciones de herramientas>y seleccionando Descifrar tráfico HTTPS en la pestaña HTTPS.
-GPresult <Start|Stop|Both> Recopile GPresult la 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 activo).
<Start>: el volcado se toma al principio de la reproducción.
<Stop>: el volcado se toma en detención.
<Both>: el volcado se toma al principio y a la parada.
-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. Impedir que los paquetes se capturen con Netsh (solo se capturarán seguimientos ETW en el ScenarioName ).
-NetshScenario
1. -NetshOptions '<Option string>'
2. -NetshMaxSizeMB <Int>
3. -noPacket
Inicie el seguimiento del Netsh escenario. El valor 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 del PerfMon registro (el valor predeterminado es de 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 de 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 descartados.
-PoolMon <Start|Stop|Both> Recopilar 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 una sola lista de elementos separados por comas o elementos mediante SysInternals ProcDump.exe. De forma predeterminada, el volcado se toma 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 toma en detención.
Both (valor predeterminado): el volcado se toma al principio y a la detención.
2. Utilice esta opción cuando el volcado de memoria se deba capturar 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 menor que el 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 procmon integrado).
3. Especifique un archivo de configuración para Procmon (por ejemplo, ProcmonConfiguration.pmc) ubicado en la carpeta \config .
-PSR Inicie la grabadora de pasos de problemas.
-Radar <PID[]|ProcessName[]|ServiceName[]> Recopile la información de diagnóstico de pérdida (rdrleakdiag.exe).

Por ejemplo, -Radar AppIDSvc.
-RASdiag Recopilar seguimiento. El Netsh seguimiento del conjunto de diagnósticos 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 nombres de módulo SDP que se bloquean en el entorno mientras se ejecuta el informe de SDP.
-SysMon Recopile registros de SysInternals System Monitor (SysMon) (sysmonConfig.xml en la carpeta config 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>'
Iniciar la depuración de viajes de tiempo (TTD) (TTT/iDNA) con el modo predeterminado -Full . Escriba los ProcessName(s) con la .exe extensión, un único elemento (PID/name) o una lista separada por comas de elementos.

Nota:
El sistema operativo de nivel anterior a Windows 10, versión 1703, requiere el paquete de TSS_TTD.zip .

1. Especifique la ruta de acceso de 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 de 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 Inicie 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. Limite la cantidad de datos de cada fotograma. Este parámetro tiene un mejor rendimiento y resulta útil para situaciones de alta carga (por ejemplo, _WS_Snaplen=128).
4. WS_TraceBufferSizeInMB: utilizado 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 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. Omitir 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á 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 los escenarios SBSL* es 16384 (igual 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; ejecute 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 mínimo siempre se recopila de forma predeterminada).
-CollectComponentLog Se usa 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[]> Recopilar 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 está disponible "NET". 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 mínimo básico se recopila después de detener el seguimiento.
-Crash Desencadene un bloqueo del sistema con NotMyFault en la detención de reproducción o después de que se indiquen todos los eventos si se usan con -WaitEvent.

Precaución:
Este modificador forzará un volcado de memoria (el sistema se reiniciará), por lo que no se guardarán los archivos abiertos.
-CustomETL Agregue proveedores de seguimiento de ETL personalizados. Por ejemplo, .\TSS.ps1 -WIN_CustomETL -CustomETL '{<GUID>}','Microsoft-Windows-PrimaryNetworkIcon' (una lista separada por comas de comillas únicas '{GUID}' 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án.
-EnableCOMDebug Módulo para activar el modo de depuración COM.
-ETLOptions<circular|newfile>:<ETLMaxSizeMB>::<ETLNumberToKeep><ETLFileMax> Establezca las opciones que se pasan a logman los comandos. El valor predeterminado de circular ETLMaxSizeMB es 1024 y el valor predeterminado de 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. Mantenga solo los cinco *.etl últimos archivos. La configuración predeterminada para el modo circular es circular:1024y para el modo newfile 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> Establezca 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 de 30 días. También se aplica al informe SDP.

Nota:
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 otra ruta de acceso de carpeta de registro para los datos de salida resultantes en lugar de la ubicación predeterminada (C:\MS_DATA). Resulta útil cuando la unidad C: tiene poco espacio libre en disco.
-MaxEvents <N> Como argumento para '-WaitEvent Evt:..', el parámetro investigará el último número N 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 se ejecuta TSS 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 también -AcceptEula.
-StartNoWait No esperes y la solicitud se devolverá inmediatamente. Este parámetro es útil para el escenario en el que un usuario necesita cerrar sesión.
-WaitEvent Supervisar el evento o el desencadenador de detención especificados; Si se señala, los seguimientos se detendrán automáticamente.

Hay una amplia variedad de opciones para desencadenar una parada automática. Ejecute .\TSS.ps1 -Find Monitoring para ver el uso.
-Update
1. -UpdMode<Online|Lite>
Actualice el paquete de 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 auxiliar y herramienta Descripción
\scripts\tss_EventCreate.ps1 Cree una entrada de registro de eventos en los 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). Consulte 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 más información, consulte Prueba del rendimiento de red de máquina virtual mediante NTTTCP.
\BINx64\latte.exe Pruebas de latencia. Para más información, consulte Probar la latencia de red entre máquinas virtuales de Azure.
\BINx64\notmyfaultc.exe Forzar un volcado de memoria. Consulte 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 de PowerShell con privilegios elevados abierto 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 se produce 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 que no ExecutionPolicy tiene mayor prioridad está bloqueando la ejecución de este script.

  3. Ejecute el cmdlet .\TSS.ps1 <Desired Parameters> nuevamente.

Método 2 (alternativo)

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

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

Método 3 (alternativo)

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

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

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 objeto de 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 de GPO temporal.

Preguntas más frecuentes (P+F)

  • P1: ¿Cambia el script de 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é de 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 de 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 está ejecutando el conjunto de herramientas de TSS?

    A3: El conjunto de herramientas de TSS puede eliminar toda la información almacenada en caché al principio. También inicia la captura de red en un modo promiscuo, 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 tiempo 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 al problema indirectamente y cambiar la situación.

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

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

  • P5: ¿Necesito preocuparme por el espacio en disco o por cualquier otra cosa cuando ejecuto el conjunto de herramientas de TSS durante mucho tiempo?

    A5: Todo el seguimiento de TSS está configurado para ejecutarse con búferes de anillo, por lo que puede ejecutar el conjunto de herramientas durante mucho tiempo si es necesario. El conjunto de herramientas de 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 cualquier otro problema 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 (EULA)

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

Utilidades y scripts de diagnóstico de Microsoft

Los presentes términos de licencia constituyen un contrato entre usted y Microsoft Corporation (o alguna de sus filiales). SI CUMPLE ESTOS TÉRMINOS DE LICENCIA, TENDRÁ LOS DERECHOS SIGUIENTES. AL USAR ESTE SOFTWARE, ACEPTA ESTOS TÉRMINOS.

  1. DERECHOS DE INSTALACIÓN Y USO. 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 pagada para usar y reproducir el script o la utilidad proporcionada bajo esta licencia (el "Software"), únicamente para los propósitos empresariales internos del cliente, para ayudar a Microsoft a solucionar problemas con uno o más productos de Microsoft, siempre que dicha licencia al 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.

    No puede sublicar el Software ni ningún uso de él 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 en este documento, ya sea por implicación, estoppel o de otro modo. No puede realizar ingeniería inversa, descompilar o desensamblar el Software, o intentar derivar el código fuente del Software, excepto y en la medida en que lo requieran 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 proporcionado aquí: (i) de manera prohibida por ley, reglamento, orden gubernamental o decreto; (ii) para infringir los derechos de los demás; (iii) intentar obtener acceso no autorizado a cualquier servicio, dispositivo, datos, cuenta o red; (iv) distribuir correo no deseado o malware; (v) de una manera que pueda dañar los sistemas de TI de Microsoft o perjudicar el uso de cualquier otra persona de ellos; (vi) en cualquier aplicación o situación en la que el uso del Software podría dar lugar 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 cualquier persona haga cualquiera de los anteriores.

  2. DATOS. El cliente posee todos los derechos de los datos que puede optar por 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. COMENTARIOS. Si proporciona comentarios sobre el Software a Microsoft, concede a Microsoft, sin cargo alguno, el derecho de usar, compartir y comercializar sus comentarios de ninguna manera y para cualquier propósito. No proporcionará ningún comentario que esté sujeto a una licencia que requeriría que Microsoft conste su software o documentación a terceros debido a que Microsoft incluye sus comentarios en dicho software o documentación.

  4. RESTRICCIONES A LA EXPORTACIÓN. El cliente debe cumplir con todas las leyes y regulaciones nacionales e internacionales que se aplican al Software, que incluyen restricciones en los destinos, los usuarios finales y el uso final. Para más información sobre las restricciones a la exportación, visite https://aka.ms/exporting.

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

  6. EXCLUSIÓN DE GARANTÍA. EL SOFTWARE SE PROPORCIONA "TAL CUAL", SIN GARANTÍA DE NINGÚN TIPO, EXPRESA O IMPLÍCITA, INCLUYENDO PERO NO LIMITADO A LAS GARANTÍAS DE COMERCIABILIDAD, IDONEIDAD PARA UN PROPÓSITO PARTICULAR Y NO INFRINGEMENT. EN NINGÚN CASO, MICROSOFT O SUS LICENCIANTES SERÁN RESPONSABLES DE CUALQUIER DAÑO DIRECTO, INDIRECTO, INCIDENTAL, ESPECIAL, EJEMPLAR O CONSECUENCIAL (INCLUYENDO, ENTRE OTROS, LA ADQUISICIÓN DE BIENES O SERVICIOS SUSTITUTOS; PÉRDIDA DE USO, DATOS O GANANCIAS; O INTERRUPCIÓN DEL NEGOCIO) SIN EMBARGO CAUSADO Y EN CUALQUIER TEORÍA DE RESPONSABILIDAD, YA SEA EN CONTRATO, RESPONSABILIDAD ESTRICTA O TORT (INCLUYENDO NEGLIGENCIA O DE OTRO MODO) QUE SURJA DE CUALQUIER MANERA FUERA DEL USO DEL SOFTWARE, INCLUSO SI SE ACONSEJA LA POSIBILIDAD DE DICHO DAÑO.

  7. LIMITACIÓN Y EXCLUSIÓN DE LA RESPONSABILIDAD. SI TIENE ALGUNA BASE PARA RECUPERAR DAÑOS A PESAR DE LA DECLINACIÓN DE RESPONSABILIDAD DE GARANTÍA ANTERIOR, PUEDE RECUPERARSE DE MICROSOFT Y SUS PROVEEDORES SOLO DAÑOS DIRECTOS HASTA EE. UU. . 00. NO PUEDE RECUPERAR NINGÚN OTRO DAÑO, ENTRE OTROS, CONSECUENCIALES, PÉRDIDAS DE BENEFICIOS, 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 tipo de responsabilidad; o cualquier otra reclamación; en cada caso en la medida en que lo permita la ley aplicable. Esto también se aplicaría aunque Microsoft conociera o debiera conocer la posibilidad de tales daños. La limitación o exclusión anterior pueden no ser aplicables a su caso porque su país, provincia o estado no permitan la exclusión o limitación de daños incidentales, consecuenciales o de otro tipo.

  8. CLÁUSULA DE RENUNCIA A DEMANDAS COLECTIVAS Y CLÁUSULA DE ARBITRAJE. Esta sección se aplica si vive en (o, si un negocio, su lugar principal de negocio está en) el Estados Unidos. Si usted y Microsoft tienen un conflicto, usted y Microsoft acuerdan intentar resolverlo de manera informal durante 60 días. Si usted y Microsoft no logran resolverlo, usted y Microsoft se comprometen a someterse a arbitraje individual ante la American Arbitration Association según la Ley Federal de Arbitraje ("FAA") y a no acudir a los tribunales. En su lugar, un árbitro neutral tomará la decisión. No se permiten las acciones generales de abogados privados, las demandas colectivas ni el arbitraje colectivo, y cualquier otro proceso en el que alguien actúe con capacidad de representación; ni tampoco la combinación de procedimientos individuales, sin el consentimiento de todas las partes. El contrato de arbitraje completo contiene más condiciones y se encuentra en https://aka.ms/arb-agreement-4. Usted y Microsoft aceptan estos términos.

  9. LEY Y LUGAR. Si existe la jurisdicción federal de Estados Unidos, usted y Microsoft consienten someterse a la jurisdicción y competencia exclusivas de los tribunales federales de King County, Washington, para todas las controversias atendidas ante los tribunales (excepto en el arbitraje). En caso de que no exista, usted y Microsoft consienten someterse a la jurisdicción y competencia exclusivas del Tribunal Superior de King County, Washington, para todas las controversias atendidas ante los tribunales (excepto en el arbitraje).

  10. CONTRATO COMPLETO. Este contrato, y otros términos que Microsoft pueda proporcionar para los suplementos, actualizaciones o aplicaciones de terceros, constituye el contrato completo para el software.