2025年4月5日 星期六

[研究]「指定掃描期間的 CPU 使用率百分比上限」設定

[研究]「指定掃描期間的 CPU 使用率百分比上限」設定

2025-04-05

偶然看到一個影片,說CPU若常常100%,說把「指定掃描期間的 CPU 使用率百分比上限」設定為 0% 就可以解決,影片操作很快讓人難跟上,敝人以圖片呈現,並討論一下。

(下圖) 啟動 gpedit.exe 本機群組原則編輯器 (Local Group Policy Editor)




這個原則設定可讓您設定掃描期間允許的 CPU 使用率百分比上限。這個設定的有效值是以整數 5 到 100 表示的百分比。0 值代表沒有 CPU 使用率節流。預設值為 50。

如果您啟用這個設定,CPU 使用率將不會超過指定的百分比。

如果您停用或未設定這個設定,CPU 使用率將不會超過預設值。

********************************************************************************

實際測試,點選「已啟用」瞬間會變成50%,輸入0%,按下「確定」按鈕後,再次開啟,會變成「已停用」,百分比是0,灰色,無法更改。等於是把防毒掃描功能關閉了。

為了避免CPU常100%而關閉防毒掃描,這作法值得考慮。

(完) 


[研究]Edge 和 IE 是否支援 Outlook 中檢視 .mht 內容 ?

[研究]Edge 和 IE (Internet Explorer ) 是否支援檢視 .mht 內容  ?
[研究]Edge 和 IE (Internet Explorer ) 是否支援 Outlook 中檢視 .mht 內容  ?

2025-04-05

偶然發現Email內容用 Edge 不能看,要 IE 才行。(環境 Windows Server 2019 + Outlook 2019)

********************************************************************************

測試,Outlook 中 .mht 內容 用 Edge 和 IE 開啟測試







********************************************************************************
測試,建立一個 .mht (網頁封存,單一檔案) 用 Edge 和 IE 開啟測試




********************************************************************************

 Edge 和 IE 是否支援檢視 .mht 內容  ? Edge 和 IE 是否支援 Outlook 中檢視 .mht 內容  ?

ChatGPT 說:

以下是關於 Microsoft Edge 和 Internet Explorer (IE) 是否支援 .mht 檔案(MIME HTML)的詳細說明,包括在 Outlook 中檢視的情況:

🔍 一般情況:Edge 和 IE 是否支援開啟 .mht 檔案?

瀏覽器是否支援 .mht
Internet Explorer (IE)✅ 原生支援,可以直接開啟 .mht 檔案。
舊版 Edge (EdgeHTML)❌ 不支援。無法直接開啟 .mht 檔案。
新版 Edge (Chromium)❌ 不支援。預設無法直接開啟 .mht 檔案,會下載檔案。

📌 備註:MHT(MHTML)是一種單一網頁封裝格式,IE 是少數原生支援的瀏覽器。


📧 Outlook 中檢視 .mht 附件的支援情況

瀏覽器/應用程式是否可在 Outlook 中檢視 .mht
Outlook + IE (內嵌 IE)✅ 可以正確開啟 .mht 附件(IE 是 Outlook 的預設 HTML 引擎直到 Outlook 2016/2019)。
Outlook + Edge (Chromium)❌ 不支援嵌入 .mht 預覽。Outlook 會提示另存或外部開啟。

📌 Outlook 仍依賴 IE 引擎來渲染部分 HTML 內容,尤其是在舊版(如 Outlook 2016、2019)中。但 .mht 檔案仍需下載後以 IE 開啟。Edge Chromium 並未整合 .mht 的支援功能進 Outlook。

✅ 建議處理方式

  • 要開啟 .mht 檔案:請使用 IE(若仍安裝)或轉存成 .html 再用瀏覽器開啟。
  • 若使用 Edge Chromium:可考慮轉檔(例如用 IE 開啟後另存為 .pdf)或使用第三方工具。
  • Outlook 中接收到 .mht 附件時:
    • 若系統仍有 IE,可以直接用 IE 開啟。
    • 若已無 IE,需下載後用 Word 或第三方支援 .mht 的工具開啟。

需要我提供 .mht 轉換 HTML 或 PDF 的範例工具嗎?或者你是在 Outlook 裡遇到特定顯示問題?可以幫你檢查或解決。

(完)

2025年4月2日 星期三

