2022年9月18日 星期日

PowerShell 安全密碼物件 SecureString 如何生成與使用

PowerShell 安全密碼物件 SecureString 如何生成與使用

安全密碼網上看了一堆好像都沒人整理起來,這次有用到一次把全部打通了

整理啊下大概就下面幾種物件要互轉

  • 原始密碼
  • 加密暗號
  • 安全字串

全部的轉換方法可以參考下面的範例

有一點要注意的是,加密過後的安全密碼只能在原機原使用者解密,無法在其他電腦解密的。


安全物件與明暗碼轉換

# 普通字串密碼
$PassWord = "Charlotte.Hong"
# 普通字串 -> 安全密碼物件
$secure = ConvertTo-SecureString $PassWord -AsPlainText -Force
# 安全密碼物件 -> 加密字串
$encrypt = ConvertFrom-SecureString -SecureString $secure

# 加密字串 -> 安全密碼物件
$secure = ConvertTo-SecureString -String $encrypt
# 安全密碼物件 -> 普通密碼字串
$bstr = [Runtime.InteropServices.Marshal]::SecureStringToBSTR($secure)
$Plaintext = [Runtime.InteropServices.Marshal]::PtrToStringBSTR($bstr)

快速轉換

# 加密密碼
$encrypt = ConvertFrom-SecureString(ConvertTo-SecureString -A -F "PassWD")
# 解密密碼
[Runtime.InteropServices.Marshal]::PtrToStringBSTR([Runtime.InteropServices.Marshal]::SecureStringToBSTR((ConvertTo-SecureString $encrypt)))



加密密碼並把他複製到剪貼簿中

&{param($_)ConvertFrom-SecureString($_|ConvertTo-SecureString -A -F)|scb} PassWD


如果要避免密碼被紀錄在歷史命令中,可以從CMD命令提示字元執行
(這行也會自動複製到剪貼簿)

PowerShell -nop "&{param($_)ConvertFrom-SecureString($_|ConvertTo-SecureString -A -F)|scb} PassWD"


 

兩個方便使用的小函式

# 獲取安全密碼字串
function EncryptPassWord {
    [CmdletBinding(DefaultParameterSetName = "A")]
    param (
        [Parameter(Position = 0, ParameterSetName = "A", Mandatory)]
        [String] $String,
        [Parameter(Position = 0, ParameterSetName = "B", Mandatory)]
        [Object] $Object
    )
    if ($Object) { $secure = $Object } else {
        $secure = (ConvertTo-SecureString $String -AsPlainText -Force)
    }
    return (ConvertFrom-SecureString $secure)
} # EncryptPassWord "MyPassWord"

# 從安全密碼字串獲取原密碼
function DecryptPassWord {
    [CmdletBinding(DefaultParameterSetName = "A")]
    param (
        [Parameter(Position = 0, ParameterSetName = "A", Mandatory)]
        [String] $String,
        [Parameter(Position = 0, ParameterSetName = "B", Mandatory)]
        [Object] $Object
    )
    if ($Object) { $secure = $Object } else {
        $secure = (ConvertTo-SecureString $String)
    }
    $bsr    = [Runtime.InteropServices.Marshal]::SecureStringToBSTR($secure)
    return [Runtime.InteropServices.Marshal]::PtrToStringBSTR($bsr)
} # DecryptPassWord (EncryptPassWord "MyPassWord")


2022年9月17日 星期六

Android 安卓 修改提示音效 舊版音效

Android 安卓 修改提示音效 舊版音效

個人比較喜歡以前舊的板的提示音效,這邊備份一份怕之後忘記操作步驟

下載檔案

備份的音效檔案:
https://mega.nz/folder/BsdCVaYR#opZ-4DdSY-haZfRmZih62A

舊版還不用付費的ES:
https://mega.nz/folder/BsdCVaYR#opZ-4DdSY-haZfRmZih62A

操作

在內建空間裡面建立一個點開頭的文件夾 “.notifications” ,這可以避免被一些應用程式偵測到,點開頭預設是隱藏的沒辦法直接讀取。

不過沒有ES等可以看到的軟體也做不成就是了,有注意到 Android12 開始就不支持那個舊版安裝程式了,新版的又變成付費了,沒辦法就直接放就好。

然後再到 設定 -> 音效 頁面裡的 通知音效 點進去選擇,Android12貌似會自動偵測直接選取就可以了。

PowerShell 修復CSV檔案的雙引號 自動加上

