TroubleShootingScript 工具組簡介 (TSS)
本文介紹 TroubleShootingScript (TSS) 工具組,並提供常見問題的解答。
適用於:Windows Server 和 Windows 用戶端的支援版本
TSS 工具組包含以 PowerShell 為基礎的工具和數據收集和診斷架構。 工具組旨在簡化數據收集,並協助有效率且安全地解決案例。
工具組包含數個 PowerShell 腳本和可執行文件,這些檔案全都由Microsoft簽署。 根據選取的參數,TSS 會使用一或多個腳本和可執行檔來收集所需的記錄。
您可以從 下載工具組作為 zip 檔案(TSS.zip)。https://aka.ms/getTSS
必要條件
以下是工具組正確執行的一些必要條件:
TSS 工具組必須由本機系統上具有系統管理員許可權的帳戶,在提升許可權的 PowerShell 視窗中執行。 不支援在 Windows PowerShell 整合式腳本環境 (ISE) 中執行 TSS 工具組。 使用者許可協定 (EULA) 必須接受。 接受EULA之後,TSS 工具組不會再次提示 EULA。
PowerShell 指令稿執行原則應該從提升權限的 PowerShell 命令提示字元執行 Cmdlet
Set-ExecutionPolicy -scope Process -ExecutionPolicy RemoteSigned -Force
,在進程層級設定為RemoteSigned
。注意
進程層級變更只會影響目前的PowerShell會話。
如何啟動 TSS 工具組
您可以根據案例使用不同的參數啟動 TSS.ps1 。 動 -Start
詞是預設和選擇性動詞,並可視需要以互補動詞取代。 互補動 -Start
詞指令為 -StartAutoLogger
、 -StartDiag
、 -StartNoWait
和 -CollectLog
。
動詞命令 | 描述 |
---|---|
-Start |
動詞會 -Start 啟動 Windows 事件追蹤 (ETW) 元件追蹤或支援工具,例如 Windows Performance Recorder (WPR)。動詞是選擇性的 [-Start] ,但可以使用互補 -start 選項取代。 |
-StartAutoLogger |
若要在開機時收集這些記錄,請使用 -StartAutoLogger 來取代 -Start 。與 Cmdlet 搭配 .\TSS.ps1 -Stop 使用,在重現問題之後停止追蹤。 |
-StartDiag |
雖然此參數目前沒有太多用途,但未來在多個案例中會用到。 從今天起,它可以與其他自變數結合,例如 NET_DFSn 取得 DFSN 命名空間的診斷。 |
-StartNoWait |
此參數可讓追蹤在註銷時保持作用中。 與 Cmdlet 搭配 .\TSS.ps1 -Stop 使用,在重現問題之後停止追蹤。 |
-CollectLog |
此參數通常與 自變數 DND_SetupReport 一起使用。例如: .\TSS.ps1 -Collectlog DND_SetupReport |
當您停止數據收集時,也會自動收集與追蹤相關的記錄。
使用 TSS 工具組的語法
參數 | 描述 |
---|---|
<placeholder> |
佔位元中角括號 (<>) 中的字串必須以實際的案例名稱、追蹤元件、命令或值取代。 |
[optional] |
方括弧 ([ ]) 中的關鍵詞或值是選擇性的。 例如, [module:int] 表示模組和間隔是選擇性的。 如果 [<xx>:<yy>] 省略 ,則會使用預設值。 |
| | 此參數表示 'OR' 。 您可以選擇其中一個可用的選項。 |
: |
兩個值之間的分隔符。 |
Cmdlet 範例
PowerShell Cmdlet | 描述 |
---|---|
.\TSS.ps1 -PerfMon [General:10] |
此參數表示 PerfMon CounterSetName = General 和 Interval = 10 秒。 當 省略 時 [General:10] ,預設會開始,因此 -PerfMon 的效果與 -PerfMon General -PerfIntervalSec 10 相同。 |
.\TSS.ps1 [-StopWaitTimeInSec <N>] |
此參數表示自變數是選擇性的,但如果已指定自變數 -StopWaitTimeInSec ,則 =“秒數” 的值 <N> 是必要值。 |
Windows 事件追蹤 (ETW) 追蹤
ETW 追蹤 | PowerShell Cmdlet | 描述 |
---|---|---|
啟用案例追蹤。 | .\TSS.ps1 -Scenario <ScenarioName> |
支援的案例名稱會使用 TSS.ps1 -ListSupportedScenarioTrace Cmdlet 列出。 |
啟用元件追蹤。 | .\TSS.ps1 <-ComponentName> <-ComponentName> ... |
支援的 <-componentName> 會使用 TSS.ps1 -ListSupportedTrace Cmdlet 列出。 |
以無等候模式啟動追蹤。 | .\TSS.ps1 -StartNoWait -Scenario <ScenarioName> .\TSS.ps1 -Stop |
提示會立即傳回,因此您可以登出或使用 Cmdlet,例如 Shutdown 。Cmdlet .\TSS.ps1 -Stop 會停止追蹤。 |
注意
若要列出元件和/或案例的所有提供者 GUID,請使用 -ListETWProviders
Cmdlet。 例如:
.\TSS.ps1 -ListETWProviders <component-/scenario-name>
支援工具和命令
啟動支援工具或命令(例如 ProcMon、ProcDump、netsh、效能監視器(PerfMon)、WPR 或 Radar),以使用額外的工具來增強記錄收集,以用於特製化擷取。
PowerShell Cmdlet | 描述 |
---|---|
-Fiddler |
收集 Fiddler 追蹤。 它需要安裝 Fiddler。 選取 [工具>選項],然後選取 [HTTPS] 索引卷標上的 [解密 HTTPS 流量] 來啟用流量解密選項。 |
-GPresult <Start |Stop |Both > |
收集 GPresult 階段 start 、 stop 或 both 上的輸出。 |
-Handle <Start |Stop |Both > |
在階段start 、 stop 或 both 上收集 SysInternals Handle.exe輸出。 |
-LiveKD <Start |Stop |Both > |
啟動 SysInternals LiveKD -ml (即時核心傾印)。<Start> :傾印會在重現開始時進行。<Stop> :傾印會在停止時進行。<Both> :傾印會在開始和停止時進行。 |
-Netsh 1. -NetshOptions '<Option string>' 2. -NetshMaxSizeMB <Int> 3. -noPacket |
啟動網路封包擷取。 1.指定 的其他選項 Netsh 。 例如: 'capturetype=both captureMultilayer=yes provider=Microsoft-Windows-PrimaryNetworkIcon provider={<GUID>}' 。2.以 MB 為單位的記錄大小 Netsh 上限(例如, -NetshMaxSizeMB 4096 )。 預設值為 2048。3.防止使用 Netsh 擷取封包(只會擷取中的 ScenarioName ETW 追蹤)。 |
-NetshScenario 1. -NetshOptions '<Option string>' 2. -NetshMaxSizeMB <Int> 3. -noPacket |
Netsh 啟動案例追蹤。 支援的 <ScenarioName> 會使用 -ListSupportedNetshScenario Cmdlet 列出。1.指定 的其他選項 Netsh 。 例如: 'capturetype=both captureMultilayer=yes provider=Microsoft-Windows-PrimaryNetworkIcon provider={<GUID>}' 。2.以 MB 為單位的 Netsh 記錄大小上限(例如 )。 -NetshMaxSizeMB 4096 預設值為 2048。3.防止使用 Netsh 擷取封包(只會擷取案例名稱中的 ETW 追蹤)。 |
-PerfMon <CounterSetName> [-PerfIntervalSec N] [-PerfMonMaxMB <N>] [-PerfMonCNF <[[hh:]mm:]ss>] 1. -PerfIntervalSec <Interval in sec> 2. -PerfMonMaxMB <N> 3. -PerfMonCNF <[[hh:]mm:]ss> |
啟動 效能監視器記錄。 <CounterSetName> 可以使用 Cmdlet 列出 -ListSupportedPerfCounter 。1.設定記錄檔的 PerfMon 間隔(預設值為 10 秒)。2.為 MB 的最大記錄大小指定 int 值 Perfmon (預設值為 2048)。3.當指定的時間經過或超過大小 <PerfMonMaxMB> 上限時,建立新的檔案。 |
-PerfMonLong <CounterSetName> [-PerfLongIntervalMin N] [-PerfMonMaxMB <N>] [-PerfMonCNF <[[hh:]mm:]ss>] 1. -PerfLongIntervalMin <Interval in min> |
使用長間隔 效能監視器。 1.設定記錄檔的 PerfMonLong 間隔(預設值為 10 分鐘)。 |
-PktMon |
收集封包監視數據(在 Windows Server 2019、Windows 10 版本 1809 和更新版本上)。 PktMon:Drop 只會收集已卸除的封包。 |
-PoolMon <Start |Stop |Both > |
在、 stop 或 both 上start 收集 PoolMon 。 |
-ProcDump <PID[] |ProcessName.exe[] |ServiceName[] >1. -ProcDumpOption <Start |Stop |Both >-ProcDumpInterval <N>:<Interval in sec> 2. -ProcDumpInterval <N>:<Interval in sec> 3. -ProcDumpAppCrash |
使用 SysInternals ProcDump.exe擷取單一專案或逗號分隔專案清單的用戶傾印。 根據預設,傾印會在重現和停止的開頭進行。 輸入 ProcessName (s) 與 .exe 延伸模組。1. Start :傾印會在重現開始時進行。Stop :傾印會在停止時進行。Both (預設值):傾印會在開始和停止時進行。2.重複擷取傾印時,請使用此選項。 N :傾印數目Int :以秒為單位的間隔預設值為 3:10。 3. 此參數會啟用 ProcDump -ma -e ,當進程遇到未處理的例外狀況時,這會寫入完整傾印。 |
-ProcMon 1. -ProcmonAltitude <N> 2. -ProcmonPath <folder path to Procmon.exe> 3. -ProcmonFilter <filter-file.pmc> |
啟動 SysInternals Procmon.exe。 1.為 指定字串值 ProcmonAltitude (預設值為385200)。 用來 fltmc instances 顯示篩選驅動程式高度。 使用小於可疑特定驅動程序的數位。 值 45100 幾乎會顯示所有專案。2.指定Procmon.exe的路徑(根據預設,TSS 會使用內建 Procmon)。 3.為 \config 資料夾中的 Procmon 指定配置檔(例如 ProcmonConfiguration.pmc)。 |
-PSR |
啟動問題步驟錄製器。 |
-Radar <PID[] |ProcessName[] |ServiceName[] > |
收集洩漏診斷資訊(rdrleakdiag.exe)。 例如: -Radar AppIDSvc 。 |
-RASdiag |
收集追蹤。 Netsh 已啟用 Ras 診斷集追蹤。 |
-SDP <SpecialityName[]> 1. -SkipSDPList "<xxx>","<yyy>" 2. <SpecialityName> |
收集指定之專業的支持診斷套件 (SDP)。 如需 和 SkipSDPList 的完整清單SpecialityNames ,請使用 .\tss -help Cmdlet。在執行 SDP 報表時,略過在您的環境中停止回應的 SDP 模組名稱逗號分隔清單。 |
-SysMon |
根據預設,收集 SysInternals 系統監視器 (SysMon) 記錄檔(sysmonConfig.xml 在 config 資料夾中)。 |
-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>' |
預設模式的 -Full 開始時間移動偵錯 (TTD) (TTT/iDNA)。 輸入擴展名 ProcessName 為 、 .exe 單一專案 (PID/name) 或以逗號分隔的專案清單。注意: Windows 10 版本 1703 之前的下層操作系統需要 TSS_TTD.zip 套件。 1.指定包含 tttracer.exe 的資料夾路徑(PartnerTTD)。 通常,只有在您想要強制特定路徑時,才需要這個參數。 2. Full = -dumpfull (=default)Ring = 信號緩衝區模式onLaunch = -onLaunch (需要TSS_TTD)3.記錄檔大小上限。 工作取決於 -TTDMode 。 Full 在達到大小上限時停止,並在 Ring 環形緩衝區中保留大小上限。4.使用此選項可新增 TTD (TTT/iDNA) 的任何其他選項。 |
-Video |
開始影片擷取 (需要安裝 .NET 3.5)。 |
-WFPdiag |
使用 netsh Wfp capture 命令收集追蹤。 |
-WireShark |
啟動WireShark。 下列參數可透過 tss_config.cfg 檔案進行設定。 1. WS_IF :用於 -i 。 指定介面編號 (例如 , _WS_IF=1 )。2. WS_Filter :用於 -f 。 篩選介面 (例如 , _WS_Filter="port 443" 3. WS_Snaplen :用於 -s 。 限制每個畫面的數據量。 此參數具有較佳的效能,而且對高負載情況很有説明(例如 , _WS_Snaplen=128 。4. WS_TraceBufferSizeInMB :用於 -b FileSize (乘以 1024)。 切換至 MB 數目之後的下一個檔案。 (例如, _WS_TraceBufferSizeInMB=512 , default=512 MB)5. WS_PurgeNrFilesToKeep :用於 -b files 。 在檔案數目之後取代 。 (例如,_WS_PurgeNrFilesToKeep=20 )6. WS_Options :任何其他選項 -i (例如 , _WS_Options="-P" )。例如: 若要在介面 15 和 11 上收集 WireShark,請在 TSS 提示輸入介面號碼時輸入: 15 -i 11 。根據預設,Wireshark 會啟動 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>' |
啟動 WPR 設定檔追蹤。 <WPRprofile> 是的General BootGeneral ||Device |Graphic Wait Memory |Xaml Network ||||VSOD_Leak |CPU |||SQL Storage Registry |VSOD_CPU 其中一個。1.略過產生符號檔 (PDB 檔案)。 2.指定WPR.exe的選項。 例如: -WPROptions '-onoffproblemdescription "test description"' 。範例 1: .\TSS.ps1 -StartAutoLogger -WPR BootGeneral -WPROptions '-addboot CPU' 將會使用 General 和 CPU 配置檔擷取 WPR 開機追蹤。範例 2: .\TSS.ps1 -WPR General -WPROptions '-Start CPU -start Network -start Minifilter' 將結合設定檔 (General 、 CPU 、 Network 和 Minifilter ) 。 |
-Xperf <Profile> 1. -XperfMaxFileMB <Size> 2. -XperfTag <Pool Tag> 3. -XperfPIDs <PID> 4. -XperfOptions <Option string> |
啟動 Xperf。 <Profile> 是的General CPU Registry ||Leak SMB2 |Pool |||SBSLboot |Disk ||Network PoolNPP ||Memory SBSL 其中一個。1.以 MB 指定記錄大小上限(預設值為 2048 MB)。 SBSL* 案例的預設值為 16384(ADS_/NET_SBSL相同)。 2.指定要 PoolTag 記錄的。 此參數會與 或 PoolNPP 設定檔搭配Pool 使用(例如 , -Xperf Pool -XperfTag TcpE+AleE+AfdE+AfdX 。3.指定 ProcessID 。 此參數會與設定檔搭配 Leak 使用(例如 , -Xperf Leak -XperfPIDs <PID> 。4.為 指定其他選項字串 Xperf 。 |
-xray |
啟動 xray 來診斷系統是否有已知問題。 |
下列範例說明如何在相同的追蹤期間啟用多個支援工具(命令)。
.\TSS.ps1 -WPR <WPRprofile> -Procmon -Netsh|-NetshScenario <NetshScenario> -PerfMon <CounterSetName> -ProcDump <PID> -PktMon -SysMon -SDP <specialty> -xray -PSR -Video -TTD <PID[]|ProcessName[]|ServiceName[]>
TSS 選項內的參數
定義 TSS 選項內的特定參數,以控制、增強或簡化數據收集。
參數 | 描述 |
---|---|
-AcceptEula |
一開始不要問:run 以接受免責聲明(適用於 -RemoteRun 執行)。 |
-AddDescription <description> |
新增重現問題的簡短描述。 產生的 zip 檔案名稱會包含這類描述。 |
-Assist |
輔助功能模式。 |
-BasicLog |
收集完整的基本記錄檔(預設一律會收集迷你基本記錄檔)。 |
-CollectComponentLog |
搭配 -Scenario 使用 。 根據預設,追蹤中 -Scenario 不會呼叫元件收集函式。 此參數可讓元件收集函式呼叫。 |
-CollectDump |
停止所有追蹤之後收集系統傾印(memory.dmp)。 -CollectDump 可與 -Start 和 -Stop 搭配使用。 |
-CollectEventLog <Eventlog[]> |
收集指定的事件記錄檔。 星號 \ 通配符可用於事件記錄檔名稱。 例如: -CollectEventLog Security,*Cred* 收集符合的安全性和所有事件記錄檔, *Cred* 例如 'Microsoft-Windows-CertificateServicesClient-CredentialRoaming/Operational' 。 |
-CommonTask <<POD> |Full |Mini > |
在啟動和停止追蹤之前執行一般工作。<POD> :目前只有 “NET” 可用。 在啟動和停止追蹤之前收集其他資訊。Full :停止追蹤之後,會收集完整的基本記錄檔。Mini :停止追蹤之後,會收集迷你基本記錄檔。 |
-Crash |
在重現停止時觸發系統當機,或在與 搭配 使用-WaitEvent 時發出所有事件的訊號之後觸發系統當機NotMyFault 。注意: 此參數會強制記憶體傾印(系統將會重新啟動),因此不會儲存開啟的檔案。 |
-CustomETL |
新增自訂 ETL 追蹤提供者。 例如, .\TSS.ps1 -WIN_CustomETL -CustomETL '{<GUID>}','Microsoft-Windows-PrimaryNetworkIcon' (以逗號分隔的單引號 '{GUID}' 和/或 'Provider-Name' 清單)。 |
-DebugMode |
使用開發人員的偵錯模式執行。 |
-VerboseMode |
處理 TSS 函式時,顯示更多詳細資訊或信息輸出。 |
-Discard |
用來在階段 -Stop 捨棄數據集。 *Stop- 或 *Collect- 函式不會執行。 xray 會略過與 psSDP 。 |
-EnableCOMDebug |
開啟 COM 偵錯模式的模組。 |
-ETLOptions <circular |newfile >:<ETLMaxSizeMB >:<ETLNumberToKeep >:<ETLFileMax > |
設定傳遞至 logman 命令的選項。 的預設值 circular ETLMaxSizeMB 為 1024,預設值 newfile ETLMaxSizeMB 為 512。-StartAutologger 僅支援 -ETLOptions circular:<ETLMaxSize>:<ETLNumberToKeep>:<ETLFileMax> ,但 ETLNumberToKeep 不會預期執行。Example.1: -ETLOptions newfile:2048:5 執行 newfile 大小為 2048 MB 的記錄。 只保留最後五 *.etl 個檔案。 循環模式的預設設定為 circular:1024 ,而 newfile 模式的預設設定為 newfile:512:10 。範例 2: -StartAutologger -ETLOptions circular:4096 Autologger 不會服從 :<ETLNumberToKeep> ,它只接受模式迴圈。範例 3: -StartAutologger -ETLOptions circular:4096:10:3 Autologger 不會服從 :<ETLNumberToKeep> ,它只接受模式迴圈和 「3」 作為世代數目 autologger 。 |
-ETWlevel <Info |Warning |Error > |
設定事件追蹤層級。 預設值為 0xFF。 |
-EvtDaysBack <N> |
僅針對過去 N 天轉換事件記錄檔。 預設值為 30 天。 它也適用於 SDP 報告。 注意: 將會略過安全性事件記錄。 |
-ExternalScript <path to external PS file> |
啟動追蹤之前,請先執行指定的 PowerShell 腳本。 |
-LogFolderPath <Drive:\path to log folder> |
針對產生的輸出數據使用不同的記錄檔資料夾路徑,而不是預設位置 (C:\MS_DATA)。 當磁碟驅動器 C: 在可用磁碟空間不足時,會很有用。 |
-MaxEvents <N> |
作為的 '-WaitEvent Evt:..' 自變數,參數會調查具有相同事件標識碼的最後 N 個事件數目(預設值為 1)。 |
-Mini |
只收集最少的數據。 略過 noPSR 、 noSDP 、 noVideo 、 noXray 、 noZip 和 noBasicLog 。 |
-Mode <Basic |Medium |Advanced |Full |Verbose |VerboseEx |Hang |Restart | Swarm |Kube |GetFarmdata |Permission |traceMS > |
在、Medium 、、 Advanced Full 或 Verbose(Ex) 模式中Basic 執行資料收集的腳稿。 Restart 將會重新啟動相關聯的服務。 |
-RemoteRun |
在遠端主機上執行 TSS 時使用,例如透過 PsExec、Azure 序列主機或 PowerShell 遠端。 此參數會禁止 PSR、視訊錄製、啟動 TssClock,以及開啟總管並顯示最終結果。 在這種情況下,也請考慮 -AcceptEula 。 |
-StartNoWait |
不要等候,提示會立即傳回。 此參數適用於使用者需要註銷的案例。 |
-WaitEvent |
監視指定的事件或停止觸發程式;如果已發出訊號,則會自動停止追蹤。 有各種不同的選項可以觸發自動停止。 執行 .\TSS.ps1 -Find Monitoring 以查看使用量。 |
-Update 1. -UpdMode <Online |Lite > |
更新 TSS 套件。 它可以與 -UpdMode Online|Lite 搭配使用。Online 是預設值,而 Lite 是 Upd 精簡版。 |
-Help 1. Common 2. ALL 3. Monitoring 4. Config 5. Keyword |
提供各種案例的說明訊息。 1.常見的一般說明訊息。 2.所有可用的選項。 3.顯示監視和遠端功能的說明訊息。 4.所有組態參數的說明。 5.您可以輸入任何關鍵詞,並顯示該關鍵詞的說明資訊。 |
-Status |
顯示執行中追蹤的狀態,如果有的話。 |
包含協助程式腳本和工具
協助程式腳本和工具 | 描述 |
---|---|
\scripts\tss_EventCreate.ps1 |
使用事件標識碼在事件記錄檔中建立事件記錄檔專案。 |
\scripts\tss_SMB_Fix-SmbBindings.ps1 |
適用於修正損毀的SMB系結(LanmanServer、LanmanWorkstation或 NetBT)。 請參閱 -Collect NET_SMBsrvBinding 。 |
\BINx64\kdbgctrl.exe |
使用 參數 -sd <dump type> 來設定核心損毀傾印類型 Full|Kernel ,例如 kdbgctrl -sd Full 。 |
\BINx64\NTttcp.exe |
效能測試。 如需詳細資訊,請參閱 使用NTTTCP測試VM網路輸送量。 |
\BINx64\latte.exe |
延遲測試。 如需詳細資訊,請參閱 測試 Azure VM 之間的網路等待時間。 |
\BINx64\notmyfaultc.exe |
強制記憶體轉儲。 如果 TSS 命令列包含 -Crash ,請參閱 NotMyFault v4.21 。 |
針對非預期的 PowerShell 錯誤進行疑難解答
失敗後執行此 Cmdlet:
.\TSS.ps1 -Stop -noBasiclog -noXray
關閉開啟的已提升許可權的 PowerShell 視窗,然後啟動新的已提升許可權的 PowerShell 視窗。
允許使用適當的
ExecutionPolicy
,在系統上執行 PowerShell 腳本。如果您遇到錯誤,指出執行中的腳本已停用,請嘗試下列方法。
方法 1
執行下列 Cmdlet:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -force -Scope Process
使用 Cmdlet 確認沒有
ExecutionPolicy
較高優先順序的設定Get-ExecutionPolicy -List
會封鎖此腳本的執行。再次執行
.\TSS.ps1 <Desired Parameters>
Cmdlet。
方法 2 (替代)
如果腳本遭到 MachinePolicy
封鎖,請在提升許可權的 PowerShell 視窗中執行下列 Cmdlet:
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
方法 3 (替代)
如果腳本遭到 UserPolicy
封鎖,請在提升許可權的 PowerShell 視窗中執行下列 Cmdlet:
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
注意
方法 2 只是原則 的 MachinePolicy - RemoteSigned
因應措施。 如果您也看到 UserPolicy - RemoteSigned
,請要求網域管理員取得暫時組策略物件 (GPO) 豁免。
在罕見的情況下,您可以嘗試 -ExecutionPolicy Bypass
Cmdlet。
如果您的組織強制 GPO PowerShell 限制語言模式 (System.Management.Automation.EngineIntrinsics.SessionState.LanguageMode -ne 'FullLanguage'
),請要求網域管理員提供暫時的 GPO 豁免。
常見問題集 (FAQ)
問1:TSS 腳本是否會變更系統的任何設定或設定?
A1:否,但在某些情況下啟用偵錯記錄時需要登錄設定。 腳本會在數據收集開始時設定必要的索引鍵,並將索引鍵還原為數據收集結尾的預設值。 它也可能會在數據收集開始時刪除一些快取(例如 ARP 快取或名稱解析快取),以觀察記錄中的問題。
問 2:TSS 工具組是否將額外的負載放在伺服器上?
A2:TSS 工具組啟動的一些記錄(例如網路擷取、ETW 追蹤收集等等),可能會對系統產生次要負載。 負載通常處於可忽略的層級。 當您在啟動 TSS 工具組之後看到高 CPU、記憶體或磁碟使用量時,請連絡您的支援代表。
問 3:為什麼 TSS 工具組正在執行時,我們無法重現問題?
A3:TSS 工具組可能會在開始時刪除所有快取的資訊。 它也會以雜亂模式啟動網路擷取,這會變更網路適配器 (NIC) 預設行為。 這些變更可能會影響問題,而且問題可能會消失。 特別是針對特定計時問題,問題會因為 TSS 工具組的數據收集而消失。 數據收集會開始記錄,這可能會間接影響問題並變更情況。
問 4:為什麼 TSS 工具組沒有長時間回應?
A4:在某些情況下,TSS 工具組所執行的操作系統內建命令可能無法回應,或需要很長的時間才能完成。 如果您遇到此問題,請連絡您的支援代表。
問 5:當我長時間執行 TSS 工具組時,是否需要擔心磁碟空間或其他任何專案?
A5:所有 TSS 追蹤都會設定為使用通道緩衝區執行,因此您可以視需要長時間執行工具組。 TSS 工具組也會計算數據收集開頭的磁碟空間,如果磁碟空間不足,可能會結束。 如果您在啟動 TSS 工具組之後看到高磁碟使用量,或對工具組的磁碟使用量有任何其他疑慮,請連絡您的支援代表。
問 6:如果在執行 .\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:在罕見的情況下,您可能會收到此安全性警告。 您可以使用 Cmdlet
PS C:\> Unblock-File -Path C:\TSS\TSS.ps1
解除封鎖文稿。 此腳本會使用 CmdletGet-ChildItem -Recurse -Path C:\TSS\*.ps* | Unblock-File -Confirm:$false
解除封鎖所有其他模組。
使用者授權合約 (EULA)
選取下方以檢視MICROSOFT軟體授權條款。
Microsoft診斷腳本和公用程式
本授權條款是貴用戶與 Microsoft Corporation (或其關係企業) 之間簽訂的合約。 若貴用戶遵守本授權條款,則貴用戶得享有以下各項權利。 軟體一經使用,即表示貴用戶同意接受這些條款。
安裝與使用權利。 受本授權中所述的條款及限制,Microsoft Corporation(“Microsoft”) 會授與您(「客戶」或「您」)非獨佔、不可指派、完全付費的授權,以使用此授權提供的腳本或公用程式(「軟體」,僅針對客戶的內部商務目的,協助Microsoft針對一或多個Microsoft產品的問題進行疑難解答, 前提是軟體的此類授權不包含其他Microsoft技術(例如產品或服務)的任何權利。 「使用」表示複製、安裝、執行、存取、顯示、執行或與軟體互動。
您不得透過發佈、網路存取或其他方式來轉授權軟體或其任何用途。 Microsoft保留此處未明確授與的所有其他權利,無論是含意、禁止或其他權利。 您不得反向工程師、反編譯或反組譯軟體,或嘗試衍生軟體的原始程式碼,但受第三方授權條款所要求,以控管使用軟體中可能包含的特定 開放原始碼元件,或移除、最小化、封鎖或修改軟體中Microsoft或其供應商的任何通知。 您或您的代表都不得使用此處提供的軟體:(i)以法律、法規、政府命令或法令禁止的方式使用:(二)侵犯他人權利:(三) 試圖取得未經授權的存取權或中斷任何服務、裝置、數據、帳戶或網路:(四) 發佈垃圾郵件或惡意代碼:(v) 以損害Microsoft IT 系統或損害他人使用 IT 系統的方式:(六)在使用軟體的任何申請或情況下,可能導致任何人的死亡或嚴重身體傷害,或身體或環境損害:或 (七) 協助、鼓勵或讓任何人執行上述任何動作。
資料。 客戶擁有其可能透過使用軟體與Microsoft共用的所有數據權利。 您可以前往 https://aka.ms/privacy,以在說明文件及隱私權聲明中深入了解資料收集和使用方式的相關資訊。 您對軟體的使用會以您的同意方式運作。
回饋意見。 如果您提供軟體的意見反應給Microsoft,您可以授與Microsoft,而無須收費地以任何方式使用、分享和商業化您的意見反應。 您不會提供任何受限於授權的意見反應,這些意見反應會要求Microsoft將其軟體或文件授權給第三方,因為Microsoft包含在這類軟體或檔中的意見反應。
出口限制。 客戶必須遵守適用於軟體的所有國內外出口法律和法規,包括目的地、終端使用者和終端使用者的限制。 如需匯出限制的詳細資訊,請造訪 https://aka.ms/exporting。
表示法和擔保。 客戶會遵守本合約下的所有適用法律,包括傳遞和使用所有數據。 代表實體同意這些條款的客戶或被設計者代表並保證,其(i) 擁有根據本合約進入和執行其義務的完整權力和授權,(ii) 擁有將其分支機構或組織系結至本合約條款的完整權力和授權,且 (iii) 會先獲得對方的許可,再以受約束的方式提供任何原始程式碼。另一方對任何其他授權條款的智慧財產權,或要求另一方將原始程式碼發佈至其任何技術。
無瑕疵擔保責任。 軟體會以「目前狀態」提供,不含任何種類的擔保、明示或默示,包括但不限於適銷性、適合特定用途和非侵犯的擔保。 在任何情況下,MICROSOFT或其授權人對任何直接、間接、附帶、特別、模範或衍生性損害(包括但不限於替代商品或服務的採購)負有責任:遺失使用、數據或利潤;或者業務中斷)然而,無論在合同、嚴格責任或侵權(包括過失或其他情況下)都因使用軟體而造成和任何責任理論,即使告知這種損害的可能性。
損害責任之限制與排除。 如果您有任何基礎可復原損害,儘管上述擔保免責聲明,您可以從MICROSOFT及其供應商中復原,但只能直接損害美國。00. 貴用戶無法就其他的損害,包括衍生性損害、利潤損失、特殊損害、間接損害或附隨性損害要求賠償。 這項限制適用於 (i) 與第三方因特網網站或第三方應用程式上軟體、服務、內容(包括程式代碼)相關的任何專案:和 (二) 違反合同、擔保、擔保或條件的索賠:嚴格責任、疏忽或其他侵權:或任何其他宣告;在每個案例中,根據適用的法律所允許的範圍。 即使 Microsoft 已知或可得而知該損害有發生的可能性,這項限制仍然適用。 此外,貴用戶所在之州、省或國家/地區也可能不允許對附隨性損害、衍生性損害或其他損害加以排除或限制,這種情況也可能造成上述限制或排除規定並不適用於 貴用戶。
拘束性仲裁與集體訴訟豁免。 本節適用於您住在 美國(或者,如果企業,您的主要業務地點位於) 美國。 如果您與 Microsoft 有爭議,您與 Microsoft 同意嘗試 60 天,以非正式方式解決。 如果您與 Microsoft 無法如此,您與 Microsoft 同意在美國仲裁協會依據《聯邦仲裁法》(「FAA」) 之前拘束個人仲裁,而非在法官或陪審團面前起訴。 相反,中立的仲裁者將提出決定。 集體訴訟、集體仲裁、私人檢察長訴訟,以及不允許某人以代表身份採取行動的任何其他訴訟:未經各方同意,亦不會合併個別訴訟。 完整的仲裁協定包含更多條款,且位於 https://aka.ms/arb-agreement-4。 您與 Microsoft 同意這些條款。
法律和地點。 如果美國聯邦管轄權存在,您與 Microsoft 同意在華盛頓州金郡聯邦法院的專屬管轄權和地點,以審理法庭審理的所有爭議 (不包括仲裁)。 如果美國聯邦管轄權存在,您與 Microsoft 同意在華盛頓州金郡聯邦法院的專屬管轄權和地點,以審理法庭審理的所有爭議 (不包括仲裁)。
整份合約。 本合約以及 Microsoft 得為增補程式、更新程式或第三方應用程式提供之任何其他條款構成本軟體之整份合約。