[研究]SQL Server 那些版本、等級支援伺服器稽核(Server Audit)?

[研究]SQL Server 那些版本、等級支援伺服器稽核(Server Audit)?

2025-04-02

ChatGPT 說在 SQL Server 中,「伺服器稽核(Server Audit)」功能只有在 Enterprise 版和特定的高階版本(如 Datacenter 或 Developer)才可用,而 Standard 版及更低版本(如 Express)不支援 這個功能。敝人實際測試並非如此。

根據下面網址,至少 SQL Server 2016 有 ,但沒提到要 Enterprise 才支援
https://learn.microsoft.com/zh-tw/sql/relational-databases/security/auditing/sql-server-audit-action-groups-and-actions?view=sql-server-2016

3.2. SQL Server Audit Support in Different Editions and Versions
https://logbinder.helpspot.com/index.php?pg=kb.page&id=79 
根據這篇,有更詳細說明

Edition \ VersionSQL Server 2008 and 2008 R2SQL Server 2012 and 2014SQL Server 2016* and 2017
EnterpriseServer- and database-levelServer- and database-levelServer- and database-level
DeveloperServer- and database-levelServer- and database-levelServer- and database-level
DatacenterServer- and database-levelN/AN/A
Business IntelligenceNoneServer-levelN/A
StandardNoneServer-levelServer- and database-level*
WebNoneServer-levelServer- and database-level*
ExpressNoneServer-levelServer- and database-level*

* Database-level auditing for Standard, Web and Express editions are available starting SQL Server 2016 SP1.

(完)

[研究]SQL Server 2019 「維護計畫精靈」的「副檔名」該輸入 bak 還是 .bak

[研究]SQL Server 2019 「維護計畫精靈」的「副檔名」該輸入 bak 還是 .bak

2025-04-02



SQL Server 2019 「維護計畫精靈」的「定期維護清除工作」畫面的「副檔名」該輸入 "bak" 還是 ".bak"

ChatGPT 說:

在 SQL Server 2019 維護計畫精靈(Maintenance Plan Wizard)中的 定期維護清除工作(Maintenance Cleanup Task)設定 副檔名(File Extension)時,應該輸入 bak(不含 .),而不是 .bak。

原因:

SQL Server 只會比對副檔名的字串,不需要加 .,否則可能會導致匹配錯誤。

官方文件與社群經驗 建議填入副檔名時,不包含 .,例如:

備份檔案:bak

壓縮備份檔案:trn

日誌備份檔案:log

如果輸入 .bak,SQL Server 可能無法正確刪除 .bak 檔案,因為它只會比對 檔案名稱的最後幾個字元是否等於 bak,而不是 .bak。

因此,請輸入 bak ✅ 而不是 .bak ❌。

(完)

相關

2025年4月1日 星期二

[研究]收到的信件主旨前面被加上 [SPF檢查失敗],這是甚麼 ?

[研究]收到的信件主旨前面被加上 [SPF檢查失敗],這是甚麼 ?

2025-04-01

收到的信件主旨前面被加上 [SPF檢查失敗],這是甚麼 ?

ChatGPT 說:

信件主旨前面被加上 [SPF檢查失敗],表示該郵件的寄件伺服器在 SPF (Sender Policy Framework) 檢查時未通過,可能是垃圾郵件或詐騙郵件的跡象。

SPF 檢查機制

SPF 是一種 電子郵件驗證機制,用來防止發送者偽造郵件地址。當你的郵件伺服器收到一封信時,它會:

  • 查詢寄件者的 SPF 紀錄(寄件網域的 DNS 設定)。
  • 檢查寄信的 IP 地址是否在該 SPF 紀錄允許的範圍內。
  • 如果 IP 地址 不在 SPF 紀錄內,就會視為 SPF 失敗,可能標示為可疑郵件。


SPF 檢查失敗的可能原因

  • 寄件伺服器未設定 SPF 紀錄:如果寄件方的網域沒有設定 SPF,收件伺服器無法驗證,可能會標示為 SPF 失敗。
  • 寄件者使用了未授權的伺服器發送郵件:例如:公司郵件應該由企業郵件伺服器發送,但寄件者使用 Gmail、Yahoo 或其他第三方伺服器代發,導致 SPF 失敗。
  • 郵件經過轉寄(Forwarding):如果郵件從 A 伺服器寄給 B,然後 B 轉寄給 C,C 可能會發現 B 不是原寄件網域的授權伺服器,因此 SPF 會失敗。
  • 郵件被偽造(釣魚或垃圾郵件):如果攻擊者偽造寄件者的地址,但實際發信的伺服器 IP 不在 SPF 記錄內,會導致 SPF 失敗。


