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

Windows PowerShell เป็นเชลล์บรรทัดคำสั่งและภาษาสคริปต์สำหรับ Windows ที่แทนที่เชลล์ CMD.exe และภาษาแบตช์ PowerShell ยังเป็นเอ็นจิ้นระบบอัตโนมัติสำหรับ Windows ที่มีฟังก์ชันการทำงานคล้ายกับ Windows Script Host และ VBScript

2
ใน PowerShell เมื่อฉันเรียก Get-ChildItem หรือ gci คอลัมน์ Mode จะบังคับให้แต่ละรายการเป็น 2 บรรทัด
ผลลัพธ์ทั่วไปอาจมีลักษณะเช่นนี้: Mode LastWriteTime Length Name ---- ------------- ------ ---- d---- 8/16/2018 11:07 AM <DIR> .vscode - d---- 8/16/2018 11:07 AM <DIR> amazon-redshift-utils - ฉันคิดว่ามันควรมีลักษณะเช่นนี้: Mode LastWriteTime Length Name ---- ------------- ------ ---- d----- 8/16/2018 11:07 AM <DIR> .vscode d----- 8/16/2018 11:07 AM <DIR> amazon-redshift-utils นี่เป็นคอมพิวเตอร์เครื่องใหม่ - ฉันจำได้ว่ามันเกิดขึ้นในคอมพิวเตอร์เก่าเมื่อหลายปีก่อนและฉันได้รับการแก้ไขแล้ว แต่ฉันไม่สามารถหาข้อมูลอ้างอิงได้ในตอนนี้

1
เปลี่ยนพร็อกซีด้วย PowerShell
ฉันต้องการเปิดใช้งาน / ปิดใช้งานการตั้งค่าพร็อกซีอินเทอร์เน็ตด้วยสคริปต์ PowerShell cd HKCU:\"Software\Microsoft\Windows\CurrentVersion\Internet Settings" $a = Read-Host "Enable proxy? (y/n)" if ($a -eq "y") { set-itemproperty . ProxyEnable 1 Write-Host "Enabled" } else { set-itemproperty . ProxyEnable 0 Write-Host "Disabled" } อัปเดตรีจิสทรีนี้ แต่ฉันจะบอกแอปพลิเคชันว่าการตั้งค่ามีการเปลี่ยนแปลงอย่างไร เช่น. Chrome จะไม่ใช้การตั้งค่าใหม่จนกว่าฉันจะเข้าสู่กล่องโต้ตอบตัวเลือกอินเทอร์เน็ต / การเชื่อมต่อและกดตกลง

1
ไม่สามารถติดตั้ง PowerShell 4.0
ฉันพยายามติดตั้ง PowerShell 4.0 บนเซิร์ฟเวอร์ Windows 2008R2 การติดตั้ง Windows6.1-KB2819745-x64-MultiPkg.msu โดยไม่มีข้อผิดพลาดหรือคำเตือน แต่เมื่อฉันใช้ PowerShell และตรวจสอบ $ host.version ก็ยังคง 3 0 -1 -1 เปรียบเทียบกับเครื่องเสมือนรอยขีดข่วนฉันมีกับ Win2008R2 และมีรุ่นแสดงเป็น 4 0 -1 -1 และเพื่อให้แน่ใจว่าฉันตรวจสอบรุ่นของไฟล์ powershell.exe เซิร์ฟเวอร์ปัญหาคือ 6.2.9200.1398 เสมือนคือ 6.3.9600.16406

