icka's Home https://icka.org Fri, 12 Dec 2025 14:12:00 +0000 zh-TW hourly 1 受保護的內容: Microsoft Azure個人語音 https://icka.org/5086/azure-personal-voice https://icka.org/5086/azure-personal-voice#respond Thu, 04 Dec 2025 15:02:38 +0000 https://icka.org/?p=5086

這篇內容受到密碼保護。如需檢視內容,請於下方欄位輸入密碼:

]]>
https://icka.org/5086/azure-personal-voice/feed 0
Windows 10 延伸安全性更新 (ESU) 計畫 https://icka.org/5077/windows-10-%e5%bb%b6%e4%bc%b8%e5%ae%89%e5%85%a8%e6%80%a7%e6%9b%b4%e6%96%b0-esu-%e8%a8%88%e7%95%ab https://icka.org/5077/windows-10-%e5%bb%b6%e4%bc%b8%e5%ae%89%e5%85%a8%e6%80%a7%e6%9b%b4%e6%96%b0-esu-%e8%a8%88%e7%95%ab#respond Sun, 26 Oct 2025 14:47:23 +0000 https://icka.org/?p=5077 Windows 10 已經EOS, ESU 是一項付費計劃,可為各種規模的個人和組織提供選項,以更安全的方式將 Windows 10 裝置的使用延長到支援結束日期之後。

目前windows 10的ESU有提供兩種
1.是Windows 10 消費者
2.不是Windows 10消費者

針對消費者,基本就是個人用戶,只要符合條件,是可以免費使用ESU,這個部分可以參考https://www.microsoft.com/zh-tw/windows/extended-security-updates?r=1
註冊消費者版的前提是:

裝置必須執行 Windows 10 版本 22H2 (家用版、專業版、專業教育版或工作站版)。(也就是如果電腦是企業版則不支持。)
裝置需要安裝最新的 Windows 更新。了解如何安裝 Windows 更新。
登入裝置用的 Microsoft 帳戶必須是管理員帳戶。
ESU 授權將與註冊用的 Microsoft 帳戶關聯。如果你平常使用本機帳戶登入 Windows,系統可能會提示你改用 Microsoft 帳戶登入。
Microsoft 帳戶不得為兒童帳戶。

消費者 ESU 計畫不得用於商業情境,且以下裝置將不提供註冊:
使用 kiosk 模式的裝置。
已加入 Active Directory 網域或 Microsoft Entra,以及/或是已註冊行動裝置管理 (MDM) 解決方案的裝置。
但是,如裝置已註冊 Microsoft Entra 可使用消費者版 ESU 計畫。
已擁有 ESU 授權的裝置。

最簡單的方式就是使用微軟個人帳號登入綁定就可以啓用,點擊 快速連接 啓用,一個帳號可以啓用10台電腦。

不是windows消費者,可以參考其他的網頁
https://learn.microsoft.com/zh-tw/windows/whats-new/extended-security-updates
https://learn.microsoft.com/zh-tw/windows/whats-new/enable-extended-security-updates

比如如果是企業版的,想要註冊消費者版可以嘗試降級
https://learn.microsoft.com/zh-tw/windows/deployment/upgrade/windows-edition-upgrades

目前可能會出現即使購買付費版的ESU並註冊,在Windows 升級的地方也是顯示無法獲取到安全更新,而消費者版可以正常顯示。

如何檢查是否可以獲取到更新,查詢指令

reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform\ESU" /v Win10CommercialKeybasedESUEligible

這是傳送給 Windows 更新伺服器以請求 ESU 的值。只要此值有效0x1,您就能獲得 ESU
查詢激活信息(管理員權限運行):

Slmgr /dlv

 

待續

]]>
https://icka.org/5077/windows-10-%e5%bb%b6%e4%bc%b8%e5%ae%89%e5%85%a8%e6%80%a7%e6%9b%b4%e6%96%b0-esu-%e8%a8%88%e7%95%ab/feed 0
人民幣換成美元定存好還是維持人民幣定存好呢 https://icka.org/5073/rmb-vs-usd-fixed-deposit https://icka.org/5073/rmb-vs-usd-fixed-deposit#respond Mon, 13 Oct 2025 09:55:46 +0000 https://icka.org/?p=5073 網上很多人在計算說美元定存利息高,但如果現在人民幣換成美元,一年後人民幣升值了,雖然利息高,但因為匯差導致的損失比利息還高,所以換成美元再弄成定存不划算。

