2023年10月16日 星期一

以下針對windows批次轉成服務型態及每月1日更換密碼使用chatgpt所生成的,程式未驗證

 1.如何將windows批次程式轉為服務型態


你好,透過Windows的服務管理器,你可以將批次程式轉換為Windows服務。以下是一些步驟:


1. 開啟命令提示字元或PowerShell,輸入`sc create ServiceName binPath= "C:\Path\to\batchfile.bat"`,其中`ServiceName`是你想要設置的服務名稱,`C:\Path\to\batchfile.bat`是你的批次檔案路徑。[4]

2. 輸入`sc description ServiceName "Description of the service"`,其中`ServiceName`是你剛剛設置的服務名稱,`Description of the service`是你想要設置的服務描述。[4]

3. 輸入`sc config ServiceName start= auto`,其中`ServiceName`是你剛剛設置的服務名稱。這個命令會將服務設置為自動啟動。[4]


----------------------------------------------------------------------------------------------------------

2.我要在每月1日以批次方始修改我電腦上的密碼,請以powershell 以批次方式呈現


你好,你可以使用PowerShell來定期更改你的Windows密碼。以下是一些步驟:


1. 開啟記事本或任何文字編輯器,輸入以下代碼:


```powershell

$Date = Get-Date

$Day = $Date.Day

If ($Day -eq 1) {

  $NewPassword = ConvertTo-SecureString -String "NewPassword" -AsPlainText -Force

  Set-LocalUser -Name "UserName" -Password $NewPassword

}

```


2. 將代碼中的`NewPassword`替換為你想要設置的新密碼,將`UserName`替換為你的Windows用戶名。

3. 將文件保存為`.ps1`文件,例如`ChangePassword.ps1`。

4. 開啟Windows工作排程器,創建一個新的基本任務。

5. 在“觸發程序”選項卡中,選擇“新建”並設置計劃任務的開始日期和時間。

6. 在“操作”選項卡中,選擇“新建”並設置以下選項:

   - 操作:啟動程式

   - 程式/腳本:`powershell.exe`

   - 添加引數:`-ExecutionPolicy Bypass -File "C:\Path\to\ChangePassword.ps1"`

7. 點擊“完成”以創建任務。

-------------------------------------------------------------------------------------------

3.我可以將上述程式轉成服務型態嗎?


當然可以!你可以使用Windows的服務管理器將PowerShell批次程式轉換為Windows服務。以下是一些步驟:


1. 開啟命令提示字元或PowerShell,輸入`sc create ServiceName binPath= "C:\Path\to\ChangePassword.ps1"`,其中`ServiceName`是你想要設置的服務名稱,`C:\Path\to\ChangePassword.ps1`是你的PowerShell批次檔案路徑。[4]

2. 輸入`sc description ServiceName "Description of the service"`,其中`ServiceName`是你剛剛設置的服務名稱,`Description of the service`是你想要設置的服務描述。[4]

3. 輸入`sc config ServiceName start= auto`,其中`ServiceName`是你剛剛設置的服務名稱。這個命令會將服務設置為自動啟動。[4]


這樣,你就可以將PowerShell批次程式轉換為Windows服務了。希望這些步驟能對你有所幫助!

--------------------------------------------------------------------------------------

4.我有個使用者密碼為abcde,其中de為數字,必須與月份相符,並於每月1日更換密碼,例如2月1日蝕密碼為abc02,11月1日密碼為acd11,請用powershell批次呈現


你好,你可以使用PowerShell來定期更改你的Windows密碼。以下是一些步驟:


1. 開啟記事本或任何文字編輯器,輸入以下代碼:


```powershell

$Date = Get-Date

$Day = $Date.Day

If ($Day -eq 1) {

  $NewPassword = ConvertTo-SecureString -String "NewPassword" -AsPlainText -Force

  Set-LocalUser -Name "UserName" -Password $NewPassword

}

```


