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

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

1
สคริปต์ PowerShell ไม่ยอมรับเครื่องหมาย $ (ดอลลาร์)
ฉันกำลังพยายามเปิดการเชื่อมต่อข้อมูล SQL โดยใช้สคริปต์ PowerShell และรหัสผ่านของฉันมี$เครื่องหมาย: $cn = new-object system.data.SqlClient.SqlConnection("Data Source=DBNAME;Initial Catalog=Catagory;User ID=User;Password=pass$word;") เมื่อฉันพยายามเปิดการเชื่อมต่อมันขึ้นว่า: เข้าสู่ระบบล้มเหลว

5
คัดลอกไฟล์จากระยะไกลด้วย PowerShell
ฉันกำลังเขียนPowerShellสคริปต์ที่ต้องการเรียกใช้จากเซิร์ฟเวอร์ A ฉันต้องการเชื่อมต่อกับเซิร์ฟเวอร์ B และคัดลอกไฟล์ไปยังเซิร์ฟเวอร์ A เพื่อเป็นการสำรองข้อมูล หากไม่สามารถทำได้ฉันต้องการเชื่อมต่อกับเซิร์ฟเวอร์ B จากเซิร์ฟเวอร์ A และคัดลอกไฟล์ไปยังไดเรกทอรีอื่นในเซิร์ฟเวอร์ B ฉันเห็นCopy-Itemคำสั่ง แต่ไม่เห็นวิธีตั้งชื่อคอมพิวเตอร์ ฉันคิดว่าฉันจะทำอะไรได้บ้าง Copy-Item -ComputerName ServerB -Path C:\Programs\temp\test.txt -Destination (not sure how it would know to use ServerB or ServerA) ฉันจะทำเช่นนี้ได้อย่างไร?

1
เครื่องหมาย & ใน powershell หมายถึงอะไร?
$tool = 'C:\Program Files\gs\gs9.07\bin\gswin64c.exe' & $tool -q -dNOPAUSE -sDEVICE=tiffg4 $param -r300 $pdf.FullName -c quit ใครช่วยอธิบายให้ฉันฟังหน่อยได้ไหมว่ามันทำงานอย่างไร สัญลักษณ์ & หมายถึงอะไร / หมายถึงอะไรใน powershell?
95 powershell 

7
Powershell: ฉันจะหยุดข้อผิดพลาดไม่ให้แสดงในสคริปต์ได้อย่างไร
ตัวอย่างเช่นเมื่อสคริปต์ PowerShell ของฉันพยายามสร้างอ็อบเจ็กต์ SQL Server สำหรับเซิร์ฟเวอร์ที่ไม่มีอยู่ ("bla" ในกรณีของฉัน) PowerShell จะแสดงข้อผิดพลาด PowerShell จำนวนมากเป็นสีแดง เนื่องจากสคริปต์ของฉันตรวจสอบค่า$?หลังจากการโทรดังกล่าวและแสดงและบันทึกข้อผิดพลาดฉันจึงไม่ต้องการให้แสดงข้อผิดพลาด PowerShell หลายบรรทัดด้วย ฉันจะปิดใช้งานสิ่งที่แสดงสำหรับสคริปต์ของฉันได้อย่างไร


15
คุณจะทดสอบได้อย่างไรว่าวัตถุมีคุณสมบัติเฉพาะหรือไม่?
คุณจะทดสอบได้อย่างไรว่าวัตถุมีคุณสมบัติเฉพาะหรือไม่? ขอบคุณที่ฉันทำได้ ... $members = Get-Member -InputObject $myobject จากนั้นforeachผ่านทาง$membersแต่มีฟังก์ชันในการทดสอบว่าวัตถุมีคุณสมบัติเฉพาะหรือไม่? ข้อมูลเพิ่มเติม: ปัญหาคือฉันกำลังนำเข้าไฟล์ CSV สองประเภทที่แตกต่างกันหนึ่งไฟล์มีสองคอลัมน์และอีกสามคอลัมน์ ฉันไม่สามารถรับเช็คเพื่อใช้กับ "พร็อพเพอร์ตี้" ได้เฉพาะกับ "NoteProperty" ... ไม่ว่าความแตกต่างคืออะไร if ( ($member.MemberType -eq "NoteProperty" ) -and ($member.Name -eq $propertyName) )



7
วิธีที่ดีที่สุดในการตรวจสอบว่ามีวัตถุ PowerShell อยู่หรือไม่
ฉันกำลังมองหาวิธีที่ดีที่สุดในการตรวจสอบว่า Com Object มีอยู่จริงหรือไม่ นี่คือรหัสที่ฉันมี ฉันต้องการปรับปรุงบรรทัดสุดท้าย: $ie = New-Object -ComObject InternetExplorer.Application $ie.Navigate("http://www.stackoverflow.com") $ie.Visible = $true $ie -ne $null #Are there better options?