說這樣話的人有一個錯誤的地方那就是時間限制在一年,1年的利息差可能不如匯差高,但利息的累積效應是每年都在增長,而匯差在一個比較長的時間內是成本是固定的,所以累積3年,5年甚至更久,就現在利息差異很大的情況下,還是存美元比較划算的,當然你要放的住,如果只存1年2年就換回人民幣,那還是不要了。

寫了個網頁,可以方便查詢
https://www.icka.org/huilv/rmbusd.html

]]>
https://icka.org/5073/rmb-vs-usd-fixed-deposit/feed 0
解決AVD長時間關機導致開機也無法連線的問題 https://icka.org/5041/fix-avd-no-connection-after-long-shutdown https://icka.org/5041/fix-avd-no-connection-after-long-shutdown#respond Tue, 09 Sep 2025 12:49:21 +0000 https://icka.org/?p=5041 將 VM 註冊到 Azure 虛擬桌面服務內的主機集區之後,每當 VM 處於作用中狀態時,代理程式就會定期重新整理 VM 的令牌。 註冊令牌的憑證有效期為90天。 由於此 90 天的限制,建議 VM 每隔 90 天上線 20 分鐘,讓計算機可以重新整理其令牌,並更新代理程式和並存堆棧元件。 在此時間限制內開啟您的 VM,可防止其註冊令牌過期或變成無效。
解決大概的步驟是:從主機集區移除 VM、重新安裝代理程式,然後將其重新註冊至集區

在長久沒有連線的時候,使用AVD連線工具連線可能看到的錯誤

我們登入azure portal可以看到有無法連線的VM,當前環境只有一台電腦,這一台電腦無法連線就會整個無法連線。
點進去這台工作階段主機查看,原來上次正常的狀態是一年半以前。
現在我們需要用一般的RDP連線到VM當中,預設VM是沒有public ip的,所以可以再網卡上綁定一個IP連線,或者用AD上使用內網的IP連線過去。

連線到VM後到控制台中刪除一些程式,但是要注意卸載 遠端桌面服務 SxS 網路堆疊時,系統會提示您 關閉遠端桌面服務和遠端桌面服務UserMode 埠重新導向器 。 如果您使用 RDP 連線到工作階段主機 VM,請選取 [不要關閉應用程式],然後選取 [ 確定]。 否則,您的 RDP 連線將無法運作。
移除的程式主要包含下面4個
移除 Desktop Agent Boot Loader
移除 Desktop Services Infrastructure Agent
移除 Desktop Services Infrastructure Geneva Agent
移除 Desktop Services SxS Network Stack(注意前面的紅字注意事項)
移除前的樣子:
Desktop Services SxS Network Stack移除時注意:
接下來到azure portal中將次工作階段主機移除。

然後到工作集區,點擊「註冊金鑰」選擇小於27天的範圍產生,我們是馬上使用只有一台所以我沒有保存到本地,如果有多台分多次註冊,也可以下載為本地檔案。

接下來下載新的程式到VM中運行
Azure 虛擬桌面代理程式:https://go.microsoft.com/fwlink/?linkid=2310011
Azure 虛擬桌面代理程式開機載入器:https://go.microsoft.com/fwlink/?linkid=2311028



然後安裝代理
下面的圖中要粘貼前面步驟產生的金鑰





安裝完畢後,在工作階段主機的位置重新整理一下,就會看到有了新的VM,剛開始可能會是不健康的,等幾分鐘後重新整理應該就是健康的狀態。
此時重新使用AVD連線工具連線就可以看到正常的登入畫面
有的時候可能也想一併升級fslogix
地址:https://learn.microsoft.com/zh-tw/fslogix/how-to-install-fslogix
有過一次直接升級重啟後發現使用者設定檔建立到本機了,查看C:\ProgramData\FSLogix\Logs\Profile下面的log,發現無法寫入儲存體的vhd的檔案提示被鎖定,但從儲存體裡面查看VHD右鍵選擇「列出檔案控制代碼及租用」,實際上又沒有被鎖定,最後用管理員進去刪除掉本機設定檔,重新登入又正常了。

]]>
https://icka.org/5041/fix-avd-no-connection-after-long-shutdown/feed 0
使用Azure Logic app定時更換Azure Openai的金鑰 https://icka.org/4989/azure-logic-apps-rotate-azure-openai-api-keys https://icka.org/4989/azure-logic-apps-rotate-azure-openai-api-keys#respond Sun, 24 Aug 2025 11:18:29 +0000 https://icka.org/?p=4989 在雲端應用程式開發中,API 金鑰的安全性是至關重要的一環。寫死在程式碼或設定檔中的金鑰,不僅管理不易,更隱藏著外洩的風險。為了遵循最佳安全實踐,我們應該定期輪換 (Rotate) API 金鑰。然而,手動輪換不僅耗時,也容易因人為疏忽而產生漏洞。

