同一個目錄的檔案, 我用 PowerShell 的 Select-string 和 Linux (我在Windows裝的 WSL, Ubuntu 22.04.3 LTS), 結果居然不一樣 🤨
grep 有找到, 但是 select-string 找不到
研究半天才明白, 原來 select-string 會把後面的 pattern 字串, 當作 Regular Expression
同一個目錄的檔案, 我用 PowerShell 的 Select-string 和 Linux (我在Windows裝的 WSL, Ubuntu 22.04.3 LTS), 結果居然不一樣 🤨
grep 有找到, 但是 select-string 找不到
研究半天才明白, 原來 select-string 會把後面的 pattern 字串, 當作 Regular Expression
查看Windows的System log, 找尋 Event ID: 1074
用Powershell 可以這樣下
Get-WinEvent -FilterHashtable @{logname = 'System'; id = 1074} -MaxEvents 1 | Format-Table -wrap
每次被問到, 都要想好久/查好久, 所以在這裡也筆記一下.
順便分享給有緣人
原來有這個網站
https://www.connectionstrings.com/
另外又學到, 原來透過ODBC連接資料庫, 不一定要先在電腦/主機上設定系統ODBC的DSN
只要有安裝 driver, 連線字串是正確的, 就可以連上了
至少 PostgreSQL 是這樣
錯誤訊息大約長這樣:
2023-01-13 13:16:51,303 [XXXXX] - ERROR - File "src\pymssql\_pymssql.pyx", line 652, in pymssql._pymssql.connect: [OperationalError] (20009, b'DB-Lib error message 20009, severity 9:\nUnable to connect: Adaptive Server is unavailable or does not exist (localhost)\nNet-Lib error during Unknown error (10061)\nDB-Lib error message 20009, severity 9:\nUnable to connect: Adaptive Server is unavailable or does not exist (localhost)\nNet-Lib error during Unknown error (10061)\n')
後來才發現, 原來 SQL Server Express 的 default TCP port 居然不是 1433
像是這樣:
解法:
到 C:\Users\USERNAME\AppData\Local\Atlassian\SourceTree,删除文件passwd即可。
神奇的解法. (筆記)
為了把User的帳號搬移到 sub domain, 接手了前人交接下來的, 一個裝有 ADMT 的 VM, 但是一執行就出現以下的錯誤
過程就不提了; 簡言之就是, ADMT 需要搭配一個 SQL Server (Express) 資料庫, 而當你 執行 ADMT時所使用的帳號, 沒有存取這個資料庫的權限時, 就會有這個錯誤
依據下圖把權限加上去就好了.
可能要先把你使用的帳號, 加入 SQL Server 的登入帳號, 才能設定權限.
這裡只是把踩過的雷記下來, 主要都是因為, 這次要安裝/上架的主機, 為了資訊安全的考量, 都不能連線 Internet
如果你要安裝/上架的主機, 可自由存取 Internet, 那請略過這篇
1) 主機要先開放以下的 Internet 的連線
我是在 VirtualBox 用 Kali 時, 出現這個錯誤,
解法:
開個 Terminal 然後輸入以下指令
sudo adduser $USER vboxsf
(對, 照著打, 複製貼上也行)
關鍵就是, 把 AD Group 的 msExchHideFromAddressLists 這個屬性設成 True
Get-ADGroup -Filter 'name -like "*G*"' | Set-ADGroup -Add @{msExchHideFromAddressLists=$True}
其中 *G* 是針對 Group 名稱的篩選條件
重點1: 要用 @{...} 這樣的語法, 才能設定這種屬性
重點2: Boolean 要用 Powershell 的保留字 $True 或 $False. 不可以直接寫字串 True/False
在自己的筆電測試剛寫好的程式時, 如果有用 C# 的 Directory.GetCurrentDirectory(), 會讀取到 EXE 所在的路徑位置
可是如果把寫好的程式, 設定讓Widows 工作排程器去執行的話, 執行的位置可能就不是 EXE 所在位置
用 Directory.GetCurrentDirectory() , 有可能會讀取到 C:\
個人的經驗是, 要在工作排程器裡另外設定, 是最保險的方式
事情的起因是, 我在 AD 用 C# 建立的群組, 在EAC 裡卻看不到, 原因應該是它們不是Mail enabled
Google 了半天後, 好不容易找到答案; 有 2 種方式
第 1 種是在 Exchange 的 Powershell 介面裡下指令 (出處)
Enable-DistributionGroup -Identity "Group Name" -PrimarySMTPAddress "address_for_group@domain.com"
但就是要一個一個群組去執行.
觀察上述指令執行後, 在群組屬性中發生的變化, 再參考其他 Google 到的資料 (出處) , 實驗後發現, 原來設定一些特定的 AD 屬性後, 應該就有相同的效果了.
把D欄的格式轉成F欄的格式
F欄的公式:
=IFERROR( VALUE(SUBSTITUTE(SUBSTITUTE( IF(ISERROR(FIND("下午",D2)),D2 & " AM",D2 & " PM"), " 下午",""), " 上午","")),"")
假設建了一個AD帳號叫做 r-JoinX, 但老闆指定信箱名稱要叫 JoinX@abc.com (把前面的 "r-" 去掉)
作法, 修改 AD 屬性 proxyAddresses 中, 大寫 SMTP 屬性的值
出處:
https://www.tachytelic.net/2018/08/office-365-how-to-change-primary-email-address/
很久沒寫Java了. 以後好像也沒什麼機會寫 (不過世事難料....)
但可能還是會碰到寫Java的廠商
每次叫廠商做SSO / Windows 整合驗證, 廠商就假裝沒聽見
所以把找到的資料記在這裡:
https://tomcat.apache.org/tomcat-8.0-doc/windows-auth-howto.html