應對方式

  • 如果是可信來源的郵件:你可以聯絡寄件者,請他們檢查自己的 SPF 設定,確保他們的寄件伺服器 IP 在 SPF 紀錄內。
  • 如果是垃圾郵件或釣魚郵件:不要點擊郵件內的連結或開啟附件,直接刪除或標示為垃圾郵件。

如果這種情況頻繁發生,建議你的 IT 管理員或郵件管理員檢查郵件過濾與 SPF 設定,確保未誤判正常郵件。

(完)

[研究]DropDownList從資料庫抓出的值,不在下拉選項中的處理

[研究]DropDownList從資料庫抓出的值,不在下拉選項中的處理

2025-04-01

環境:Visual Studio 2022 + ASP.NET + WebForm + Web Application + C# + SQL Server 2019 + SQL Server Management Studio (SSMS) 19


DropDownListClass.cs

using System;
using System.Web.UI.WebControls;

namespace WebApplicationProject1.Controls
{
    public class DropDownListClass : DropDownList
    {
        protected override void PerformDataBinding(System.Collections.IEnumerable dataSource)
        {
            // 過濾掉 DropDownList 在 DataBinding 時可能會發生的 Exception 問題!
            // 如果 Exception 發生,預設會選取第一個下拉選項!
            try
            {
                base.PerformDataBinding(dataSource);
            }
            catch (ArgumentOutOfRangeException ex)
            {
                ArgumentOutOfRangeException o = ex;
            }
        }
    }
}

(完)

相關

[研究]建立連接至 SQL Server 時,發生網路相關或執行個體特定的錯誤

[研究]建立連接至 SQL Server 時,發生網路相關或執行個體特定的錯誤

2025-04-01

環境:Visual Studio 2022 + ASP.NET + WebForm + Web Application + C# + SQL Server 2019 + SQL Server Management Studio (SSMS) 19

********************************************************************************



********************************************************************************

'/' 應用程式中發生伺服器錯誤。

找不到網路路徑。

描述: 在執行目前 Web 要求的過程中發生未處理的例外狀況。請檢閱堆疊追蹤以取得錯誤的詳細資訊,以及在程式碼中產生的位置。

例外狀況詳細資訊: System.ComponentModel.Win32Exception: 找不到網路路徑。

原始程式錯誤:

行 55:             {
行 56:                 SqlCommand command = new SqlCommand(queryString, connection);
行 57:                 connection.Open();
行 58:                 try
行 59:                 {




堆疊追蹤:

[Win32Exception (0x80004005): 找不到網路路徑。]

[SqlException (0x80131904): 建立連接至 SQL Server 時,發生網路相關或執行個體特定的錯誤。找不到或無法存取伺服器。確認執行個名稱是否正確,以及 SQL Server 是否設定為允許遠端連線。 (provider: Named Pipes Provider, error: 40 - 無法開啟至 SQL Server 的連接)]
   System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, UInt32 waitForMultipleObjectsTimeout, Boolean allowCreate, Boolean onlyOneCheckConnection, DbConnectionOptions userOptions, DbConnectionInternal& connection) +1341
   System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal& connection) +159
   System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal oldConnection, DbConnectionInternal& connection) +382
   System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions) +307
   System.Data.SqlClient.SqlConnection.TryOpenInner(TaskCompletionSource`1 retry) +198
   System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource`1 retry) +422
   System.Data.SqlClient.SqlConnection.Open() +199   System.Web.UI.Control.OnLoad(EventArgs e) +99
   System.Web.UI.<LoadRecursiveAsync>d__246.MoveNext() +284
   System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() +32
   System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) +62
   System.Web.Util.WithinCancellableCallbackTaskAwaiter.GetResult() +32
   System.Web.UI.<ProcessRequestMainAsync>d__523.MoveNext() +6925



版本資訊: Microsoft .NET Framework 版本:4.0.30319; ASP.NET 版本:4.8.4770.0

********************************************************************************

後來檢查 Deploy 的目的目錄中的 Web.Config 檔案內容,發現選錯 Deploy 發布設定檔,改選正確的重新 Deploy 後正常。

(完)

相關