本篇文章將詳細介紹如何利用 Azure Logic Apps 這項強大的自動化服務,打造一個無需人工介入、定時自動輪換 Azure OpenAI 金鑰的解決方案。這不僅能大幅提升您服務的安全性,更能將您從繁瑣的手動操作中解放出來。

我們的目標是建立一個 Logic App,它會依據我們設定的排程(例如每天一次),自動呼叫 Azure Resource Manager (ARM) 的 API 來為指定的 Azure OpenAI 服務產生新的金鑰。接著,它會解析 API 回傳的結果,取得新的金鑰,並可將其安全地儲存到如 Azure Key Vault 等服務中,供應用程式動態讀取。

整個過程中最關鍵的一步,是授權 Logic App 擁有足夠的權限來管理 Azure OpenAI 資源。我們將採用 Azure 推薦的最佳實踐——受控識別 (Managed Identity) 來實現安全、無密碼的驗證。

整體的流程:
建立 Logic App:
在 Azure Portal 中,建立一個新的 Logic App (Consumption) 資源。Consumption Plan (耗用量方案) 對於這種輕量級的定時任務來說,成本效益最高。
並設定一個每 24 小時觸發一次的排程。
通過有權限的操作去和Azure OpenAI 資源互動,理論有兩個方式
一、啟用受控識別 (Managed Identity):賦予 Logic App 權限,讓它有權限去管理您的 Azure OpenAI 資源,在訂閱層或者是資源群組層授予這個受控識別Cognitive Services Contributor (認知服務參與者),使用 HTTP 動作來呼叫 ARM 的 REST API,以執行重置金鑰的命令。
這個的優勢是受控識別可以長期有效,限制是Logic App和openai 資源在同一個組用戶裏面

二、使用Entra ID應用程式,在要管理Azure OpenAI 資源所在的租用戶建立一個應用程式,在訂閱層或者是資源群組層授予這個應用程式Cognitive Services Contributor (認知服務參與者)權限,使用 HTTP 動作來呼叫 ARM 的 REST API,以執行重置金鑰的命令。
這個的優勢是可以跨組用戶管理,限制是應用程式的密碼預設最久是2年有效,雖然可以用指令建立長期的,但通過portal上最久是2年,需要定期更新密碼。

重置金鑰後,可以將這個新金鑰儲存到 Azure Key Vault 中,以便其他應用程式可以安全地讀取。當然也可以根據使用者的需要比如將KEY從Logic app中直接寫入到SQL database或者Mysql等資料庫當中。

Logic App 建立後,在左側選單的「設定」區塊中找到「身分識別」(Identity)。在此頁面,將「系統指派」(System assigned) 的狀態切換為「開啟」(On),然後點擊「儲存」。

專業說明:啟用受控識別後,Azure 會在 Entra ID (原 Azure AD) 中為這個 Logic App 建立一個對應的服務主體 (Service Principal)。我們可以把這個身分想像成是 Logic App 在 Azure 世界中的「身分證」,讓它能以自己的名義去存取其他受保護的 Azure 資源,而無需我們手動管理任何密碼或憑證。


點擊「是」


點擊「Azure角色指派」,根據需要選擇範圍,在角色列表中,搜尋並選擇「認知服務參與者 (Cognitive Services Contributor)」。這個角色提供了管理認知服務(包含 OpenAI)的完整權限,其中就包括了重新產生金鑰的能力。
https://learn.microsoft.com/zh-tw/azure/role-based-access-control/built-in-roles/ai-machine-learning#cognitive-services-contributor


指派完畢後,此時logica app就有權限去更換範圍的認知服務的KEY
然後開始編寫程式,新增觸發程式,比如1天運行一次





設定好排程後,點擊下面的加號,新增動作,開始重置KEY的動作

選擇HTTP



接下來要用POST的方式,

這是最核心的步驟。我們將使用 HTTP 動作來呼叫 Azure Resource Manager 的 API 來執行 regenerateKey 操作。

方法 (Method): POST

