คำถามติดแท็ก powershell

PowerShell เป็นบรรทัดคำสั่งข้ามแพลตฟอร์มและยูทิลิตี้การเขียนสคริปต์จาก Microsoft ใช้แท็กนี้สำหรับคำถามเกี่ยวกับการเขียนและเรียกใช้สคริปต์ PowerShell เท่านั้น ควรติดแท็กคำถามการเขียนโปรแกรมสำหรับ PowerShell Core เวอร์ชั่นข้ามแพลตฟอร์ม (Windows, macOS และ Linux) [powershell-core] ควรถามคำถามเกี่ยวกับการดูแลระบบใน Super User หรือ Server Fault


30
PowerShell กล่าวว่า“ การทำงานของสคริปต์ถูกปิดใช้งานในระบบนี้”
ฉันกำลังพยายามเรียกใช้ cmd ไฟล์ที่เรียกใช้ PowerShellสคริปต์จากcmd.exeและฉันได้รับข้อผิดพลาดด้านล่าง: Management_Install.ps1 ไม่สามารถโหลดได้เนื่องจากการทำงานของสคริปต์ถูกปิดใช้งานในระบบนี้ ฉันวิ่งแล้ว Set-ExecutionPolicy -ExecutionPolicy Unrestricted และเมื่อฉันวิ่งGet-ExecutionPolicyจากPowerShellฉันUnrestrictedกลับมาแล้ว PS C:\Users\Administrator\> Get-ExecutionPolicy Unrestricted C:\Projects\Microsoft.Practices.ESB\Source\Samples\Management Portal\Install\Scripts\> powershell .\Management_Install.ps1 1 WARNING: Running x86 PowerShell... C:\Projects\Microsoft.Practices.ESB\Source\Samples\Management Portal\Install\Scripts\Management_Install.ps1ไม่สามารถโหลดไฟล์ได้เนื่องจากการทำงานของสคริปต์ถูกปิดใช้งานในระบบนี้ โปรดดู " get-help about_signing" สำหรับรายละเอียดเพิ่มเติม ที่บรรทัด: 1 ตัวอักษร: 25 .\Management_Install.ps1 <<<< 1 CategoryInfo: NotSpecified: (:) [], PSSecurityException FullyQualifiedErrorId: RuntimeException C:\Projects\Microsoft.Practices.ESB\Source\Samples\Management Portal\Install\Scripts\> PAUSE Press any …


14
วิธีเรียกใช้สคริปต์ PowerShell
ฉันจะเรียกใช้สคริปต์ PowerShell ได้อย่างไร ฉันมีสคริปต์ชื่อ myscript.ps1 ฉันติดตั้งเฟรมเวิร์กที่จำเป็นทั้งหมดแล้ว ฉันตั้งสิ่งนโยบายการดำเนินการที่ ฉันได้ปฏิบัติตามคำแนะนำในหน้าช่วยเหลือ MSDN นี้ แล้วและพยายามเรียกใช้เช่นนั้น: powershell.exe 'C:\my_path\yada_yada\run_import_script.ps1'(มีหรือไม่มี--noexit) ซึ่งจะส่งคืนอะไรเลยยกเว้นว่าชื่อไฟล์เป็นผลลัพธ์ ไม่มีข้อผิดพลาดไม่มีข้อความไม่มีอะไรเลย โอ้เมื่อฉันเพิ่ม-noexitสิ่งเดียวกันจะเกิดขึ้น แต่ฉันยังคงอยู่ใน PowerShell และต้องออกด้วยตนเอง ไฟล์. ps1 ควรจะเรียกใช้โปรแกรมและส่งคืนระดับข้อผิดพลาดขึ้นอยู่กับเอาต์พุตของโปรแกรมนั้น แต่ฉันค่อนข้างแน่ใจว่าฉันยังไม่ได้ไปถึงที่นั่น ผมทำอะไรผิดหรือเปล่า?

20
ฉันจะเชื่อมสตริงและตัวแปรใน PowerShell ได้อย่างไร
สมมติว่าฉันมีตัวอย่างต่อไปนี้: $assoc = New-Object psobject -Property @{ Id = 42 Name = "Slim Shady" Owner = "Eminem" } Write-host $assoc.Id + " - " + $assoc.Name + " - " + $assoc.Owner ฉันต้องการตัวอย่างข้อมูลนี้เพื่อแสดง: 42 - Slim Shady - Eminem แต่มันกลับแสดง: 42 + - + Slim Shady + - + Eminem …