13
ฉันจะตรวจสอบได้อย่างไรว่าติดตั้งโมดูล PowerShell แล้ว
ในการตรวจสอบว่ามีโมดูลอยู่หรือไม่ฉันได้ลองทำสิ่งต่อไปนี้แล้ว: try { Import-Module SomeModule Write-Host "Module exists" } catch { Write-Host "Module does not exist" } ผลลัพธ์คือ: Import-Module : The specified module 'SomeModule' was not loaded because no valid module file was found in any module directory. At D:\keytalk\Software\Client\TestProjects\Export\test.ps1:2 char:5 + Import-Module SomeModule + ~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : ResourceUnavailable: …
92 powershell 


3
GetType ที่ใช้ใน PowerShell ความแตกต่างระหว่างตัวแปร
อะไรคือความแตกต่างระหว่างตัวแปร$aและ$b? $a = (Get-Date).DayOfWeek $b = Get-Date | Select-Object DayOfWeek ผมพยายามตรวจสอบ $a.GetType $b.GetType MemberType : Method OverloadDefinitions : {type GetType()} TypeNameOfValue : System.Management.Automation.PSMethod Value : type GetType() Name : GetType IsInstance : True MemberType : Method OverloadDefinitions : {type GetType()} TypeNameOfValue : System.Management.Automation.PSMethod Value : type GetType() Name : GetType …

5
วิธีตรวจสอบว่ามีการโหลด PowerShell snap-in แล้วหรือไม่ก่อนที่จะเรียก Add-PSSnapin
ฉันมีกลุ่มของสคริปต์ PowerShell ที่บางครั้งก็ทำงานร่วมกันบางครั้งก็เรียกใช้ทีละรายการ แต่ละสคริปต์ต้องการให้โหลดสแน็ปอินบางรายการ ตอนนี้แต่ละสคริปต์กำลังเรียกAdd-PSSnapin XYZที่จุดเริ่มต้น ตอนนี้ถ้าฉันรันหลายสคริปต์กลับไปกลับมาสคริปต์ที่ตามมาจะโยน: ไม่สามารถเพิ่ม Windows PowerShell snap-in XYZ ได้เนื่องจากมีการเพิ่ม alerady ตรวจสอบชื่อสแน็ปอินแล้วลองอีกครั้ง ฉันจะตรวจสอบสคริปต์แต่ละรายการเพื่อดูว่ามีการโหลดสแน็ปอินแล้วก่อนที่จะเรียก Add-PSSnapin ได้อย่างไร
90 powershell 

5
ส่งผ่านพารามิเตอร์จากไฟล์แบตช์ไปยังสคริปต์ PowerShell
ในไฟล์แบตช์ของฉันฉันเรียกสคริปต์ PowerShell ดังนี้: powershell.exe "& "G:\Karan\PowerShell_Scripts\START_DEV.ps1" START_DEV.ps1ตอนนี้ผมต้องการที่จะผ่านพารามิเตอร์สตริง w=Devสมมติว่าพารามิเตอร์เป็น ฉันจะทำเช่นนี้ได้อย่างไร?

7
วิธีส่งอาร์กิวเมนต์บรรทัดคำสั่งไปยังไฟล์ PowerShell ps1
เป็นเวลาหลายปีแล้วที่ฉันใช้cmd/DOS/Windowsเชลล์และส่งผ่านอาร์กิวเมนต์บรรทัดคำสั่งไปยังไฟล์แบตช์ ตัวอย่างเช่นผมมีไฟล์zuzu.batและในนั้นเข้าถึงฉัน%1, %2ฯลฯ ตอนนี้ผมต้องการที่จะทำเช่นเดียวกันเมื่อผมเรียกสคริปต์PowerShell when I am in a Cmd.exe shellฉันมีสคริปต์xuxu.ps1(และฉันได้เพิ่ม PS1 ลงในตัวแปร PATHEXT และไฟล์ PS1 ที่เชื่อมโยงกับ PowerShell) แต่ไม่ว่าฉันจะทำยังไงฉันก็ไม่สามารถรับอะไรจาก$argsตัวแปรได้เลย มันมีความยาวเป็น 0 เสมอ ถ้าฉันอยู่ในPowerShellเปลือกหอยแทนที่จะcmd.exeได้ผล (แน่นอน) แต่ฉันยังไม่สบายใจพอที่จะอยู่ในสภาพแวดล้อม PowerShell แบบเต็มเวลา powershell.exe -command xuxu.ps1 p1 p2 p3 p4ฉันไม่ต้องการที่จะพิมพ์ xuxu p1 p2 p3 p4ฉันต้องการที่จะพิมพ์ เป็นไปได้หรือไม่และถ้าเป็นเช่นนั้นได้อย่างไร ตัวอย่างที่ฉันไม่สามารถไปทำงานได้นั้นไม่สำคัญ foo.ps1: Write-Host "Num Args:" $args.Length; foreach ($arg in $args) …

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