URI: 這裡需要填入一個特定格式的 URL。要找到這個 URL,最簡單的方法是:

手動在 Azure Portal 的 OpenAI 服務頁面點擊一次「重新產生金鑰」。

在瀏覽器中按下 F12 打開開發人員工具,切換到「網路 (Network)」分頁。

找到名稱包含 regenerateKey 的請求,從中複製完整的 Request URL。
它看起來會像這樣:https://management.azure.com/subscriptions/{您的訂閱ID}/resourceGroups/{您的資源群組名稱}/providers/Microsoft.CognitiveServices/accounts/{您的OpenAI服務名稱}/regenerateKey?api-version=2023-05-01


本文 (Body): 同樣地,從開發人員工具的網路請求中,找到 Payload 或 Request Body,並將其複製過來。它會是一個 JSON 物件,指定要重設哪一把金鑰(key1 或 key2)。

也可以看到回應

在URL中貼上portal中複製到的連接,POST類型,body里也填寫瀏覽器中複製的,底部的進階參數中的驗證要勾選


這裏也可以用AAD程式驗證,但因爲我們是使用受控識別。

驗證 (Authentication):

點擊「新增參數」並勾選「驗證」。

驗證類型:選擇「受控識別 (Managed Identity)」。

對象 (Audience):填入 https://management.azure.com/。這是在告訴 Azure,我們的 Logic App 想要取得一個用來存取 ARM API 的權杖 (Token)。

解析 API 回應 (Parse JSON):
成功呼叫 API 後,它會回傳一個包含新金鑰的 JSON 物件。我們需要使用「剖析 JSON (Parse JSON)」動作來提取這個新金鑰。

內容 (Content): 選擇前面 HTTP 步驟的「本文 (Body)」。

結構描述 (Schema): 點擊「使用範例承載產生結構描述」,然後貼上一次成功手動操作時,API 回應的 JSON 內容。這會讓 Logic App 了解回應的資料結構。


這裏點擊閃電的符號,也就是數據是從前面的步驟產生的

這裏選擇http返回的Body資料

json的格式可以填寫

{
    "type": "object",
    "properties": {
        "key1": {
            "type": "string"
        },
        "key2": {
            "type": "string"
        }
    }
}


這個時候可以看到body key2就是我們要的資料了。

但如果需要單獨放到一個變量里也是可以的,我們可以新增動作,建立一個變數


選擇「初始化變數」Initialize variables

其值點擊閃電,是從前面的步驟來的

選擇body key2

這個時候,運行logic app後,body key2就是有效的key,而腳本並不會去更改key1的內容,如果需要,可以修改提交post裏面的body內容。
後續可以根據自己的需要看如何使用這個key

]]>
https://icka.org/4989/azure-logic-apps-rotate-azure-openai-api-keys/feed 0
受保護的內容: Gemini AI Pro免費12個月學生優惠 https://icka.org/4974/gemini-ai-pro-free-12 https://icka.org/4974/gemini-ai-pro-free-12#respond Fri, 22 Aug 2025 05:10:49 +0000 https://icka.org/?p=4974

這篇內容受到密碼保護。如需檢視內容,請於下方欄位輸入密碼:

]]>
https://icka.org/4974/gemini-ai-pro-free-12/feed 0
受保護的內容: crunchyroll影片處理 https://icka.org/4956/crunchyroll%e5%bd%b1%e7%89%87%e8%99%95%e7%90%86 https://icka.org/4956/crunchyroll%e5%bd%b1%e7%89%87%e8%99%95%e7%90%86#respond Fri, 01 Aug 2025 14:42:44 +0000 https://icka.org/?p=4956

這篇內容受到密碼保護。如需檢視內容,請於下方欄位輸入密碼:

]]>
https://icka.org/4956/crunchyroll%e5%bd%b1%e7%89%87%e8%99%95%e7%90%86/feed 0
在Outlook上登入Exchange online 時發生錯誤 CAA2000B https://icka.org/4927/outlook-login-error-caa2000b-exchange-online https://icka.org/4927/outlook-login-error-caa2000b-exchange-online#respond Mon, 12 May 2025 12:24:56 +0000 https://www.icka.org/?p=4927 近期 一些使用微軟365信箱的使用者在登入outlook的時候會收到錯誤訊息:

發生錯誤
無法將您登入。如果此錯誤持續發生,請連絡您的系统管理員並提供錯誤碼CAA2000B。