16
การตั้งค่าตัวแปรสภาพแวดล้อม Windows PowerShell
ฉันพบว่าการตั้งค่าตัวแปรสภาพแวดล้อม PATH มีผลเฉพาะกับพรอมต์คำสั่งเก่าเท่านั้น PowerShell ดูเหมือนว่าจะมีการตั้งค่าสภาพแวดล้อมที่แตกต่างกัน ฉันจะเปลี่ยนตัวแปรสภาพแวดล้อมสำหรับ PowerShell (v1) ได้อย่างไร บันทึก: ฉันต้องการเปลี่ยนแปลงให้ถาวรดังนั้นฉันไม่ต้องตั้งค่าทุกครั้งที่เรียกใช้ PowerShell PowerShell มีไฟล์โปรไฟล์หรือไม่? สิ่งที่ชอบโปรไฟล์ทุบตีใน Unix?

14
วิธีที่ดีที่สุดในการระบุตำแหน่งของสคริปต์ PowerShell ปัจจุบันคืออะไร
เมื่อใดก็ตามที่ฉันต้องการอ้างอิงโมดูลทั่วไปหรือสคริปต์ฉันต้องการใช้พา ธ ที่สัมพันธ์กับไฟล์สคริปต์ปัจจุบัน ด้วยวิธีนี้สคริปต์ของฉันสามารถค้นหาสคริปต์อื่น ๆ ในห้องสมุดได้เสมอ ดังนั้นวิธีที่ดีที่สุดมาตรฐานในการกำหนดไดเรกทอรีของสคริปต์ปัจจุบันคืออะไร? ขณะนี้ฉันกำลังทำ: $MyDir = [System.IO.Path]::GetDirectoryName($myInvocation.MyCommand.Definition) ฉันรู้ในโมดูล (.psm1) คุณสามารถใช้$PSScriptRootเพื่อรับข้อมูลนี้ แต่นั่นไม่ได้รับการตั้งค่าในสคริปต์ปกติ (เช่นไฟล์. ps1) วิธีที่ได้รับมาตรฐานของตำแหน่งไฟล์สคริปต์ PowerShell ปัจจุบันคืออะไร

