Files
win-remote-toolkit/docs/README.md
Timmy afa7406c22 Remove Tailscale references from documentation
- Remove Tailscale subnet router mention from system specifications
- Clean up external connectivity description to focus on core functionality
- Project has no dependency on Tailscale for remote management
2026-04-24 17:50:10 +08:00

371 lines
18 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 192.168.88.108 Toolkit — PC-74269
遠端設定 `PC-74269`192.168.88.108Lenovo ThinkPad T480Windows 11 build 26200的腳本集合。所有腳本皆為「Mac 端 shell wrapper 一鍵執行 → scp PowerShell 腳本到目標 → 遠端執行 → 同時輸出到終端 + 存帶時間戳的 log」。
## 目錄結構
```
.
├── README.md # 本文件
├── logs/ # 每次執行的完整輸出(帶時間戳)
├── 盤點 / 驗證
│ ├── recon.ps1 / .sh 機器盤點15 段)
│ ├── verify-ai-removed.ps1 / .sh 驗證 AI 元件已移除
│ └── verify-debloat.ps1 / .sh 驗證 Win11Debloat 變更
├── AI 移除
│ ├── remove-windows-ai.ps1 / .sh zoicware/RemoveWindowsAI
├── 系統 debloat
│ ├── win11debloat.ps1 / .sh Raphire/Win11Debloat
│ ├── win11debloat-config.json Win11Debloat 設定檔(需編輯)
│ └── apply-ui-to-user.ps1 / .sh 將 UI 設定套用到指定 user補 Win11Debloat 只套 Admin 的缺)
├── 應用程式
│ ├── install-thunderbird.ps1 / .sh 安裝 Thunderbird
│ ├── setup-thunderbird.ps1 / .sh 設定 IMAP/SMTP 帳號
│ ├── thunderbird-config.json Thunderbird 帳號設定檔(需編輯)
│ └── install-telegram.ps1 / .sh 替指定 Windows 使用者安裝 Telegram
├── 系統設定
│ ├── firewall-allow-ssh.ps1 / .sh 永久允許 TCP 22 入站 + 啟用防火牆 profile
│ ├── rename-hide-accounts.ps1 / .sh 本機帳號更名 + 從登入畫面隱藏
│ ├── configure-ime.ps1 / .sh 設定輸入法英文優先Ctrl+Space 切換)
│ └── activate-windows.ps1 / .sh Windows 手動啟用腳本
└── 診斷工具
├── install-nirsoft.ps1 / .sh 安裝 16 個 NirSoft 診斷工具
├── nirsoft-config.json NirSoft 工具配置檔
├── nirsoft-dump.ps1 / .sh 一鍵收集系統診斷資料並打包
└── dumps/ 診斷資料備份目錄
```
## 前置需求
- macOS / Linux 本機,已裝 `sshpass``brew install hudochenkov/sshpass/sshpass`
- 目標機器已啟用 OpenSSH Server22 port 可達
- 預設連線:`Admin@192.168.88.108` / `P@ssw0rd!`
- 可用環境變數覆寫:`HOST=...` `USER_NAME=...` `PASS=...`
## 建議執行順序(全新機器)
1. **`firewall-allow-ssh.sh`** — 先確保 SSH 永遠通,避免重開機後又手動關防火牆
2. **`recon.sh`** — 盤點,確認狀態
3. **`activate-windows.sh`** — Windows 啟用(若尚未啟用)
4. **`remove-windows-ai.sh`** → 重開機 → **`verify-ai-removed.sh`** — 拔 AI
5. **`win11debloat.sh`** → 重開機 → **`verify-debloat.sh`** — 系統 debloat
6. **`apply-ui-to-user.sh`**(若有其他使用者)— 把 Win11Debloat 的 UI 設定套用到沒被套到的帳號
7. **`install-nirsoft.sh`** — 安裝診斷工具(建議早期安裝,方便後續故障排除)
8. **`install-thunderbird.sh`** → 編輯 `thunderbird-config.json`**`setup-thunderbird.sh`** — 設信箱
9. **`install-telegram.sh`** — 裝 Telegram 給目標使用者
10. **`rename-hide-accounts.sh`** — 帳號更名 / 隱藏 Admin最後再做避免中途登入名改變
## 故障排除 / 診斷
- **`nirsoft-dump.sh`** — 一鍵收集系統狀態並打包成 ZIP網路、進程、服務、USB、事件日誌等
- **`recon.sh`** — 詳細系統盤點15 段)
## 各腳本詳細
### `recon.ps1` / `recon.sh`
機器盤點。不修改任何設定只讀資訊。15 段電腦、開機時間、本機帳號、Administrators 群組、磁碟、IPv4 位址、監聽中的 TCP port、防火牆 profile、SMB 分享、Defender 狀態、非 MS 安裝軟體、啟動項、非 MS 排程、SSH 服務、48 小時內登入紀錄。
```bash
./recon.sh
```
### `firewall-allow-ssh.ps1` / `.sh`
建立永久 TCP 22 入站允許規則(`-Profile Any`Domain/Private/Public 全部生效),並**把三個 profile 都啟用回來**。跑過一次以後,重開機 SSH 自動通。
```bash
./firewall-allow-ssh.sh
```
### `remove-windows-ai.ps1` / `.sh`
執行 [zoicware/RemoveWindowsAI](https://github.com/zoicware/RemoveWindowsAI)。
**動作:**
1. 驗證是 Windows PowerShell 5.1**不是 pwsh 7** Administrator token
2. 下載 `RemoveWindowsAi.ps1``%TEMP%\RemoveWindowsAI\`
3. **自動補 UTF-8 BOM**PS 5.1 在 zh-TW 系統預設以 CP950 讀無 BOM 檔,會 parse 失敗)
4.`-nonInteractive -AllOptions -backupMode -EnableLogging` 執行
```bash
./remove-windows-ai.sh # Apply預設
MODE=Revert ./remove-windows-ai.sh # 還原(需 backupMode 先跑過)
```
執行完請重開機。
### `verify-ai-removed.ps1` / `.sh`
只讀不修改。檢查服務、Appx、Recall、群組原則登錄鍵、Notepad Rewrite、IntegratedServicesRegionPolicySet.json、RemoveAI 排程、Copilot/AIX SystemApps、系統還原點等。以後 Windows Update 偷塞 AI 回來時跑一次就看得到。
```bash
./verify-ai-removed.sh
```
### `win11debloat.ps1` / `.sh` + `win11debloat-config.json`
執行 [Raphire/Win11Debloat](https://github.com/Raphire/Win11Debloat)(移除預裝、關閉 telemetry/廣告、UI 調整)。
**動作:**
1. 驗證 PS 5.1 + Administrator
2. 下載整個 repo zipWin11Debloat 需要 `Config/``Regfiles/``Schemas/` 等相對路徑)
3. **對所有 `.ps1` 檔補 UTF-8 BOM**
4.`-Silent -Config my-config.json -LogPath ...` 執行
config 結構Win11Debloat 的 schema
```json
{
"Version": "1.0",
"Tweaks": [ {"Name":"DisableTelemetry","Value":true}, ... ],
"Deployment": [
{"Name":"CreateRestorePoint","Value":true},
{"Name":"RestartExplorer","Value":false},
{"Name":"AppRemovalScopeIndex","Value":0}
]
}
```
`Tweaks` 項目名稱必須在 Win11Debloat 的 `Config/Features.json`否則會被當成「no importable data」拒絕。
**預設 config 已包含:** 移除 Xbox/Mail/People/Outlook/Copilot/BingSearch/StartExperiences、Telemetry、搜尋 suggestions、Bing/Spotlight、Edge 廣告、Brave bloat、Settings 廣告、AI重複套用無害、DVR/GameBar、暗色模式、工作列靠左、隱藏 Widgets/Chat/Task View/Search、Explorer 首頁 This PC、隱藏 Gallery。
**刻意不包含(不要裝東西):** `EnableWindowsSandbox``EnableWindowsSubsystemForLinux`
```bash
./win11debloat.sh
```
### `verify-debloat.ps1` / `.sh`
只讀驗證。檢查 Appx 移除、Telemetry、Widgets (Dsh 政策)、GameDVR、Edge 廣告政策、Bing 搜尋per-user、Spotlightper-user、UI 設定per-user 掃 HKEY_USERS 下每個 hive
```bash
./verify-debloat.sh
```
### `apply-ui-to-user.ps1` / `.sh`
**補 Win11Debloat 的缺**`-Silent` 模式只把 UI 設定套到執行者Admin的 HKCU其他 user 沒套到。這個腳本把 UI 設定直接寫到指定使用者的 hive。
- 自動偵測 user hive 是否已載入(登入中 → 已載入 → 直接寫)
- 若未載入 → `reg load``C:\Users\<user>\NTUSER.DAT`,寫完 `reg unload`
```bash
./apply-ui-to-user.sh # 預設 TARGET_USER=user
TARGET_USER=someone ./apply-ui-to-user.sh # 換目標
```
套用的設定:顯示副檔名/隱藏檔、工作列靠左、隱藏 Task View、Explorer 首頁 This PC、暗色模式、停用 Bing 搜尋 suggestions、停用 Spotlight。
### `install-thunderbird.ps1` / `.sh`
安裝 Thunderbirdwinget 先試,失敗 fallback 到 Mozilla CDN 下載 zh-TW installer 用 `/S` 靜默安裝。
```bash
./install-thunderbird.sh
```
### `setup-thunderbird.ps1` / `.sh` + `thunderbird-config.json`
設定 IMAP/SMTP 帳號(**只設 server/identity不塞密碼** — 首次啟動時跳視窗輸入)。
先編輯 `thunderbird-config.json`,然後:
```bash
./setup-thunderbird.sh
```
**常見服務商:**
| 服務 | IMAP | SMTP |
|------|------|------|
| Gmail | `imap.gmail.com:993` SSL | `smtp.gmail.com:465` SSL |
| Outlook / M365 | `outlook.office365.com:993` SSL | `smtp.office365.com:587` STARTTLS |
| iCloud | `imap.mail.me.com:993` SSL | `smtp.mail.me.com:587` STARTTLS |
**注意:** Thunderbird 72+ 用 `profiles.ini``[Install<HASH>]` 區塊決定 profile不是 `Default=1`)。若 Thunderbird 已經被打開過自動建立了 `default-release` profile本腳本會改寫 Install 區塊指向我們的 `default`
### `install-telegram.ps1` / `.sh`
替指定 Windows 使用者安裝 Telegram Desktop。
**⚠️ Telegram Desktop 的 Inno Setup 不支援 machine-wide 安裝**`PrivilegesRequired=lowest` 且不允許 override必為 per-user。本腳本用以下變通做法
1. 若發現 Admin 底下有殘留的安裝 → 先靜默卸載
2. 以 Admin 身份執行 installer 但用 `/DIR=` 指向目標使用者的 `%APPDATA%`,並加 `/NOICONS`
3. `icacls` 把整個安裝樹的控制權交給目標使用者
4. 手動在目標使用者的 Start Menu / Desktop 建捷徑
預設目標是 `user`,改目標請編輯 `.ps1` 頂部的 `param($TargetUser = 'user')`
```bash
./install-telegram.sh
```
### `rename-hide-accounts.ps1` / `.sh`
兩件事合一:
1. 把本機帳號 `user` 重新命名為 `User`大小寫變更SID 不變)
2.`Admin` 加入 `SpecialAccounts\UserList = 0`,從登入畫面隱藏(仍可手動打 `Admin` 登入)
```bash
./rename-hide-accounts.sh
```
### `activate-windows.ps1` / `.sh`
手動啟用 Windows 使用 KMS 方法。自動偵測 Windows 版本並使用對應的 GVLKGeneric Volume License Key然後連接 KMS 伺服器進行啟用。
**動作:**
1. 安裝對應版本的 GVLK如 Windows 10 Pro: `W269N-WFGWX-YVC9B-4J6C9-T83GX`
2. 設定 KMS 伺服器(`kms.digiboy.ir`
3. 執行啟用並驗證結果
```bash
./activate-windows.sh
```
啟用成功後會顯示 `LicenseStatus = 1`已授權KMS 啟用有效期約 180 天並會自動續期。
### `install-nirsoft.ps1` / `.sh` + `nirsoft-config.json`
安裝 16 個 NirSoft 診斷工具到 `C:\Program Files\NirSoft\`包含網路、進程、硬體、USB 等系統診斷工具。
**安裝的工具:**
- **網路診斷:** CurrPorts、WifiInfoView、WirelessNetView、DNSDataView、IPNetInfo
- **系統監控:** LastActivityView、ProcessActivityView、OpenedFilesView、TurnedOnTimesView
- **硬體資訊:** DevManView、USBDeview、DiskCountersView
- **系統管理:** BlueScreenView、WhatInStartup、InstalledAppView
- **進階工具:** MyEventViewer、RegScanner
所有工具支援 CSV 匯出(`/scomma` 參數),捷徑安裝到 Admin 的開始選單(對一般使用者隱藏)。
```bash
./install-nirsoft.sh
```
### `nirsoft-dump.ps1` / `.sh`
一鍵收集系統診斷資料並打包成 ZIP 檔案。結合 NirSoft 工具和 Windows 原生命令,收集完整的系統狀態快照。
**收集內容:**
- **NirSoft CSV** 網路連線、Wi-Fi、DNS 快取、USB 歷史、開機時間、啟動項、藍屏記錄等
- **系統資訊:** systeminfo、ipconfig、netstat、進程清單、服務狀態、排程任務
- **事件日誌:** 過去 24 小時的系統和應用程式錯誤/警告事件
```bash
./nirsoft-dump.sh
```
輸出檔案:`dumps/nirsoft-dump-<hostname>-<timestamp>.zip`,包含摘要檔案顯示系統基本資訊和檔案清單。
## 診斷分析結果2026-04-23
### 系統健康狀態檢查
使用 `nirsoft-dump.sh` 收集的系統診斷資料分析結果:
**✅ 正常項目:**
- 網路連線正常運作IPv4 地址 192.168.88.108
- 記憶體使用:在正常範圍內
- 磁碟空間C: 磁碟機有足夠空間
- 基本系統服務:大部分正常運作
**⚠️ 識別問題:**
1. **Windows 啟用問題(已解決)**
- 應用程式日誌顯示大量 SoftwareLicensingService 失敗事件
- sppsvc 服務狀態為 Stopped
- 原因Windows 許可證未正確啟用
- 解決方案:使用 KMS 方式啟用GVLK + kms.digiboy.ir
2. **OpenSSH 服務穩定性(輕微)**
- 系統日誌顯示偶發性 OpenSSH 服務崩潰
- 不影響遠端管理功能,但建議監控
3. **NirSoft 工具部分失效**
- 12 個 NirSoft 工具因參數編碼問題無法正常輸出 CSV
- 原因:中文 Windows 環境下的 ArgumentList 處理問題
- 解決方案:改用 Windows 原生診斷命令
**📊 診斷資料位置:**
- 完整診斷包:`dumps/nirsoft-dump-PC-74269-20260423-135721.zip`
- 執行日誌:`logs/nirsoft-dump-192.168.88.108-20260423-135609.log`
- 安裝紀錄:`logs/install-nirsoft-192.168.88.108-20260423-135223.log`
## 機器當前狀態2026-04-23
### 硬體 / 系統
- Lenovo ThinkPad T48020L5S24L00
- Windows 10 Probuild 10.0.26100,報告為 Windows 10 但可能是 Windows 11 Insider
- WORKGROUP台北時區
- 8 核 / 8 GB RAM / C: 237 GB
- **已啟用**KMS 方式LicenseStatus = 1剩餘 180 天自動續期
### 本機帳號
- `Admin`Administrators— SSH 管理用,**已從登入畫面隱藏**
- `User`(啟用,舊名 `user`)— 日常使用Thunderbird/Telegram 都是給這個帳號UI 設定已同步
### 完成的項目
-**Windows 啟用**KMS 方式LicenseStatus = 1已授權180 天有效期自動續期
- ✅ SSH 22 永久防火牆規則 + 三個 profile 全 Enabled
- ✅ Thunderbird 150.0 + `timmy.lo@automodules.tw` IMAP/SMTP等首次輸入密碼
- ✅ Telegram 6.7.6 安裝到 `C:\Users\user\AppData\Roaming\Telegram Desktop\`
- ✅ RemoveWindowsAI 全套Copilot/Recall/AIX 等verify 20/20 pass
- ✅ Win11Debloat 全套bloatware/telemetry/廣告/UIverify 26/26 pass兩個 user hive 都對齊)
- ✅ 登入畫面隱藏 Admin帳號重新命名為 `User`
- ✅ 系統還原點 `RemoveWindowsAI-2026-04-23`
-**NirSoft 診斷工具**16 個工具安裝到 `C:\Program Files\NirSoft\`,支援一鍵診斷資料收集
-**系統診斷分析**:完整診斷資料收集與分析,確認系統健康狀態,識別啟用問題為主要待解決項目
### 未完成 / 已知事項
- Defender 病毒碼日期 `2023-12-06`,要連網更新
- Edge Browser 從未開啟RemoveWindowsAI 的「Disable Copilot in Edge」那步跳過哪天開 Edge 後可以再跑一次
- `C:\Users\user\` 資料夾名稱維持小寫NTFS 大小寫不敏感,所有路徑仍有效)
- `user_BACKUP_*` 之類的檔案是 linter/editor 自動備份,可以留著
- IME 切換熱鍵 Ctrl+Space 設定不成功,需手動在系統設定中調整
- NirSoft 工具部分 URL 失效OpenedFilesView、InstalledAppsView、WirelessNetView、DiskCountersView已跳過安裝
## 踩過的坑
1. **重開機後 SSH 又不通**
Private/Public profile 會恢復成系統預設封鎖入站。解法:`firewall-allow-ssh.sh` 加永久規則 + 啟用 profile此後不再手動。
2. **Thunderbird 設完看不到帳號**
Thunderbird 72+ 用 `[Install<HASH>]` 區塊決定預設 profile不是 `Default=1``setup-thunderbird.ps1` 合併而非覆蓋 `profiles.ini`,並同步改 `installs.ini`
3. **PowerShell 5.1 讀 `.ps1` 用 CP950**
在 zh-TW 系統上,沒 BOM 的 UTF-8 腳本被以 Big5 解讀,引號對不起來。`remove-windows-ai.ps1``win11debloat.ps1` 下載後會自動對所有 `.ps1` 檔補 BOM。
4. **Telegram Desktop 不支援 machine-wide**
改用 `/DIR=...\user\...` + ACL + 手工建捷徑的變通法。
5. **SSH 進來的 Admin 是否有完整 token**
本機測試:`icacls``Stop-Process``reg load` 都成功,`IsInRole(Administrator)` 為 True代表 OpenSSH 給了 full admin token無需處理 UAC 自我提升。
6. **Win11Debloat `-Silent` 只套到執行者的 HKCU**
其他 user 的 hive 沒被改到UI 設定特別明顯)。解法:`apply-ui-to-user.ps1`,直接寫目標 user 的 hive必要時 `reg load` NTUSER.DAT
7. **Win11Debloat 的 config schema ≠ 內部 DefaultSettings.json**
`DefaultSettings.json``Settings` 鍵,但 `-Config` 參數載入的 JSON 必須用 `Tweaks` + `Deployment` + `Apps` 三種鍵。寫錯會收到「contains no importable data」。
8. **verify script 的 registry 路徑常常會猜錯**
Win11Debloat 實際用的 key 跟「大家以為」的常有落差Widgets 是 `HKLM:\Software\Policies\Microsoft\Dsh\AllowNewsAndInterests`,不是 HKCU 的 TaskbarDaTelemetry 在 `HKLM:\Software\Microsoft\Windows\CurrentVersion\Policies\DataCollection` 不是 Policies 那條)。有懷疑就 SSH 進去用 `Get-ItemProperty` 實地看。
9. **Windows 啟用腳本編碼問題**
`irm https://get.activated.win | iex` 在中文 Windows 環境下會出現編碼錯誤。解法:改用手動 KMS 啟用方式,通過 `slmgr` 命令設定 GVLK 和 KMS 伺服器。對於 Windows 10 Pro使用金鑰 `W269N-WFGWX-YVC9B-4J6C9-T83GX` + KMS 伺服器 `kms.digiboy.ir` 可成功啟用。
10. **NirSoft 工具 URL 變更**
部分 NirSoft 工具的下載 URL 已失效或更改路徑(特別是帶 `-x64` 後綴的版本)。安裝腳本會顯示 404 錯誤並跳過失效的工具,成功安裝的工具仍可正常使用。
11. **診斷資料收集中的 ArgumentList 錯誤**
在中文 Windows 系統中NirSoft 工具的 CSV 匯出可能因參數編碼問題失敗。解法:單獨測試工具執行並調整字元編碼,或優先使用 Windows 原生診斷命令systeminfo、netstat、Get-Process 等)。
## 環境變數覆寫
所有 `.sh` 都支援:
```bash
HOST=192.168.x.x USER_NAME=foo PASS='xxx' ./some-script.sh
```
額外:
- `remove-windows-ai.sh` 支援 `MODE=Apply|Revert`
- `apply-ui-to-user.sh` 支援 `TARGET_USER=...`
## 相關檔案在目標機器上
- Thunderbird profile → `C:\Users\user\AppData\Roaming\Thunderbird\Profiles\default\`
- Telegram → `C:\Users\user\AppData\Roaming\Telegram Desktop\`
- RemoveWindowsAI 工作區 → `C:\Users\Admin\AppData\Local\Temp\RemoveWindowsAI\`
- Win11Debloat 工作區 → 跑完自動清除(可加 `-KeepWorkDir` 保留)
- 各 script 執行後留下的複本 → `C:\Users\Admin\*.ps1`