1
อ่านไฟล์, แยกตัวอักษร, ต่อท้ายทุกบรรทัด, ตัดส่วนหัว & ท้ายกระดาษ, เชื่อมไฟล์ทั้งหมด
ฉันมีไฟล์ข้อความ ASCII ชุดใหญ่ที่ฉันต้องแก้ไขด้วยเนื้อหาที่พบในไฟล์จากนั้นทำการต่อไฟล์ทั้งหมดให้เป็นไฟล์สรุปหนึ่งไฟล์ ฉันประสบความสำเร็จพอสมควรโดยใช้วิธีการทีละขั้นตอนจนถึงตอนนี้ แต่ฉันต้องการทำสิ่งนี้ในคราวเดียวและไม่สามารถเข้าใจได้ ฉันเขียนสคริปต์ใน PowerShell ซึ่งจะทำสิ่งที่ฉันต้องการสำหรับไฟล์เดียว แต่ฉันไม่สามารถหาวิธีแก้ไขมันสำหรับไฟล์ทั้งหมดในโฟลเดอร์ ฉันกำลังดิ้นรนกับการวนซ้ำและส่วนการต่อข้อมูลไฟล์สุดท้าย นี่คือโครงสร้างไฟล์พื้นฐานของฉัน: File1.txt บรรทัดที่ 1 - abc123 - ส่วนหัว (ฉันต้องการตัดอักขระ 2,3 & amp; 4 จากที่นี่และเพิ่มลงในบรรทัดข้อมูล) Line2 - data1 Line3 - data2 LineN - abc123 - ส่วนท้าย (ซ้ำกันของส่วนหัว) File2.txt บรรทัด 1 - efg456 Line2 - data3 Line3 - data4 LineN - efg456 …