2. 將代碼中的`NewPassword`替換為你想要設置的新密碼,將`UserName`替換為你的Windows用戶名。

3. 將文件保存為`.ps1`文件,例如`ChangePassword.ps1`。

4. 開啟Windows工作排程器,創建一個新的基本任務。

5. 在“觸發程序”選項卡中,選擇“新建”並設置計劃任務的開始日期和時間。

6. 在“操作”選項卡中,選擇“新建”並設置以下選項:

   - 操作:啟動程式

   - 程式/腳本:`powershell.exe`

   - 添加引數:`-ExecutionPolicy Bypass -File "C:\Path\to\ChangePassword.ps1"`

7. 點擊“完成”以創建任務。


這樣,你就可以在每月1日自動更改你的Windows密碼了。希望這些步驟能對你有所幫助!


2023年9月14日 星期四

wsl 如何修改root密碼?

1.開啟終端機(系統管理員),鍵入ubuntu2204 config --default-user root

2.開啟wsl安裝的版本,列如ubuntu 22.04

3.鍵入whoami,應該會顯示root

4.鍵入passwd root去修改密碼即可

--------------------------------------------------------------------------------------

1- wsl --set-default-version 1

2- wsl.exe --install Ubuntu-2204

3- wsl --set-default-version 2


wsl --set-version Ubuntu-20.04 2

2023年8月31日 星期四

利用python將docx中將一些文字修改成另一文字

 import os

from docx import Document

from docx.shared import Pt

from docx.oxml.ns import qn


def replace_text_in_docx(file_path, old_text, new_text):

    doc = Document(file_path)

    font_name = "標楷體"

    font_size = Pt(14)

    

    for para in doc.paragraphs:

        if old_text in para.text:

            para.text = para.text.replace(old_text, new_text)

            for run in para.runs:

                run.font.name = font_name

                run.font.size = font_size

                run._element.rPr.rFonts.set(qn('w:eastAsia'), font_name)

    

    for table in doc.tables:

        for row in table.rows:

            for cell in row.cells:

                if old_text in cell.text:

                    cell.text = cell.text.replace(old_text, new_text)

                    for para in cell.paragraphs:

                        for run in para.runs:

                            run.font.name = font_name

                            run.font.size = font_size

                            run._element.rPr.rFonts.set(qn('w:eastAsia'), font_name)

    

    doc.save(file_path)


folder_path = r'G:\test'  # 修改為你的資料夾路徑

replacements = [

    ('科室主管', '部門主管'),

    ('機關首長', '單位(副)主管')

]


for root, dirs, files in os.walk(folder_path):

    for file in files:

        if file.lower().endswith('.docx'):

            file_path = os.path.join(root, file)

            for old_text, new_text in replacements:

                replace_text_in_docx(file_path, old_text, new_text)

            print(f"Modified {file_path}")


print("Replacement completed.")

--------------------------------------------------------------------------
需使用python-docx模組來讀取和修改.docx檔案的內容,可以使用pip install python-docx來安裝

2023年8月25日 星期五

windows 11 hyper-v nested(巢狀虛擬化)

 

  1. 1.Open Start.

  2. 2.Search for PowerShell, right-click the top result, and select the Run as administrator option.

  3. 3.Type the following command on PowerShell to enable Hyper-V on Windows 11 and press Enter:

    DISM /Online /Enable-Feature /All /FeatureName:Microsoft-Hyper-V
  4. 4.Type “Y” to restart your computer.


Windows Hper-v install ESXi, stop on "Relocating modules and starting up the kernel"

開機時在畫面倒數時按住SHIFT+O,鍵入 ignoreHeadless = TRUE 再按ENTER即可

找出在 Windows 系統上使用 6680 端口的軟體

 要找出在 Windows 系統上使用 6680 端口的軟體,你可以使用一些網絡工具來進行端口掃描和識別。一個常用的工具是 "netstat" 命令列工具。以下是在 Windows 上使用 netstat 來查找使用 6680 端口的程式的步驟:


1. 開啟命令提示字元(CMD):

   - 按下 `Win + R` 鍵,輸入 "cmd",然後按下 Enter 鍵,開啟命令提示字元視窗。


2. 輸入以下命令並按 Enter:


   netstat -ano | findstr :6680



   這個命令將列出所有正在使用 6680 端口的連線,並顯示與每個連線相關的進程 ID(PID)。


3. 尋找進程 ID(PID):

   在命令輸出中,你會看到一列進程 ID(PID)。要尋找與特定 PID 相關聯的程式,可以打開工作管理員:


   - 按下 `Ctrl + Shift + Esc` 組合鍵,打開工作管理員。

   - 在工作管理員的選單中,選擇 "視圖"(View)> "選取欄位"(Select Columns)。

   - 在彈出的視窗中,選中 "進程 ID"(Process ID)複選框,然後點擊 "確定"。

   - 現在你應該能夠在工作管理員中看到 "PID" 欄位。


4. 在工作管理員中尋找進程:

   找到具有與 netstat 輸出中的 PID 相匹配的進程。這將幫助你確定哪個程式在使用 6680 端口。


請注意,有時候某些程式可能使用特定端口進行區域網通訊或臨時連線,所以並不是所有的進程都是潛在的安全風險。確保你知道哪些程式在使用特定端口之前,再進行任何進一步的操作。如果你發現不認識的程式在使用該端口,可以進行更詳細的調查以確定其來源和用途。

2023年8月17日 星期四

在 LibreOffice Writer 中製作一個按鈕,使其在按下後會在滑鼠位置顯示 "Hello 您好"

 在 LibreOffice Writer 中製作一個按鈕,使其在按下後會在滑鼠位置顯示 "Hello 您好",可以按照以下步驟進行:


1. **建立按鈕**:

   - 開啟 LibreOffice Writer。

   - 在選單列中,選擇 `檢視` > `表單控制項` > `推動按鈕(Button)`,然後在你想要按鈕出現的位置,畫一個按鈕。


2. **編輯按鈕屬性**:

   - 右鍵點擊繪製的按鈕,選擇 "控制項屬性(Control)" > ,以打開 "按鈕屬性(Button Properties)" 對話框。

   - 在 "一般(General)" 選項卡中,你可以設定按鈕的標籤(顯示的文字),例如 "點擊顯示問候"。


3. **新增巨集**:

   - 在 "屬性" 對話框中,切換到 "執行動作" 選項卡,選擇 "指派巨集(Edit Macro)"。


4. **編寫巨集程式碼**:

   - 在巨集編輯器中,你可以編寫按下按鈕後要執行的操作的巨集程式碼。以下是一個示例巨集程式碼,用於在滑鼠位置顯示 "Hello 您好"。


Sub ShowGreetingAtMousePosition

    Dim oDoc As Object

    Dim oViewCursor As Object

    Dim oTextCursor As Object

    Dim oText As Object


    oDoc = ThisComponent

    oViewCursor = oDoc.CurrentController.getViewCursor()

    oTextCursor = oViewCursor.getText().createTextCursorByRange(oViewCursor)

    oText = oDoc.Text


    oText.insertString(oTextCursor, "Hello 您好", False)

End Sub



5. **關聯巨集與按鈕**:

   - 在巨集編輯器中,將上述示例巨集程式碼複製並貼上到巨集編輯器視窗中。

   - 關閉巨集編輯器。

   - 回到 Writer 文件,確保按鈕已被選取。

   - 在 "按鈕屬性" 對話框中,切換到 "事件(Events)" 選項卡。

   - 在 "滑鼠按下(Mouse Button Pressed)" 事件下拉選單中,選擇你剛剛建立的巨集(例如 "ShowGreetingAtMousePosition")。


6. **測試按鈕**:

   - 關閉 "按鈕屬性" 對話框。

   - 點擊你創建的按鈕。你應該會在滑鼠位置看到顯示 "Hello 您好"。