官網的解釋是https://learn.microsoft.com/zh-tw/microsoft-365-apps/outlook/get-started/licensing-options,一般收到這個錯誤的提示都是不符合這個條件,之前微軟有這樣的要求,但沒有嚴格執行,目前看起來準備要嚴格執行,是否會再調整或者寬鬆檢測就看之後的發展了。

但是目前有一個解決方法是下載azure的CLI,然後執行下面的指令

az login --allow-no-subscriptions
az ad sp update --id 40775b29-2688-46b6-a3b5-b256bd04df9f --set accountEnabled=true

指令沒有親自驗證,請自行評估是否運行,如果有azure的訂閱,則可以在cloudshell中直接執行第二行。

上述問題可能只會在發文後短期內有效,不保證長久有效,因為雲端服務官方會隨時做出調整。

 

]]>
https://icka.org/4927/outlook-login-error-caa2000b-exchange-online/feed 0
台灣幾家銀行匯率即時查詢 https://icka.org/4917/exchang-eratein-quiry https://icka.org/4917/exchang-eratein-quiry#respond Sun, 11 May 2025 04:23:05 +0000 https://www.icka.org/?p=4917 最近台幣兌換其他貨幣大幅升值,需要找個時機換一點外幣備用,在網銀的APP上查看不怎麼方便,而官網的匯率顯示不會自動刷新也會顯示一些不需要的內容。于是就寫了簡單的查詢頁面,會定時自動刷新。匯率只提供網銀的兌換匯率,一般就是對應 銀行的即期匯率,部分貨幣有APP優惠優惠就顯示優惠的匯率,數值僅供參考,如果和銀行官網顯示內容不同請以官網數字為準。

富邦銀行人民幣即期賣出匯率 http://www.icka.org/huilv/fubang-jiqi-rmb.php

國泰世華銀行美元即期賣出數位通路優惠匯率http://www.icka.org/huilv/guotai-jiqi-usd.php

國泰世華銀行日元即期賣出數位通路優惠匯率https://icka.org/huilv/guotai-jiqi-jpy.php

玉山銀行日幣即期賣出匯率https://icka.org/huilv/yushan-jiqi-jp.php
玉山週末不顯示APP優惠匯率,訪問會顯示為 -

台新銀行日幣即期賣出匯率https://icka.org/huilv/taixin-jiqi-jp.php

將來銀行 美元即期賣出匯率:https://www.icka.org/huilv/nextbank-jiqi-usd.php

Line銀行 美元即期賣出匯率:https://www.icka.org/huilv/linebank-jiqi-usd.php

]]>
https://icka.org/4917/exchang-eratein-quiry/feed 0
使用subtitleedit調整雙語字幕 https://icka.org/4907/use-subtitle-edit-to-adjust-bilingual-subtitles https://icka.org/4907/use-subtitle-edit-to-adjust-bilingual-subtitles#respond Wed, 12 Mar 2025 03:10:27 +0000 https://www.icka.org/?p=4907 一個微軟的課程給的字幕是英文的,而沉浸式翻譯可以將英文字幕翻譯為雙語字幕,這很好,但翻譯後的效果是一行英文一行中文,他們是相同的時間軸,這在電腦上用potplayer播放是沒問題的,但上傳比如microsoft stream上後,則只會顯示第一行的內容,相同時間的第二行中文就不會顯示,所以就有必要調整為把中文英文塞到唯一的時間軸裡面,這個時候就要使用subtitleedit這個工具了,其官網是http://www.nikse.dk/ 或者也可以從github上下載。

開啟字幕是這樣子的,相同的時間總是會有兩行,一行英文,一行中文

點擊工具,選擇「合併時間碼相同的行」

因為都是一行時間碼,所以預覽可以看到合併的行號就是12、34這樣下去,字幕會是英文,然後一個換行符之後再是中文。

套用後的效果,此時可以另存為srt格式,這個是第一行,也可可以存為vtt格式,就是webvtt,所以有需要srt和vtt格式互換也可以使用這個工具。
經過這樣處理後,顯示就是正常的了。

]]>
https://icka.org/4907/use-subtitle-edit-to-adjust-bilingual-subtitles/feed 0
阿里云盘TV版Oauth令牌一键获取和刷新程序 https://icka.org/4857/alipan-tv-auth https://icka.org/4857/alipan-tv-auth#comments Fri, 06 Dec 2024 12:57:52 +0000 https://www.icka.org/?p=4857 為什麼需要這個,知道的就知道,不知道的應該就不知道,下面記錄簡單部署步驟
容器的管理是使用的portainer,主要是web管理方便
在裡面新增容器
名稱是:Alipan-TV-Auth
Image填寫vscodev/alipan-tv-auth
Manual network port publishing點擊publish a new network port,前後都填寫5245然後底部的Command,點擊Override,後面填寫