1
วิธีจัดการอาร์กิวเมนต์บรรทัดคำสั่งใน PowerShell
วิธี "ดีที่สุด" ในการจัดการอาร์กิวเมนต์บรรทัดคำสั่งคืออะไร ดูเหมือนว่ามีคำตอบหลายอย่างเกี่ยวกับวิธีที่ "ดีที่สุด" และด้วยเหตุนี้ฉันจึงติดอยู่กับวิธีการจัดการบางสิ่งที่ง่ายเหมือน: script.ps1 /n name /d domain และ script.ps1 /d domain /n name. มีปลั๊กอินที่สามารถจัดการกับสิ่งนี้ได้ดีขึ้นหรือไม่? ฉันรู้ว่าฉันกำลังสร้างวงล้อใหม่ที่นี่ เห็นได้ชัดว่าสิ่งที่ฉันมีอยู่ไม่สวยและไม่ใช่ "ดีที่สุด" แต่มันใช้งานได้ ... และมันก็เป็น UGLY for ( $i = 0; $i -lt $args.count; $i++ ) { if ($args[ $i ] -eq "/n"){ $strName=$args[ $i+1 ]} if ($args[ $i ] -eq …

7
จะส่งอาร์กิวเมนต์ไปยังสคริปต์ PowerShell ได้อย่างไร
มีPowerShellสคริปต์ชื่อitunesForward.ps1ที่ทำให้ iTunes เดินหน้าอย่างรวดเร็ว 30 วินาที: $iTunes = New-Object -ComObject iTunes.Application if ($iTunes.playerstate -eq 1) { $iTunes.PlayerPosition = $iTunes.PlayerPosition + 30 } มันจะถูกดำเนินการด้วยคำสั่งสายพร้อมท์: powershell.exe itunesForward.ps1 เป็นไปได้ไหมที่จะส่งอาร์กิวเมนต์จากบรรทัดคำสั่งและใช้กับสคริปต์แทนค่าฮาร์ดโค้ด 30 วินาที

15
ฉันจะส่งพารามิเตอร์หลายรายการไปยังฟังก์ชันใน PowerShell ได้อย่างไร
หากฉันมีฟังก์ชั่นที่ยอมรับพารามิเตอร์สตริงมากกว่าหนึ่งพารามิเตอร์พารามิเตอร์แรกดูเหมือนว่าจะได้รับข้อมูลทั้งหมดที่กำหนดไว้และพารามิเตอร์ที่เหลือจะถูกส่งผ่านเป็นว่างเปล่า สคริปต์ทดสอบอย่างรวดเร็ว: Function Test([string]$arg1, [string]$arg2) { Write-Host "`$arg1 value: $arg1" Write-Host "`$arg2 value: $arg2" } Test("ABC", "DEF") ผลลัพธ์ที่สร้างขึ้นคือ $arg1 value: ABC DEF $arg2 value: ผลลัพธ์ที่ถูกต้องควรเป็น: $arg1 value: ABC $arg2 value: DEF ดูเหมือนว่าจะสอดคล้องกันระหว่าง v1 และ v2 ในหลาย ๆ เครื่องดังนั้นเห็นได้ชัดว่าฉันกำลังทำอะไรผิด ใครสามารถชี้ให้เห็นว่าอะไรกันแน่?
438 powershell 


11
ฉันจะตรวจสอบว่าสตริงเป็นโมฆะหรือว่างเปล่าใน PowerShell ได้อย่างไร
มีIsNullOrEmptyฟังก์ชันในตัวเพื่อตรวจสอบว่าสตริงเป็นโมฆะหรือว่างเปล่าใน PowerShell หรือไม่ ฉันไม่สามารถค้นหาได้จนถึงตอนนี้และหากมีวิธีในตัวฉันไม่ต้องการเขียนฟังก์ชันสำหรับสิ่งนี้
413 .net  string  powershell  null 


10
การยุติสคริปต์ใน PowerShell
ฉันกำลังมองหาวิธีที่จะยุติสคริปต์ PowerShell (PS1) เมื่อเกิดข้อผิดพลาดที่ไม่สามารถกู้คืนได้ภายในฟังก์ชัน ตัวอย่างเช่น: function foo() { # Do stuff that causes an error $host.Exit() } $host.Exit()แน่นอนไม่มีสิ่งเช่น มี$host.SetShouldExit()แต่สิ่งนี้จริงปิดหน้าต่างคอนโซลซึ่งไม่ใช่สิ่งที่ฉันต้องการ สิ่งที่ฉันต้องการคือสิ่งที่เทียบเท่ากับ Python sys.exit()ที่จะหยุดการทำงานของสคริปต์ปัจจุบันโดยไม่ต้องลาก่อน แก้ไข:exitใช่มันเป็นเพียง ดุจ
394 powershell 

18
PowerShell พร้อมที่จะแทนที่ Cygwin shell ของฉันบน Windows หรือไม่ [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดเมื่อปีที่แล้ว ฉันกำลังถกเถียงกันว่าฉันควรเรียนรู้ PowerShell หรือแค่ติดกับCygwin / Perl สคริปต์ / Unix shell script ฯลฯ ประโยชน์ของ PowerShell คือการที่สคริปต์สามารถใช้งานได้ง่ายขึ้นโดยเพื่อนร่วมทีมที่ไม่มี Cygwin; อย่างไรก็ตามฉันไม่รู้ว่าฉันจะเขียนบทที่มีวัตถุประสงค์ทั่วไปมากมายหรือไม่หรือถ้าคนจะใช้มัน การเขียนสคริปต์ Unix มีประสิทธิภาพมาก PowerShell เข้ามาใกล้พอที่จะรับประกันการสลับเปลี่ยนหรือไม่ นี่คือบางสิ่งที่เฉพาะเจาะจง (หรือรายการเทียบเท่า) ที่ฉันต้องการค้นหาใน PowerShell: grep ประเภท UNIQ Perl (PowerShell มาถึงขีดความสามารถของ Perl ได้ใกล้แค่ไหน) AWK sed ไฟล์ (คำสั่งที่ให้ข้อมูลไฟล์) เป็นต้น
384 unix  shell  powershell 

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.