1
สคริปต์ PowerShell ที่จะเรียกโดยเซิร์ฟเวอร์เซิร์ฟเวอร์เพื่อคัดลอกไฟล์บันทึกไปยังสถานที่ห่างไกล
เรามีเซิร์ฟเวอร์หลายตัวที่บันทึกไฟล์บันทึกไว้ในเครื่องและฉันพยายามทำการบันทึกอัตโนมัติไปยังตำแหน่งเครือข่ายเดียวโดยใช้ชื่อโฟลเดอร์หลักที่จัดเก็บไฟล์บันทึกและวันที่แก้ไขเวลา เซิร์ฟเวอร์ 1 D:\Projects\Ohio\(Rel1)\BuildScripts\logs เซิร์ฟเวอร์ 2 D:\Projects\Ohio\(Rel2)\BuildScripts\logs เซิร์ฟเวอร์ 3 D:\Projects\Ohio\(Rel3)\BuildScripts\logs กำลังพยายามคัดลอกบันทึกทั้งหมดไปที่ R:\Logs\CruiseControl\(Rel.AW) \logs+timestamp\logfiles.txt จนถึงตอนนี้ฉันสามารถตั้งค่านี้สำหรับเซิร์ฟเวอร์ 1 ด้วยสคริปต์ด้านล่าง แต่ปัญหาคือต้องเรียกสคริปต์เดียวกันโดยเซิร์ฟเวอร์ 1, เซิร์ฟเวอร์ 2 และเซิร์ฟเวอร์ 3 และแต่ละครั้งที่บันทึกต้องไปที่กระแสที่เฉพาะเจาะจง (Rel1 , Rel2, Rel3) ฉันจะอ้างอิงชื่อสตรีมได้อย่างไร? $logDir = 'D:\Projects\Ohio\Rel.AW\BuildScripts\logs' $copyDir = 'R:\Logs\CruiseControl\Rel.AW' Get-ChildItem $logDir -File | ForEach { $parentFolder = $_.Directory.Name $timeStamp = $_.LastWriteTime.ToString('MMddyyyy') $path = Join-Path -Path …

1
แผงควบคุม CCNET ไม่ทำงาน
ฉันได้ติดตั้ง CCNET และฉันใช้งาน powershellscripts กับมัน มันใช้งานได้ดี แต่แดชบอร์ดไม่ปรากฏขึ้น ตามที่ฉันเข้าใจแล้วมันรวมอยู่ในการติดตั้งพื้นฐานของ CCNET และไม่จำเป็นต้องติดตั้งอื่นใด แต่เมื่อฉันเรียกใช้ localhost / ccnet เบราว์เซอร์จะบอกฉันว่าหน้าไม่สามารถแสดงได้ แผงควบคุมทำงานอยู่ที่ใดและฉันทำอะไรผิดที่นี่

2
ไม่สามารถแทนที่ Space ด้วยอักขระในการอัปเดตชื่อกลุ่ม
ฉันมีภาพบางอย่างในโฟลเดอร์เช่น van-map-PE 100-1.png van-map-PE 200-8.png van-map-PE 160-2.png van-map-PE 400-6.png ตอนนี้ฉันต้องการลบช่องว่างทั้งหมดระหว่างPE xxx-และแทนที่ด้วย-like van-map-PE-100-1.png van-map-PE-200-8.png van-map-PE-160-2.png van-map-PE-400-6.png ฉันใช้คำสั่งนี้ใน Power shell PS D:\imgs\png> get-childitem *.png | foreach { rename-item $_ $_.name.replace( "PE ","PE-")} แต่ฉันได้รับข้อผิดพลาดนี้ ForEach-Object : Cannot bind parameter 'RemainingScripts'. Cannot convert the "" value of type "System.String" to type "System.Management.Automation.ScriptBlock". At line:1 …

1
Msbuild ไม่รู้จักไดรฟ์เครือข่ายที่แมป
เรามีโครงการที่สร้างและมีเหตุการณ์สร้างโพสต์ เหตุการณ์การสร้างโพสต์คัดลอก DLL ผลลัพธ์ไปยังไดเรกทอรี F. ระบบควรจะวาง DLLs ทั้งหมดในไดรฟ์ F ในระบบของฉันฉันไม่สามารถแบ่งพาร์ติชันไดรฟ์ของฉันเพื่อเพิ่มไดรฟ์ F ดังนั้นฉันจึงแมปโฟลเดอร์ F จำลองเป็นไดรฟ์ F F drive -> \\<PC IP>\C$\F\ เมื่อฉันสร้างโซลูชันโดยใช้ Visual Studio 2008 เหตุการณ์การสร้างโพสต์จะสำเร็จ แต่เมื่อฉันพยายามสร้างโซลูชันโดยใช้ msbuild บรรทัดคำสั่งมันล้มเหลวและบอกว่า "ไม่มีไดรฟ์ที่ระบุ" มีความคิดใดที่จะหลอกผู้มีอำนาจให้เชื่อว่ามีไดรฟ์ F อยู่หรือไม่? ฉันสามารถนำทางไปยังไดรฟ์ F โดยใช้ Windows explorer ได้อย่างถูกต้องและอย่างที่ฉันได้กล่าวไปแล้วว่าเหตุการณ์การสร้างโพสต์สำเร็จเมื่อใช้ IDE บรรทัดคำสั่ง powershell ที่ใช้: msbuild MySolution.sln /p:Configuration=Debug /p:Platform="Any CPU" โปรดทราบว่าระบบของฉันเป็น Windows 7 …

1
คัดลอกรายการโฟลเดอร์ไปยังโฟลเดอร์อื่นหรือไม่?
มีอยู่แล้วดังนั้นฉันสามารถคัดลอกรายการโฟลเดอร์ภายในไฟล์ข้อความไปยังโฟลเดอร์อื่นใน Windows ได้หรือไม่? ฉันมีข้อความเช่นนี้: 87312 87313 87314 87315 ... ฉันคิดว่ามันเป็นไปได้ผ่าน Powershell

0
Powershell บน Mac - PartnerCenter นำเข้าโมดูลล้มเหลว
ฉันต้องใช้โมดูล PartnerCenter สำหรับ PowerShell บนเครื่อง Mac เมื่อฉันพยายามนำเข้าโมดูลด้วย Import-Module -Name PartnerCenter PowerShell พูดว่า Import-Module : Could not load file or assembly 'Newtonsoft.Json, Version=11.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed'. At line:1 char:1 + Import-Module -Name PartnerCenter + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidOperation: (:) [Import-Module], FileLoadException + FullyQualifiedErrorId : FormatXmlUpdateException,Microsoft.PowerShell.Commands.ImportModuleCommand ฉันสังเกตเห็นว่าโมดูล PartnerCenter เป็นประเภท "binary" โมดูลประเภทสคริปต์อื่น ๆ …
1 macos  mac  powershell 

1
ไม่สามารถวางดิสก์ออฟไลน์ 0 ลงใน windows 10
ฉันพยายามบูตและเรียกใช้การติดตั้งจริงของ Debian ใน Virtualbox บน Windows 10 เนื่องจาก virtualbox ให้ข้อผิดพลาดนี้แก่ฉัน: ฉันคิดว่าจะทำให้ออฟไลน์เป็นดิสก์ 0 ที่ติดตั้งเดเบียน แต่ Windows 10 ปฏิเสธที่จะทำเช่นนั้น ฉันลองใช้ PowerShell แต่ก็พูดว่า: PS C: \ Users \ mariuccio> set-disk 0 -isOffline $ true set-disk: ไม่รองรับการใช้งานบนดิสก์ที่สำคัญ รหัสกิจกรรม: {de8e4c02-100c-456f-82ec-f346d8454447} ในริกา: 1 คัน: 1 set-disk 0 -isOffline $ true ~~~~~~~~~~~~~~~~~~~~~~~~~~~ CategoryInfo: NotSpecified: (StorageWMI: ROOT / …

0
วิธีทำให้โปรแกรมแสดงบนจอแสดงผลเสมือนที่กำหนดใน Windows 10
อย่างที่บางคนรู้ในลีนุกซ์คุณสามารถเปิดโปรแกรมได้โดยตรงบนหน้าจอเฉพาะโดยการส่งออกตัวแปรexport DISPLAY=:0.0แล้วเริ่มโปรแกรม เนื่องจาก Windows 10 ยังรวมการแสดงผลหลายจอด้วย (ฉันไม่ได้หมายถึงจอที่สองฉันหมายถึงจอแสดงผลที่สอง / เดสก์ท็อปเสมือนจริง) สิ่งนี้สามารถทำได้บน Windows เช่นกัน? ฉันจะทำอย่างไร ฉันต้องการที่จะบรรลุสิ่งนี้โดยเฉพาะอย่างยิ่งจากบรรทัดคำสั่งหรืองานที่กำหนด โซลูชั่น Powershell, batch, WMI ได้รับการต้อนรับและชื่นชมอย่างดี AUTOit, Gui มาโครอัตโนมัติ - ไม่มากนัก

1
เพิ่มแฮชด้วยคีย์ที่ซ้ำกันในอาร์เรย์
ฉันมีพวงของแฮชใน PowerShell ด้วยปุ่มเหมือนกัน แม้ว่าการสร้างชุดของแฮชที่มีคีย์แตกต่างกันนั้นมีความตรงไปตรงมาและพูดคุยกันอย่างละเอียดบนอินเทอร์เน็ต แต่ฉันไม่สามารถหาข้อมูลใด ๆ เกี่ยวกับการเพิ่มแฮชในอาร์เรย์ด้วยคีย์ซ้ำ ข้อผิดพลาดสองข้อที่ฉันได้รับเมื่อพยายามทำสิ่งนี้: Item has already been added. Key in dictionary: 'time' Key being added: 'time' A hash table can only be added to another hash table.

2
ทำไม PowerShell ถึงไม่สามารถอัปเดตไดเรกทอรีของตัวเองได้
เหตุใด PowerShell จึงไม่สามารถเข้าถึงไดเรกทอรีความช่วยเหลือของตนเองได้ PS C:\WINDOWS\system32> Update-Help Update-Help : Failed to update Help for the module(s) 'Microsoft.PowerShell.Operation.Validation' with UI culture(s) {en-US} : Access to the path 'C:\Program Files\WindowsPowerShell\Modules\Microsoft.PowerShell.Operation.Validation\1.0.1\en-US' is denied. At line:1 char:1 + Update-Help + ~~~~~~~~~~~ + CategoryInfo : InvalidOperation: (:) [Update-Help], Exception + FullyQualifiedErrorId : UnknownErrorId,Microsoft.PowerShell.Commands.UpdateHelpCommand นี่คือ Windows 10 …

0
ไม่สามารถเรียกใช้โปรแกรมที่มีอาร์กิวเมนต์ที่ยกมาจากสคริปต์ แต่สามารถเรียกใช้โปรแกรมได้โดยตรงจากบรรทัดคำสั่ง
ฉันมีสคริปต์นี้ (ซึ่งเป็นชื่อแทนydlในโปรไฟล์ของฉัน): param( [string]$url, [switch]$vid=$false ) $ydl = "D:\youtube-dl\youtube-dl.exe" $mp3conf = "--config-location `"D:/youtube-dl/config-mp3.txt`"" $vidconf = "--config-location `"D:/youtube-dl/config-mp4.txt`"" $finalArgs = $mp3conf If ($vid) { $finalArgs = $vidconf } Write-Host $ydl $url $finalArgs & $ydl $url $finalArgs Powershell เอาท์พุท: PS D:\> ydl https://www.youtube.com/watch?v=c_7Mcb6iLN0 D:\youtube-dl\youtube-dl.exe https://www.youtube.com/watch?v=123 --config-location "D:/youtube-dl/config-mp3.txt" Usage: youtube-dl.exe [OPTIONS] URL [URL...] …

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