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

ตั้งค่าตัวแปรสภาพแวดล้อมโดยใช้ PowerShell


การใช้ $env:ตัวแปร Path ใน PowerShell เพื่อตั้งค่าตัวแปรสภาพแวดล้อมสำหรับเซสชันหรือชั่วคราว ใช้ <รหัส>[System. สภาพแวดล้อม] วิธีการใน PowerShell เพื่อตั้งค่าตัวแปรสภาพแวดล้อมอย่างถาวร

ตัวแปรสภาพแวดล้อมประกอบด้วยค่าที่แอปพลิเคชันในระบบปฏิบัติการ Windows สามารถใช้ได้ ประกอบด้วยคู่ชื่อ-ค่า

ในบทความนี้ เราจะพูดถึงใน PowerShell วิธีการตั้งค่าตัวแปรสภาพแวดล้อมสำหรับเซสชันผู้ใช้ ผนวกค่าเข้ากับตัวแปร และตั้งค่าตัวแปรสภาพแวดล้อมแบบถาวร

PowerShell ตั้งค่าตัวแปรสภาพแวดล้อมสำหรับเซสชัน

ใช้ $Env: Path เพื่อสร้างตัวแปรสภาพแวดล้อมสำหรับเซสชัน และขอบเขตจะเป็นสำหรับเซสชันปัจจุบันและขอบเขตกระบวนการ

$Env:GoHugo = "C:\Hugo\bin\"

$Env:GoHugo สร้างเส้นทางตัวแปรสภาพแวดล้อมและตั้งค่าโดยใช้=(ตัวดำเนินการกำหนด)

$Env: ตัวแปร Path จะตั้งค่าตัวแปรสภาพแวดล้อมสำหรับเซสชันชั่วคราว และหลังจากปิดหน้าต่าง PowerShell แล้ว จะไม่เก็บค่าตัวแปรไว้

การใช้ Get-ChildItem ใน PowerShell คุณสามารถรับตัวแปรสภาพแวดล้อมได้ดังนี้:

Get-ChildItem Env:GoHugo

ผลลัพธ์ของสคริปต์ PowerShell ข้างต้นได้รับตัวแปรสภาพแวดล้อมสำหรับเซสชันและเส้นทางตัวแปรสภาพแวดล้อมการพิมพ์เป็น:

ปิดหน้าต่าง PowerShell แล้วเปิดใหม่อีกครั้ง

เรียกใช้คำสั่ง Get-ChildItem อีกครั้งเพื่อรับตัวแปรสภาพแวดล้อมที่สร้างขึ้นในขั้นตอนข้างต้น

โดยจะแสดงข้อความแสดงข้อผิดพลาดเนื่องจากตัวแปรสภาพแวดล้อมยังคงพร้อมใช้งานสำหรับขอบเขตกระบวนการนั้นเท่านั้น

PS C:\> Get-ChildItem Env:GoHugo
Get-ChildItem : Cannot find path 'GoHugo' because it does not exist.
At line:1 char:1
+ Get-ChildItem Env:GoHugo
+ ~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (GoHugo:String) [Get-ChildItem], ItemNotFoundException
    + FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.GetChildItemCommand

PS C:\>

ใช้ Powershell เพื่อตั้งค่าตัวแปรสภาพแวดล้อมสำหรับผู้ใช้

หากต้องการสร้างตัวแปรสภาพแวดล้อมอย่างถาวรสำหรับบัญชี ผู้ใช้ ให้ใช้วิธี [System.Environment] เพื่อตั้งค่าตัวแปรสภาพแวดล้อมสำหรับผู้ใช้

[System.Environment]::SetEnvironmentVariable('GoHugo','C:\Hugo\bin',[System.EnvironmentVariableTarget]::User)

ในสคริปต์ PowerShell ข้างต้น [System.Environment] ใช้วิธีการ SetEnvironmentVariable เพื่อตั้งค่าตัวแปรสภาพแวดล้อมอย่างถาวรสำหรับผู้ใช้ และค่าจะคงอยู่อย่างถาวร

[ระบบ. สภาพแวดล้อม] ใช้ EnvironmentVariableTarget เป็นผู้ใช้เพื่อตั้งค่าสภาพแวดล้อมสำหรับบัญชีผู้ใช้เท่านั้น

ตั้งค่าตัวแปรสภาพแวดล้อมสำหรับเครื่อง

การใช้ [System. สภาพแวดล้อม] คุณสามารถตั้งค่าตัวแปรสภาพแวดล้อมสำหรับเครื่องได้ โดยจะใช้ EnvironmentVariableTarget เครื่อง เพื่อตั้งค่าสภาพแวดล้อมสำหรับเครื่องเท่านั้น

[System.Environment]::SetEnvironmentVariable('GoHugo','C:\Hugo\bin',[System.EnvironmentVariableTarget]::Machine)

เปิดแอป PowerShell ด้วย เรียกใช้ในฐานะผู้ดูแลระบบ เนื่องจากการตั้งค่าตัวแปรสภาพแวดล้อมสำหรับเครื่องจำเป็นต้องมีการเปลี่ยนแปลงในรีจิสทรี และอาจทำให้เกิดข้อผิดพลาดหากบัญชีผู้ใช้ไม่สามารถเข้าถึงรีจิสทรีที่ร้องขอ

ผลลัพธ์ของสคริปต์ด้านบนเพื่อตั้งค่าเส้นทางตัวแปรสภาพแวดล้อมโดยใช้คำสั่งคือ:

เคล็ดลับเด็ด: วิธีเรียกใช้ PowerShell เป็นบัญชีระบบ!

ผนวกค่าใหม่เข้ากับตัวแปรสภาพแวดล้อม

หากต้องการเพิ่มค่าใหม่ต่อท้ายตัวแปรสภาพแวดล้อม ให้ใช้ += และระบุค่าตัวแปร

ลองพิจารณาตัวอย่างเพื่อผนวกค่าใหม่เข้ากับตัวแปรสภาพแวดล้อมโดยใช้ $Env: Path ดังนี้

$Env:Path += "C:\go\bin\"

โดยจะเพิ่มค่า C:\go\bin ต่อท้ายตัวแปรสภาพแวดล้อม Path และจะพร้อมใช้งานสำหรับเซสชันปัจจุบันเท่านั้น

ใช้ dir env: เพื่อพิมพ์ชื่อตัวแปรสภาพแวดล้อมและเส้นทาง

บทสรุป

ฉันหวังว่าบทความข้างต้นเพื่อตั้งค่าตัวแปรสภาพแวดล้อมสำหรับผู้ใช้และเครื่องจะเป็นประโยชน์กับคุณ

ใช้ $Env:Path เพื่อตั้งค่าตัวแปรสภาพแวดล้อมสำหรับเซสชันปัจจุบันเท่านั้นและขอบเขตกระบวนการ หลังจากปิดเทอร์มินัล PowerShell แล้ว จะไม่เก็บค่า

ใช้เมธอดไลบรารีกรอบงาน .Net [System.Environment] ใน PowerShell เพื่อตั้งค่าตัวแปรสภาพแวดล้อมอย่างถาวรสำหรับผู้ใช้และเครื่องสำหรับการใช้งานถาวร

คุณสามารถค้นหาหัวข้อเพิ่มเติมเกี่ยวกับคำสั่ง PowerShell Active Directory และพื้นฐาน PowerShell ได้ในหน้าแรกของ ShellGeek

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