visual studio c# 程式以管理者權限執行
上一篇文章「修改註冊表以停用切換中文輸入法(shift鍵)」設定註冊表需要管理者權限,若以c#程式撰寫,需修改設定檔案Manifest才能讓程式以管理者權限執行。
上一篇文章「修改註冊表以停用切換中文輸入法(shift鍵)」設定註冊表需要管理者權限,若以c#程式撰寫,需修改設定檔案Manifest才能讓程式以管理者權限執行。
話說我一度以為酪梨醬解決了切換中文輸入的問題,結果並沒有,真是掉漆。
後來我只能退而求其次,使用酪梨醬之前,先關掉左邊shift鍵來停用主機本體的中文切換,這樣就可以解決遠端連線切換問題;使用完畢後,再還原主機本體的左邊shift鍵。
這樣做法對我來說不是很難,但難的是”會忘記”切換回來,所以我也不用問麻瓜了,自己都不能接受這做法。
於是我再再退而求其次,找到透過「修改註冊表」的方式,來「停用/啟用」切換中文輸入法。
# dos 指令
# 0x00000001 (啟用)、0x00000002 (停用)
powershell -Command Set-ItemProperty -Path 'HKCU:\Software\Microsoft\IME\15.0\IMETC' -Name 'Left Shift Usage' -Value 0x00000002
這樣或許我就可以寫個簡單的windows程式,或是批次檔案,一旦執行,會先關閉左邊shift鍵切換中文功能,然後召換chrome瀏覽器帶出酪梨醬網址,使用完畢後,程式或是批次檔案會自動回原回原本的設定,這樣就不會再忘記切換回來了。
# dos 指令 (存成bat檔案) powershell -Command Set-ItemProperty -Path 'HKCU:\Software\Microsoft\IME\15.0\IMETC' -Name 'Left Shift Usage' -Value 0x00000002 powershell -NoProfile -Command ^ Start-Process -passthru chrome.exe '酪梨醬網址' ; ^ while ((get-process -name chrome).count -ne 0){} powershell -Command Set-ItemProperty -Path 'HKCU:\Software\Microsoft\IME\15.0\IMETC' -Name 'Left Shift Usage' -Value 0x00000001
一般來說個人用的Windows,本機帳號可以直接登入;若為公司網域帳號或個人m$的帳號,就必須經過認證(密碼,認證器)才能登入。而且windows會記住上次登入的帳號,重開機後,會直接顯示該帳號,我們只要輸入密碼,就能登入了。
但是麻瓜們總是會忘記自己登入的帳號,一旦有人用其他帳號登入,那麼下次開機,windows顯示的就不是原本麻瓜的帳號,這樣麻瓜會爆走,IT就挨踢了。
為了解決這個問題,我挖阿挖阿挖,在這裡找到解法,只要修改註冊值,重新開機就好了。
註冊表
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\LogonUI
註冊值
LastLoggedOnDisplayName 這我沒看到,沒設定好像也沒差
LastLoggedOnSAMUser 設定「網域\帳號」,如:SHORTDOMAIN\kafeiou
LastLoggedOnUser 設定「網域\帳號」,如:SHORTDOMAIN\kafeiou
LastLoggedOnUserSID 輸入該帳號的SID,如:S-1-5-21-112
SelectedUserSID 輸入該帳號的SID,如:S-1-5-21-112
其中SID取得方式:
wmic useraccount where name='登入帳號'
**臨時用其他帳號登入,又不想被人家發現,可以以照上述方法(需管理者權限),改回原本登入帳號。
OpenProject能與GitHub、GitLab深度整合,當然也包含一般git server或local git。整合後,專案成員可看到所有檔案內容,我覺得有必要管控權限,畢竟有些人只要看到修改記錄即可,如PM。
既然我的目標只是想讓OpenProject能看到git的修改記錄,於是硬著頭皮改openproject程式,好險不難,硬生生讓我改成只能看到修改記錄。
詳請參考咖啡偶之書。
前陣子柏德之門III問世,引發眾玩家為了想要跟隊員愛愛,將各種情侶組合(不限種族,性別,年紀),與通關方式翻了個遍。
一想到這幾天大過年的,我每次都會玩一下柏德之門三部曲,這遊戲經由第三方套件–BGT-WeiDU,套件整合了「劍灣傳奇」、「柏德之門I」與「柏德之門II」,最值得一提的是裡面包含了N種額外的劇情,當然也有戀愛的情節(比較隱晦一點),想嘗試戀愛滋味的宅男們,建議一定要玩,而且老電腦都跑得起來哦! 想辦法組裝玩玩吧–提示:GOG Galaxy、BG1(the original saga)、BG2。
玩柏德之門三部曲時候,解析度只有800×600真是惱人,後來到安裝widescreen之後就可以自訂解析度,雖然字還是很小,但可以滿版螢幕,改善很多了。
我在試用openproject的時候,官方提供的docker指令只能看出容器大版本,很難看出細一點的數字(openproject/community:13),於是我找到一個程式,後面接容器名稱,就能列出所有的版本。
https://github.com/axil/docker-registry-list/tree/master
python3 -m pip install requests
wget https://github.com/axil/docker-registry-list/raw/master/docker-registry-list.py
chmod +x docker-registry-list.py
./docker-registry-list.py <container image name>
我在進行OpenProject翻譯時,把特殊的部分列出來(後續在咖啡偶之書更新):
Placeholder Users -> 非專案成員 ── 原本翻譯成佔位符用戶
Repository -> 版本庫 ── 大部分都翻譯成儲存庫,但在Open project很確定是版本控管git or svn
要抓特定檔案裏面特定字串,可執行以下指令
find . -name '特定檔案' | xargs egrep "特定字串"
公司有個RedHat 5.x伺服器系統,安裝git 2.9 ,多年以來使用上一直相安無事;沒想到因為全面停用tls 1.0,導致git無法使用。
RedHat Linux系統在無法升級的情況下,git就再起不能;最後我指定其中一台windows主機,安裝RaiDrive透過sftp掛載Linux伺服器的git目錄,使其變成windows其中的一個磁碟,再透過windows的git用戶端,達到讓Linux伺服器裡面的資料能上git版控的目標。
就在我在windows主機上,順利掛載Linux目錄後,接著準備將資料push到git server,豈料出現一大堆檔案呈現已修改狀態,提示我這些檔案要commit,但是實際上這些檔案沒有任何異動修改;我追查了一下,發現是換行字元搞的鬼,Linux換行只有\n ,windows則為\r\n;
windows掛載Linux檔案,因為換行字元不同,當然會被誤認檔案被修改過。
解決方式,在windows掛載linux情況下,執行以下git指令,就可以解決了。
git config --global core.autocrlf true
git config core.filemode false
git status
linux的排程為cron,可以設定將作業(job)所產生的結果,透過郵件回報。
[root@localhost~]# crontab -l
SHELL=/bin/bash
PATH=/usr/local/java/bin:/sbin:/bin:/usr/sbin:/usr/bin:
HOME=/
MAILFROM=postmaster@test.com.tw
MAILTO=it@test.com.tw
若要停用單一作業,可以將輸出結果,丟到null去。
*/5 * * * * xxx.sh >/dev/null 2>&1
guacamole是很棒的網頁版遠端連線工具,就差在切換輸入法不是那麼簡便。
公司可以安裝酪梨醬,綁定員工帳號只能連到員工主機,也不開放員工自行設定連線,搭配現在guacamole已經可以設定遠端開機,就可以讓員工遠距連線工作,而公司方面可以計算員工工時,若員工加班也能有所憑證。
我安裝的酪梨醬使用mysql,計算工時的語法如下:
# 可計算同一天連線小時(小數第二位)
SELECT username ,DATE_FORMAT(start_date, "%Y%m%d") the_same_date, cast(sum(TIMESTAMPDIFF(MINUTE,start_date,end_date))/60 as decimal(9,2)) overtime_hour
from guacamole_connection_history
group by username,the_same_date
order by username,the_same_date desc
#若資料庫時區沒有調整,預設是UTC,可暫時使用CONVERT_TZ轉換正確時區
SELECT username ,DATE_FORMAT(CONVERT_TZ(start_date,'+00:00','+08:00'), "%Y%m%d") the_same_date, cast(sum(TIMESTAMPDIFF(MINUTE,start_date,end_date))/60 as decimal(9,2)) overtime_hour
from guacamole_connection_history
group by username,the_same_date
order by username,the_same_date desc
# 排除每次連線低於30分鐘
SELECT username ,DATE_FORMAT(start_date, "%Y%m%d") the_same_date, cast(sum(TIMESTAMPDIFF(MINUTE,start_date,end_date))/60 as decimal(9,2)) overtime_hour
from guacamole_connection_history
where TIMESTAMPDIFF(MINUTE,start_date,end_date) >= 30
group by username,the_same_date
order by username,the_same_date desc
#若資料庫時區沒有調整,預設是UTC,可暫時使用CONVERT_TZ轉換正確時區
SELECT username ,DATE_FORMAT(CONVERT_TZ(start_date,'+00:00','+08:00'), "%Y%m%d") the_same_date, cast(sum(TIMESTAMPDIFF(MINUTE,start_date,end_date))/60 as decimal(9,2)) overtime_hour
from guacamole_connection_history
where TIMESTAMPDIFF(MINUTE,start_date,end_date) >= 30
group by username,the_same_date
order by username,the_same_date desc
為了員工健康,要設定上線時間
另外酪梨醬預設60分鐘沒有任何遠端連線,會整個登出。
可搭配遠端桌面連線相關設定
vi guacamole.properties
##### 修改30分鐘整個網頁登出(必須在沒有任何連線的情況下)
api-session-timeout:30
可以搭配設定閒置30分鐘後,遠端桌面連線自動登出,此時酪梨醬沒有任何連線了,過30分鐘也跟著登出了。