docker run -d --name alipan-tv-auth -p 5245:5245 --restart unless-stopped vscodev/alipan-tv-auth:latest

最後點擊Deploy the container

然後訪問http://docker.host:5245 就會出現下面的圖,如果主機有public ip,則可以用public ip

點擊授權登陸,使用阿里雲盤的APP掃描,訪問令牌和刷新令牌就出現了。
在Alist中,填寫的是刷新令牌,下面的Oauth令牌連結填寫
http://docker.host:5245/api/oauth/alipan/token 其中如果主機有pulic ip,裡面的docker.host就替換為public ip

此時alist中點保存應該就可以看到可以正常工作了。

]]>
https://icka.org/4857/alipan-tv-auth/feed 4
在Azure VM中設定SQL Server Always On https://icka.org/4746/azure-vm-config-sql-server-always-on https://icka.org/4746/azure-vm-config-sql-server-always-on#respond Wed, 04 Sep 2024 13:10:24 +0000 https://www.icka.org/?p=4746

環境資源

1台windows 2019 作爲domain controllers,擔心如果因DC出問題導致SQL異常,可以建立2台  DC,示意圖是2台,實際建制用的1台

2台 SQL server Enterprise 2019   on Windows 2019

另外建立一個儲存體賬戶作爲雲端見證使用

架構:

步驟:

建立資源群組

登入azure portal建立資源群組,名稱爲SQL-HA-RG,然後區域,本例爲美國西部2

建立網路和子網路

名稱SQLHAVNET   範圍是10.38.0.0/16

第一個子網路爲DC-subnet範圍是 10.38.0.0/24

第二個子網路爲SQL-subnet-1,IP 位址範圍爲 10.38.1.0/24

第三個子網路爲SQL-subnet-2,IP 位址範圍爲10.38.2.0/24

建立DC vm,使用windows 2019 OS,區域美國西部2,VM名稱DC-VM-1,使用的子網路是DC-subnet

如果要多台DC,則建立的時候建議使用高可用性,比如可用性區域或者可用性群組.

使用者名稱        DomainAdmin

使用者密碼        Contoso!0000

建立完畢後進入OS,增加選取 [Active Directory Domain Services] 和 [DNS 伺服器] 角色


完畢後,點擊Promate this server to a domain controller

新增樹系,名字是      corp.contoso.com

密碼是    Contoso!0000

一直點擊下一步到最後安裝完畢電腦會自動重啓.

將DC1主機的IP固定,後面的其他IP的操作方式一樣.

然後到剛剛建立的虛擬網路里,將DNS修改爲自訂,設爲  剛剛DC的IP,也就是10.38.0.4


如果有安裝第二台DC,這個時候不是新增樹系,而是選取 [將網域控制站新增至現有網域],升級重啓後,在剛剛的自訂DNS位置可以將第二台的DC的IP添加上去,預設應該是10.38.0.5

使用系統管理員帳戶 (CORP.CONTOSO.COM\domainadmin) 和密碼 (Contoso!0000) 連線到DC

建立2個帳號Corp\Install 和Corp\SQLSvc  密碼都設爲Contoso!0000

授與權限給安裝帳戶,請遵循下列步驟:

  1. 從 [伺服器管理員] 開啟 [Active Directory 管理中心] (如果尚未開啟)。
  2. 從左窗格中選取 [corp (本機)]。
  3. 在右側的 [工作] 窗格中,驗證您是否在下拉式清單中看到 [corp (本機)],然後選取下方的 [屬性]。

選取 [延伸模組],然後選取 [安全性] 索引標籤上的 [進階] 按鈕。

在 [公司的進階安全性設定] 對話方塊中,選取 [新增]。

按一下 [選取主體],搜尋 CORP\Install,然後選取 [確定]。

勾選 [讀取所有屬性] 和 [建立電腦物件] 旁的核取方塊。