PowerShell 修復CSV檔案的雙引號 自動加上


CSV檔案輸出經常遇到的問題就是有些有帶括號有些沒有帶括號,等等的這邊提供一個現成的函式庫實現自動修復。

注意事項

  • 預設輸入與輸出是本機語言。



快速使用

先按下 Win+X 然後再按下 A ➔ 打開終端機輸入底下代碼

irm bit.ly/autoFixCsv|iex; autoFixCsv "sample1.csv"



詳細用法

# 載入函式庫
irm bit.ly/autoFixCsv|iex;

# 轉換並自動生成 sample1_fix.csv (預設編碼為系統語言)
autoFixCsv 'sample1.csv'

# 轉換並自動生成 sample1_fix.csv (指定編碼為UTF8 NoBOM)
autoFixCsv 'sample1.csv' -UTF8
# 轉換並自動生成 sample1_fix.csv (指定編碼為日文)
autoFixCsv 'sample1.csv' -Encoding:(Get-Encoding 932)

# 轉換並自動生成 sample1_fix.csv 且消除所有項目的前後空白(包含全形空白)
autoFixCsv 'sample1.csv' -TrimValue

# 轉換到 sample1_fix.csv
autoFixCsv 'sample1.csv' 'sample1_fix.csv'


預設編碼直接用系統語言當作預設出入與輸出編碼。如果有必要轉換請在輸入前或輸入後自行轉換,轉換可以參考這裡這個專案。 https://github.com/hunandy14/cvEncode/blob/master/cvEncoding.ps1





 

2022年7月25日 星期一

OneDrive 如何備份上傳 D 曹中的資料夾

OneDrive 如何備份 D曹的資料夾



OneDrive 預設是在C曹的使用者文件,可能會遇到一種情況是D曹也有檔案想備份,因為各種原因沒辦法檔案移動到C曹這時候就會遇到沒辦法備份指定位置的問題。

這個問題可以用路徑連結來處理,相當於在原本的 OneDrive 內增加一個連結捷徑,這個特殊捷徑可以完全等價於指定路徑,就好像把檔案搬移過去一樣。


開啟cmd

在開始裡面搜尋cmd然後按右鍵使用管理員打開。

(注意這個命令PowerShell不管用,別開錯了)


輸入連結指令

範例

mklink /d "%OneDrive%\D曹檔案" "D:\你要備份的資料夾"

輸入完畢之後會在 OneDrive 裡面建立一個特殊連結捷資料夾,名稱是”D曹檔案”,當你存取這個資料夾的時候相當於存取D曹的路徑,藉此就可以讓 OneDrive 備份D曹的檔案了。

要復原只要將捷徑刪除即可

2022年7月24日 星期日

筆電接上電視畫面偏白,筆電上的螢幕也變白

筆電接上電視畫面偏白,筆電上的螢幕也變白

原因找了一陣子才找到,先說偏白的原因是因為電視育設施出都是不完全輸出的關係,如果是NVIDIA的顯示卡到驅動面板裡面調整就好了。

我遇到的情況是筆電內建是Intel顯示卡輸出的關係,導致NVIDIA面板根本沒得設置。還額外遇到一個bug是筆電內建的螢幕本身也變白了。

變得了一直覺得哪裡怪怪的但是又找不到設定,翻了好久才測出來。

bug之後導致螢幕變白

這個應該單純只是卡bug正常來說電視拔掉筆電要恢復才是,如果卡死沒恢復。這邊這個選項打開再關閉就可以恢復了。



電視偏白問題

這兩個地方要調整




2022年7月6日 星期三

OpenVPN 開機自動 連線 特定設定檔

OpenVPN 開機自動 連線 特定設定檔


載入設定檔

先從工作列右下角的地方對著 OpenVPN 按右鍵匯入設定檔,把你要的設定檔設置好。如果原本已經有了就不用做了。

匯入之後會看到設定檔的名稱,其實這個也就是匯入的檔案檔名這個先記著等一下會用到。


建立捷徑

隨便在一個資料夾或桌面也可以,按右鍵->新增->捷徑

然後貼上下面的命令,最後的地方記得改成你自己的設定檔名(別用中文)。

"C:\Program Files\OpenVPN\bin\openvpn-gui.exe" --connect "設定檔的檔名.ovpn"

然後下一步捷徑名稱隨意,做好捷徑之後點兩下執行看看,確定沒問題之後丟到下面位置

C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup

再來就完成了,這個路徑開機的時候會自動打開,重新啟動應該就會自動連線了。


