ค้นหาเว็บไซต์

PowerShell: การเปลี่ยนรูปลักษณ์ของพรอมต์


PowerShell มาพร้อมกับพรอมต์มาตรฐานซึ่งมีการกำหนดค่าถูกเก็บไว้ในฟังก์ชันพรอมต์ ข่าวดีก็คือเราสามารถเปลี่ยนฟังก์ชันพร้อมต์นี้ให้เหมาะกับความต้องการของเราได้ ในบล็อกโพสต์นี้ ฉันจะแสดงให้คุณเห็นว่าคุณสามารถเปลี่ยนแปลงพรอมต์นี้ได้อย่างไร และฉันจะยกตัวอย่างบางส่วนให้กับคุณ

เรื่อง

เรากำลังตรวจสอบเรื่องนี้:

และเรากำลังตรวจสอบฟังก์ชันที่เกี่ยวข้องกับพรอมต์เริ่มต้นนี้ด้วย:

(Get-Item function:prompt).ScriptBlock

นี่คือพรอมต์เริ่มต้น สำหรับการปรับแต่ง เราจำเป็นต้องเปลี่ยนพรอมต์เริ่มต้นนี้

การเปลี่ยนรูปลักษณ์ของพรอมต์

ต่อไปนี้คือตัวอย่าง 4 ข้อที่คุณสามารถใช้เพื่อแจ้งหรือปรับแต่งเพิ่มเติมได้

การแสดงวันที่

function prompt {

    "$(Get-Date)> "

}

พรอมต์เริ่มต้น + ชื่อคอมพิวเตอร์

function prompt {

    "PS [$env:COMPUTERNAME]> "

}

หาก PowerShell เริ่มต้นในฐานะผู้ดูแลระบบ ให้แสดง [ผู้ดูแลระบบ]

function prompt {
    $identity = [Security.Principal.WindowsIdentity]::GetCurrent()
    $principal = [Security.Principal.WindowsPrincipal] $identity
    $adminRole = [Security.Principal.WindowsBuiltInRole]::Administrator
  
    $(if (Test-Path variable:/PSDebugContext) { '[DBG]: ' }
      elseif($principal.IsInRole($adminRole)) { "[ADMINISTRATOR]: " }
      else { '' }
    ) + 'PS ' + $(Get-Location) +
      $(if ($NestedPromptLevel -ge 1) { '>>' }) + '> '
  }

การแสดงชื่อผู้ใช้

function prompt {

  "PS [$env:USERNAME]> "

}

ฉันหวังว่าฉันสามารถจุดประกายแนวคิดเกี่ยวกับวิธีเปลี่ยนพรอมต์ของเซสชัน PowerShell ของคุณได้

เพิ่มเติมเกี่ยวกับพร้อมท์ที่นี่: https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_prompts?view=powershell-7.2#:~:text=The%20Prompt%20function% 20กำหนด%20การกำหนด%20your%20own%20Prompt%20function.&text=The%20Prompt%20function%20must%20return เป็น%20formatted%20as%20a%20string

หากคุณสงสัยว่าคุณสามารถใช้พรอมต์ที่กำหนดเองของคุณอย่างถาวรได้อย่างไร โปรดดูบทความของฉันเกี่ยวกับโปรไฟล์ PowerShell: วิธีสร้างโปรไฟล์ PowerShell

บทความที่เกี่ยวข้อง