2023年12月21日 星期四

在windows中安裝python虛擬環境

 1.必須先安裝python

2.安裝虛擬環境

pip install virtualenv

3.製做虛擬環境目錄
先做一個目錄於d槽,例如pyenv,進入d:\pyenv,執行
python -m venv test  --在d:\pyenv下建立test目錄為虛擬環境

4.啟動虛擬環境
在d:\pyenv\test下執行
 .\Scripts\activate  或 source bin\activate 會出現(venv) PS d:\pyenv\test> ,即可在此安裝其他套件及程式

5.關閉虛擬環境
在(venv) PS d:\pyenv\test> 執行
deactivate

6.匯出
必須先activate,執行
pip freeze >  test.txt 然後再 deactivate

7.匯入
先建虛擬環境並activate,然後執行
pip install -r test.txt

2023年12月8日 星期五

docker export/import

 To export:

docker container export <container_id> -o <image_name>.tar

To import
docker image import <image_name>.tar <custom_image_name>

Please note in Windows use -o instead of >. The export done with > works with Linux/MAC only.

2023年11月17日 星期五

用powershell得知MAC位址

 1.Get-NetAdapter | Select-Object -Property Name, MacAddress

列出所有網卡的MAC位址

2.Get-NetAdapter -InterfaceAlias "乙太網路" | Select-Object -Property MacAddress

   Get-NetAdapter -InterfaceAlias "Wi-Fi" | Select-Object -Property MacAddres

列出對單一網卡的MAC位址

2023年11月13日 星期一

取得應用程式事件檢視器中等級為錯誤的最近10筆事件

 # 取得應用程式事件檢視器中等級為錯誤的最近10筆事件

$events = Get-EventLog -LogName Application -EntryType Error -Newest 10


# 顯示事件資訊

foreach ($event in $events) {

    Write-Host "事件時間: $($event.TimeGenerated)"

    Write-Host "事件ID: $($event.EventID)"

    Write-Host "消息: $($event.Message)"

    Write-Host "----------------------"

}

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

Get-WinEvent -FilterHashtable @{

    "LogName" = "Application"

    "Level" = 2  # 2 代表錯誤,可以根據需要調整

} | Select-Object * -First 10



2023年11月9日 星期四

Linux計算目錄下的子目錄?

計算目錄下所有子目錄的總數

find /path/to/your/directory -mindepth 1 -maxdepth 1 -type d | wc -l

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

列出目錄下所有子目錄

find /path/to/your/directory -mindepth 1 -maxdepth 1 -type d -exec sh -c 'echo "{}";' \; 

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

計算目錄下所有子目錄的總數並列出目錄下所有子目錄

find /path/to/your/directory -mindepth 1 -maxdepth 1 -type d -exec basename {} \; | tee /dev/tty | wc -l

/path/to/your/directory 改為你要的目錄

2023年11月8日 星期三

在命令提示視窗(Command Prompt)顯示UTF-8內容

 UTF-8的Code Page是65001,先chcp 65001,如果 CodePage 的設定要持久的話,

要在 [HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\] 底下新增一個字串 Autorun,裡面填 "chcp 65001>nul"

2023年11月6日 星期一

在powershell中,我如何自訂義的alias永久保存,不論主機重開機或關機後重啟都不會消失?

一、 您可以在 PowerShell 中使用 New-Alias Set-Alias 命令创建别名。要使别名永久保存,您需要将此命令写入 Windows PowerShell profile 文件123。以下是一些步

  1. PowerShell $profile 命令,以查找 profile 文件的位置。

  2. 如果文件不存在,使用 New-Item -ItemType File -Force $profile 命令建文件。

  3. 文件并添加您的名。例如,如果您想要 Get-ChildItem 命令的 ls可以添加以下行:New-Alias ls Get-ChildItem

  4. 保存文件并關閉它。

這樣,您的PowerShell 会话之间保持不变,即使您关闭计算机或重启主机123

希望可以助您!

二、在PowerShell中自定Alias最理想的情下是應該被永久保存。可以通過兩種方式實現:一是修改PowerShell的配置文件,另一是使用本文件。

修改 PowerShell 配置文件:

Windows上,PowerShell的配置文件位C:\Users\<username>\Documents\Microsoft\WindowsPowerShell\profile.ps1。在macOS上,它位~/.config/powershell/中。您可以編輯這個文件添加或更改您的Alias。例如,要永久保存一MyAlias”的新Alias,你可以在文件中添加以下代









function MyAlias {

Write-Output "This is my custom alias."

}



New-Alias -Name MyAlias -Definition (Get-Command Get-Date).Definition -Force

這將創建一MyAlias”的新命令,并使用 Get-Date 命令的定。在 macOS 上,您需要在端中chmod +x ~/.config/powershell/profile.ps1 來將 profile.ps1 文件行。





使用本文件:

你也可以建一.powershell_profile.ps1的文件并自定Alias添加到其中。這個文件可以位您的home下,例如 ~/.powershell_profile.ps1 macOS上或C:\Users\<username>\Documents\PowerShell\Microsoft.PowerShell_profile.ps1 Windows上。這個文件是一本,每次打PowerShell動運行。



例如:建或編輯 .powershell_profile.ps1 (macOS) Microsoft.PowerShell_profile.ps1 (Windows) 文件并添加以下代



function MyAlias {

Write-Output "This is my custom alias."

}



New-Alias -Name MyAlias -Definition (Get-Command Get-Date).Definition -Force

然后,你可以在PowerShellsource ~/.powershell_profile.ps1 (macOS) & $PROFILE (Windows) 載這個腳本文件并用自定Alias



無論釆用哪方法,您的自定Alias被永久保存,不關機而消失。

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