2022年7月2日 星期六

vmware 軟路由多撥 讓擬器獲取多個 IP

vmware 軟路由多撥 讓擬器獲取多個 IP

多開模擬器掛遊戲可能會需要多個不同IP的執行,市面上多撥器其實蠻貴的想省錢可以讓電腦開虛擬來負責多撥就好。記得先確保自己的環境是可以撥號的。

這篇是參考自巴哈的文章來的,做法是一樣的只不過用的不是vbox是vmware的做法,需要vbox的話可以從文末參考文獻連過去找原文。覺得好用的話記得去給作者按個GP。


在開始前先從官方下載軟路由的ISO檔,等一下安裝要用到

SX1200 x86标准版【完全免费】 - Powered by MinDoc (gocloud.cn)




1. 配置VM

初始引導介面選擇自定義


這邊版本預設即可


這裡選擇下載的ISO檔案


選擇 Linux 與 其他Linux 5.x 內和


選到適合的位置放,預設會放在使用者文件裡面



CPU隨意就可以了,不要超過自己的實體核心數


記憶體給256M就足夠了,可以根據自己的情況調整


這裡要選擇橋接,否則會無法正常使用


預設即可


預設即可


創建新的虛擬磁碟


給512M就夠了 (實際裝起來大概只用100M出頭)


隨意取個名字即可


這裡進去自定義要改東西


上面宏框的部分用不到可以移除,然後新增一張網卡


選擇網路適配器


選擇橋接網路,然後就可以確定下一步了


確定後,資訊欄部分檢查一下兩張網卡都是橋接模式


到這邊虛擬機的配置就完成了,再來啟動實際來裝系統吧





2. 安裝軟路由系統

開機進來之後直接輸入1選擇安裝


會再次詢問輸入y再按enter


然後就會開始安裝了,安裝完畢會重新起次一次重新進入系統。

下圖是重新啟動之後進入系統了。


輸入2更改LAN口的IP,這邊要先看一下你原本的網段是多少,打開工作管理員選擇效能頁面再來選擇乙太網路,在右下角的地方有個 ipv4 可以確認自己的 ip 是多少。

以我的為範例我的是 192.168.3.2 ,然後就選一個沒被用的 200 輸入 192.168.3.200。更改成這個 ip


改完之後就完成了虛擬機不用再動它了,要用的時候啟動即可。關掉就相當於把實體路由器關掉的意思。


3. 路由器設定

接下來你的主機上打開網頁並輸入剛剛自訂的 ip 192.168.3.200

進入之後會讓你改密碼,輸入一個新密碼


直接下一步就好


這裡要把WAN口關掉


這裡要把DHCP關掉


然後提交完成初始化


左邊選擇單線多撥然後按下新建,紅框的部分輸入你的中華電信撥號帳密,右邊選擇要幾個,記得不要超過中華給的8個,超過會被拒絕。


然後到多線策略->策略路由規則,新建路由規則


這邊一樣要選沒人用的ip,範例我是選擇211,然後底下把他指派給 wanlan1


新增第二個一樣的操作,要幾個ip這邊就要設置幾次


設置完畢之後記得要打開這個功能,並按下提交


然後到 系統狀態->概覽 確認一下剛剛撥號的有沒有獲得ip



到這邊路由器就設置完畢了,如果有ip沒拿到可能有人正在連線占用掉了,比如說小烏龜會預設應該會佔走一個,有其他路由器撥接可能也會被占走。




4. 夜神模擬器設定

進入夜神之後,從上拉選單裡長按 WiFi 的圖標,進入 WiFi 設定頁面。
然後再長按 WiredSSID 選擇修改網路


進入之後點擊進階選項打開選單,然後裡面的 "IP設定" 改成 "靜態"
再來就可以看到下圖介面

IP:   剛剛路由規則設置的 192.168.3.211
閘道: 最初設定的LAN口ip  192.168.3.200
DNS1: 輸入Goole的       8.8.8.8

然後按下儲存即可


然後打開這個模擬器右上角的設定。(不是夜神的是這個模擬器的)
點擊安裝橋接模式驅動


安裝完畢之後選擇開啟網路橋接,然後預設選擇DHCP即可


修改後需要重啟模擬器




儲存之後打開這個網頁確認IP有沒有變,到這邊就完成了。
https://whatismyipaddress.com/

* 改完IP如果無法連線需要再次重新啟動夜神模擬器。


至此其他模擬器也依照同樣的方法設置即可





參考