2026年4月13日 星期一

PowerShell 無法執行腳本

查看目前的執行原則

Get-ExecutionPolicy

預設原則為Restricted,也就是受到限制的意思,所以造成你無法執行Powershell的腳本。

PowerShell 執行原則共有七個:
AllSigned: 可執行已簽署的腳本
Bypass: 不會封鎖任何項目,且不會顯示警告或提示
Default: 設定預設執行原則。(用戶端會是Restricted,伺服器會是RemoteSigned。)
RemoteSigned: 本機撰寫的腳本不必簽署可執行,遠端下載的腳本需簽署才可執行
Restricted: 不允許執行腳本。
Undefined: 無定義
Unrestricted: 所有腳本都可以執行

選擇執行原則

Set-ExecutionPolicy Unrestricted

2026年4月12日 星期日

powershell 無法建立 SSL/TLS 的安全通道

解決方法是強制啟用 TLS 1.2

檢查當前 PowerShell 使用的安全性協定

[Net.ServicePointManager]::SecurityProtocol

在指令碼上方加入

[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12

2025年4月16日 星期三

OUTLOOK 無法加密連線 POP3S SMTPS

最近郵件主機加上了憑證,公司一堆老舊電腦卻無法連線,
原先以為是主機設定的問題搞了很久,
最終還是要谷歌大師出馬,
參考這篇文章就解決了

2025年4月2日 星期三

Ubuntu 的 amavis & clamav 問題

紀錄一下~

最近把老舊的Centos換成 Ubuntu ,重裝後 發現 log 總有 clamav 沒有權限

2025-04-01T08:07:37.567746+08:00 mail amavis[24976]: (24976-01) (!)run_av (ClamAV-clamd) FAILED - unexpected , output="/var/lib/amavis/tmp/amavis-20250401T080737-24976-hh7Vafwe/parts: File path check failure: Permission denied. ERROR\n/var/lib/amavis/tmp/amavis-20250401T080737-24976-hh7Vafwe/parts: File path check failure: Permission denied. ERROR\n"

研究了一下,是clamav沒有權限存取 /var/lib/amavis/tmp這個資料匣

先把這個資料匣群組改成clamav

chown -R amavis:clamav /var/lib/amavis/tmp

接著修改群組權限

chmod -R g+w /var/lib/amavis/tmp

再編輯 /sbin/amavisd-submit 找到 

  chmod(0750, $tempdir)

改成

  chmod(0770, $tempdir)

重啟服務,觀察log就沒再出現問題!



2021年4月8日 星期四

ASP.NET C# MariaDB 連結字串

web.config  加入下面內容

<connectionStrings>

<add name="connect string" connectionString="server=IP;user id=user name;password=Password;Persist Security Info=True;Database=DB name;" providerName="MySql.Data.MySqlClient"/>

</connectionStrings>


程式引用

using MySql.Data.MySqlClient;

........

MySqlConnectionStringBuilder sqlsb = new MySqlConnectionStringBuilder(ConfigurationManager.ConnectionStrings["connect string"].ConnectionString);

MySqlConnection MySqlConnection = new MySqlConnection(sqlsb.ConnectionString);

string sqlStatement = @"select * from test";

MySqlCommand MySqlCommand = new MySqlCommand(sqlStatement);

MySqlCommand.Connection = MySqlConnection;

MySqlConnection.Open();

2021年1月12日 星期二

roundcube webmail Brute Forcing Attack 防禦

https://mattrude.com/projects/roundcube-fail2ban-plugin/

1. 下載 roundcube-fail2ban-plugin,解壓縮放在roundcube的plugin目錄裏,
    並把目錄名稱改成fail2ban。

2. 在roundcube的設定檔config.inc.php裏掛載fail2ban plugin
$rcmail_config['plugins'] = array('fail2ban');


3. 在 /etc/fail2ban/jail.conf 加上
[roundcube]
enabled  = true
port     = http,https
filter   = roundcube
action   = iptables-multiport[name=roundcube, port="http,https"]
logpath  = /var/log/roundcubemail/userlogins

4. 新增 /etc/fail2ban/filter.d/roundcube.conf 
[Definition]
failregex = FAILED login for .*. from <HOST>
ignoreregex =

也可以不使用這個plugin去產生userlogins這個LOG檔,
直接修改fail2ban的設定去抓roundcube的log檔,
另外也要修改filter截取字串的內容。

2021年1月9日 星期六

mailbox to maildir

 1. 安裝 mb2md 套件

     #dnf install mb2md

2. 建立 maildir 目錄並修改權限

    #mkdir /var/spool/maildir
    #chown root.mail /var/spool/maildir
    #chmod 775 /var/spool/maildir

3. 修改 postfix 設定 vi /etc/postfix/main.cf

    home_mailbox = Maildir/
   mailbox_command = /usr/bin/procmail -a "$EXTENSION" DEFAULT=/var/spool/maildir/$USER/ MAILDIR=/var/spool/maildir/$USER

4. 修改 dovecot 設定 vi /etc/dovecot.conf

    mail_location = maildir:/var/spool/maildir/%u

5. 停止 mail service

    #systemctl stop postfix
    #systemctl stop dovecot

6. 寫一個 script 執行

#!/bin/sh

set -x

MAILBOX_DIR="/var/spool/mail"

MAILDIR_DIR="/var/spool/maildir"

[ -d $MAILDIR_DIR ] || mkdir -p $MAILDIR_DIR

cd $MAILBOX_DIR

for user in *; do

        mb2md -s $MAILBOX_DIR/$user -d $MAILDIR_DIR/$user

        chown -R $user.mail $MAILDIR_DIR/$user/
done

7. 啟動郵件服務

    #systemctl start postfix
    #systemctl start dovecot

2020年6月14日 星期日

去除陣列重複值

        Private string[] DistinctArray(string[] Array)
        {
            ArrayList DistinctArray = new ArrayList();
            foreach (string i in Array)
            {
                if (!DistinctArray.Contains(i))
                {
                    DistinctArray.Add(i);
                }
            }
            return (string[])DistinctArray.ToArray(typeof(string));
        }

2020年1月7日 星期二

解決使用者用TEMP登入問題

1. 管理者帳號登入電腦
2. 執行 regedit
3. 找到下面這個機碼位置
    HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\WINDOWS NT\CurrentVersion\ProfileList
4. 尋找 USER 機碼  S-1-5-21-xxxxx 機碼,有 ProfileImagePath 路徑為C:\Users\TEMP
    把此機碼刪除
5. 找到機碼後面有bak的 S-1-5-21-xxxxx & S-1-5-21xxxxx.bak(前面都一樣,只有後面有一個會加上.bak)
6. 在 S-1-5-21-xxxxx.bak 重新命名,把後面的 .bak 刪除
7. 將 S-1-5-21-xxxxx 裏的 RefCount 數值修改為0,State 數值修改為0
8. reboot

2019年7月8日 星期一

移除 Windows 10 討厭的 APP

用管理者執行 PowerShell


安裝 APP
Get-AppxPackage -AllUsers| Foreach {Add-AppxPackage -DisableDevelopmentMode -Register “$($_.InstallLocation)\AppXManifest.xml”}

卸載所有 APP
Get-AppxPackage -AllUsers | Remove-AppxPackage

卸載目前 User 所有APP
Get-AppxPackage -User | Remove-AppxPackage

3D Builder
get-appxpackage *3dbuilder* | remove-appxpackage

時鐘&鬧鐘
get-appxpackage *alarms* | remove-appxpackage

App Connector
get-appxpackage *appconnector* | remove-appxpackage

App Installer
get-appxpackage *appinstaller* | remove-appxpackage

日曆與郵件一起刪
get-appxpackage *communicationsapps* | remove-appxpackage

計算機
get-appxpackage *calculator* | remove-appxpackage

相機
get-appxpackage *camera* | remove-appxpackage

feedback
get-appxpackage *feedback* | remove-appxpackage

Get Office
get-appxpackage *officehub* | remove-appxpackage

Get Started or Tips
get-appxpackage *getstarted* | remove-appxpackage

Get Skype
get-appxpackage *skypeapp* | remove-appxpackage

Groove Music
get-appxpackage *zunemusic* | remove-appxpackage

Groove Music & Movies &  TV
get-appxpackage *zune* | remove-appxpackage

地圖
get-appxpackage *maps* | remove-appxpackage

Messaging & Skype Video
get-appxpackage *messaging* | remove-appxpackage

Microsoft Solitaire Collection
get-appxpackage *solitaire* | remove-appxpackage

Microsoft Wallet
get-appxpackage *wallet* | remove-appxpackage

Microsoft Wi-Fi
get-appxpackage *connectivitystore* | remove-appxpackage

財經
get-appxpackage *bingfinance* | remove-appxpackage

財經&新聞&運動&天氣
get-appxpackage *bing* | remove-appxpackage

電影與電視
get-appxpackage *zunevideo* | remove-appxpackage

新聞
get-appxpackage *bingnews* | remove-appxpackage
OneNote
get-appxpackage *onenote* | remove-appxpackage

付費 Wi-Fi & Cellular
get-appxpackage *oneconnect* | remove-appxpackage

Paint 3D
get-appxpackage *mspaint* | remove-appxpackage

聯絡人
get-appxpackage *people* | remove-appxpackage

電話
get-appxpackage *commsphone* | remove-appxpackage

Phone Companion
get-appxpackage *windowsphone* | remove-appxpackage
電話&Phone Companion
get-appxpackage *phone* | remove-appxpackage

相片
get-appxpackage *photos* | remove-appxpackage

運動
get-appxpackage *bingsports* | remove-appxpackage

自黏便箋
get-appxpackage *sticky* | remove-appxpackage

Sway
get-appxpackage *sway* | remove-appxpackage

View 3D
get-appxpackage *3d* | remove-appxpackage

錄音
get-appxpackage *soundrecorder* | remove-appxpackage

天氣
get-appxpackage *bingweather* | remove-appxpackage

Windows Holographic
get-appxpackage *holographic* | remove-appxpackage

Windows Store
get-appxpackage *windowsstore* | remove-appxpackage

Xbox
get-appxpackage *xbox* | remove-appxpackage

2019年7月1日 星期一

修復 NTLDR is missing

使用安裝光碟開機,選擇修復功能並進到DOS模式

1. 執行進入 diskpart 功能
diskpart

2. 選擇要開機的硬碟代號
select disk 1

3. 選擇要開機的分區
select partition 1

4. 設定開機
active

5. 離開
exit

6. 修復開機功能
bootrec /fixmbr
bootrec /rebuildbcd
bootrec /fixboot

7. 重開機完成

PowerShell 無法執行腳本

查看目前的執行原則 Get-ExecutionPolicy 預設原則為Restricted,也就是受到限制的意思,所以造成你無法執行Powershell的腳本。 PowerShell 執行原則共有七個: AllSigned: 可執行已簽署的腳本 Bypass: 不會封鎖任何項目,...