建立SQL SERVER VM

]]> https://icka.org/4746/azure-vm-config-sql-server-always-on/feed 0 wordpress升級導致crayon-syntax-highlighter錯誤的解決方式 https://icka.org/4653/fix-wordpress-crayon-syntax-highlighter-error https://icka.org/4653/fix-wordpress-crayon-syntax-highlighter-error#respond Mon, 29 Jan 2024 13:43:04 +0000 https://www.icka.org/?p=4653 因爲wordpress已經落後太多版本,並且PHP版本也是早期預設的7.2版本,目前已經建議是7.4,現在版本連插件都不安裝了,今天就來更新了一下,先備份檔案和資料庫,然後升級,PHP從7.2升級到7.4,然後WP也更新到最新版,訪問首頁報錯:

Warning: preg_replace(): Compilation failed: invalid range in character class at offset 4 in /wp-content/plugins/crayon-syntax-highlighter/crayon_langs.class.php on line 340

還有

Fatal error: Uncaught Error: Call to a member function id() on array in /wp-content/plugins/crayon-syntax-highlighter/crayon_formatter.class.php:36 Stack trace: #0 /wp-content/plugins/crayon-syntax-highlighter/crayon_formatter.class.php(538): CrayonFormatter::format_code('', Array, Object(CrayonHighlighter)) #1 [internal function]: CrayonFormatter::delim_to_internal(Array) #2 /wp-content/plugins/crayon-syntax-highlighter/crayon_formatter.class.php(516): preg_replace_callback('#()#msi', 'CrayonFormatter...', '<?xml version="...') #3 /wp-content/plugins/crayon-syntax-highlighter/crayon_highlighter.class.php(166): CrayonFormatter::format_mixed_code('<?xml version="...', Object(CrayonLang), Object(CrayonHighlighter)) #4 /wp-content/plugins/crayon-syntax-highlighter/crayon_highlighter.class.php(186): CrayonHighlighter->process() #5 /wp-content/plugins/crayon-syntax-highlighter/cr in /wp-content/plugins/crayon-syntax-highlighter/crayon_formatter.class.php on line 36

看來就是插件的問題,有強大的AI工具,建議如下修改;
crayon_langs.class.php的第340行左右由原來的:

// Override
	function clean_id($id) {
        $id = CrayonUtil::space_to_hyphen( strtolower(trim($id)) );
        return preg_replace('/[^\w-+#]/msi', '', $id);
	}

修改爲:

// Override
function clean_id($id) {
    $id = CrayonUtil::space_to_hyphen(strtolower(trim($id)));
    return preg_replace('/[^\w\-\+#]/msi', '', $id);
}

修改後,插件就可以用了。連第二個錯誤貌似也消失了
後來有從其他人分享的經驗中也可以如下修改:

return preg_replace('/[^\w\-+#]/msi', '', $id);

先記錄,後續再觀察狀況。

更新:有別人更新的分叉版本,改用分叉的版本了
https://wordpress.org/plugins/urvanov-syntax-highlighter/
https://github.com/urvanov-ru/crayon-syntax-highlighter

]]>
https://icka.org/4653/fix-wordpress-crayon-syntax-highlighter-error/feed 0
讓遠端桌面的縮放比例和連線端相同 https://icka.org/4547/rdp-scaling-on-high-dpi-displays-fix https://icka.org/4547/rdp-scaling-on-high-dpi-displays-fix#comments Wed, 05 Jul 2023 06:53:07 +0000 https://www.icka.org/?p=4547 現在電腦的螢幕解析度都很高,而螢幕尺寸有限的情況下,為了不要讓文字太小,Windows OS會提供一個建議的縮放比例,比如125%,150%這樣子。

RDP到Windows server上,遠端的桌面的顯示設定是無法修改的,導致體驗無法像本地一樣良好。


這個問題可以通過下面途徑修改,如果想方便,可以直接看2
1.手動逐步處理
修改機碼HKEY_LOCAL_MACHINE > SOFTWARE > Microsoft > Windows > CurrentVersion > SideBySide添加PreferExternalManifest,並設置其數值為1

然後建立一個txt檔案,其內容為

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>

<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3">

<dependency>
  <dependentAssembly>
    <assemblyIdentity
      type="win32"
      name="Microsoft.Windows.Common-Controls"
      version="6.0.0.0" processorArchitecture="*"
      publicKeyToken="6595b64144ccf1df"
      language="*">
    </assemblyIdentity>
  </dependentAssembly>
</dependency>

<dependency>
  <dependentAssembly>
    <assemblyIdentity
      type="win32"
      name="Microsoft.VC90.CRT"
      version="9.0.21022.8"
      processorArchitecture="amd64"
      publicKeyToken="1fc8b3b9a1e18e3b">
    </assemblyIdentity>
  </dependentAssembly>
</dependency>

<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
  <security>
    <requestedPrivileges>
      <requestedExecutionLevel
        level="asInvoker"
        uiAccess="false"/>
    </requestedPrivileges>
  </security>
</trustInfo>

<asmv3:application>
  <asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">
    <ms_windowsSettings:dpiAware xmlns:ms_windowsSettings="http://schemas.microsoft.com/SMI/2005/WindowsSettings">false</ms_windowsSettings:dpiAware>
  </asmv3:windowsSettings>
</asmv3:application>

</assembly>

講檔案重命名為mstsc.exe.manifest,然後拷貝到C:\Windows\System32\中。然後再mstsc.exe遠端桌面就可以了。

2.快速處理
下載附檔,導入fix1.reg到作業系統,然後將mstsc.exe.manifest複製到C:\Windows\System32\中。然後再mstsc.exe遠端桌面就可以了。

manifest

補充:
其他類型的程式也可以同樣參考,只要檔案名字改下就可以,檔案內容不需要更改,但這個方式不試用于所有的應用程式,可能程式有多個依賴,可能的解決方式是用7-ZIP之類的exe編輯軟體打開程式,在manifest的部分,查看所有的依賴項目
然後本地有的程式,可能 需要滑鼠右鍵——內容——相容性
在高DPI縮放比例行為中修改為系統(增強)

]]>
https://icka.org/4547/rdp-scaling-on-high-dpi-displays-fix/feed 4
Yubico Authenticator使用體驗 https://icka.org/4377/yubico-authenticator https://icka.org/4377/yubico-authenticator#respond Mon, 21 Nov 2022 03:42:46 +0000 https://www.icka.org/?p=4377 為了增加一些微軟、google等帳號的安全性,使用MFA的方式保護是有必要的,所以手機中就安裝了Google Authenticator、Microsoft Authenticator,還有LastPASS的  Authenticator。

Google Authenticator的記錄可以轉移到其他手機,但如果還沒轉移前手機就無法使用了,感覺還蠻危險的,所以這個APP目前幾乎沒使用。
Microsoft Authenticator對自家的帳號體驗度是最好的,預設的可以直接彈出驗證點擊同意,而不是去輸入驗證碼,現在的版本也有支援備份了,之前就使用過一次恢復,體驗普通,因為有的帳號還是需要你重新掃描二維碼,實際上就相當於是重新添加一樣了,但因為可以直接彈窗,所以微軟的帳號還是主要用這個APP還是很方便的。
LastPASS的  Authenticator作為第三方的驗證,目前使用體驗是挺好的,它做到了真正的備份,添加的時候需要配合LastPass這個APP備份資料,在其他手機上登入帳號可以100%還原Authenticator,但作為通用的MFA,它只能提供產生驗證碼的方式,無法點擊彈窗確認來驗證。

因為購買了YubiKey,這家也有Authenticator,這家的和其他的有什麼不同呢。
YubiKey Authenticator 的客戶端蠻多種的,包含Windows、MAC、Linux、Android、IOS
添加的方式和其他的第三方的APP相同,可以使用掃描二維碼或者手動輸入帳戶名稱和祕密金鑰的方式添加,可以設定只要有讀取到YubiKey就可以顯示6位或者8位驗證碼,還是需要觸摸或者感應才會顯示,最後添加的時候需要插入電腦或者手機上用NFC感應。

看出來,這些驗證的訊息是寫到YubiKey中的,手機APP或者電腦中的程式只是用來讀取用途的,YubiKey移走之後,當前的驗證碼失效後,這些MFA訊息就變灰色或者是消失掉,需要讀取的話,要再插入或者感應YubiKey,這樣子就和手機無關了,只要YubiKey在,MFA的資料就還在,但要注意MFA的驗證不要只有一個YubiKey,不然YubiKey丟了,就很麻煩,解決方式當然是買多個YubiKey來添加多組MFA,或者是添加其他的MFA驗證方式,比如手機收簡訊等,再來YubiKey Authenticator可以添加的帳號數量是有限制的,針對5 NFC來說是32個,畢竟是寫在硬體中的,不像軟體那樣的寬鬆。

配合Azure AD使用的官網參考文件:
https://support.yubico.com/hc/en-us/articles/360015669179-Using-YubiKeys-with-Azure-MFA-OATH-TOTP

]]>
https://icka.org/4377/yubico-authenticator/feed 0