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

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

0
powershell / cmd หายไปทันทีเมื่อรันโปรแกรม cli แต่มันยังทำงาน
ฉันมีปัญหากับบรรทัดคำสั่งของฉัน บางครั้งเมื่อฉันเรียกใช้สคริปต์บางอย่าง powershell / cmd ของฉันยังคงปิด / หยุดทำงาน แต่ฉันรู้ว่าโปรแกรมกำลังทำงานอยู่เพราะเมื่อฉันเปิดตัวจัดการงานของฉันโปรแกรมเหล่านั้นอยู่ในพื้นหลัง ฉันพยายามทั้งสองด้วย cmd / powershell และพวกเขาทั้งสองทำให้ฉันมีปัญหาลองใช้ที่ไม่ใช่ผู้ดูแลระบบ / ผู้ดูแลระบบ ตัวอย่างการเรียกใช้: composer install จะติดตั้งรายการและติดตั้งรายการอ้างอิงหลังจากนั้นสักครู่มันจะปิด cmd / powershell ยังเกิดขึ้นเมื่อทำงาน npm install -g gulpjs/gulp-cli มันปิด cmd / powershell แต่ในพื้นหลังมันใช้งานโหนดและคุณสามารถเห็นได้อย่างชัดเจนว่าโฟลเดอร์ถังขยะ npm เติมไฟล์สำหรับ gulp-cli นอกจากนี้สิ่งนี้จะเกิดขึ้นเฉพาะเมื่อฉันใช้ cmd / powershell แต่ดูเหมือนว่าจะทำงานได้หากใช้ mintty (ทุบตีที่มาจาก Git) ฉันไม่ได้จริงๆที่จะแก้ไขปัญหานี้ความคิดใด ๆ ความนับถือ,

0
ไม่รวมโฟลเดอร์รายการที่กู้คืนได้จาก New-ComplianceSearch สำหรับผู้ใช้ที่ไม่ได้ใช้งาน
ขณะนี้ฉันกำลังพยายามแก้ไขปัญหาที่เรามีกับการเข้าถึงกล่องจดหมาย leaver เราใช้ใน cloud O365 และเรามีคำขอจำนวนมากสำหรับข้อมูลกล่องจดหมาย leaver เนื่องจากเรามีการดำเนินคดีค้างไว้เมื่อเรานำกล่องจดหมายกลับมาใช้การค้นหาเนื้อหาจึงมีขนาดใหญ่ ฉันกำลังพยายามแยกโฟลเดอร์รายการที่กู้คืนได้เพื่อลดขนาดของบิตเหล่านี้ แต่ยังไม่พบวิธีในการทำสิ่งนี้ ลิงค์นี้ https://stackoverflow.com/questions/45520444/exclude-recoverable-items-folder-from-new-compliancesearch ให้ความหวังกับฉัน แต่มันเป็นไปไม่ได้ที่จะเรียกใช้สคริปต์ในนั้นเพื่อนำ FolderID กลับมาสำหรับกล่องจดหมายที่ไม่ได้ใช้งาน มีวิธีนำกล่องจดหมายที่ไม่ได้ใช้งานกลับไปยัง PST และแยกโฟลเดอร์รายการที่กู้คืนได้หรือไม่

1
ลบคำสั่งคีย์ลัดจากทางลัด windows ที่ไม่รู้จัก
ชื่อไม่ชัดเจน แต่ฉันได้ลองเล่นกับแป้นพิมพ์ลัดที่พยายามหาวิธีเปิดสคริปต์ PowerShell ด้วยแป้นพิมพ์ลัด ฉันสร้างสคริปต์สร้างทางลัดไปยังสคริปต์ดังกล่าวแล้วเพิ่มแป้นพิมพ์ลัดลงในทางลัดสคริปต์นั้น หลังจากการทดลองใช้งานและข้อผิดพลาดในที่สุดฉันก็ใช้งานได้ดังนั้นฉันจึงลบสคริปต์ที่ไม่สามารถใช้งานได้ทั้งหมดและทางลัดออก ปัญหาที่ฉันมีตอนนี้คือ Ctrl + Alt + 2 เริ่มต้นอินสแตนซ์ PowerShell แม้ว่าฉันจะลบทางลัดเดิมด้วยคำสั่งคีย์ลัดเฉพาะนั้น (หรืออย่างนั้นฉันก็เชื่อ) สิ่งนี้ทำให้เป็นไปไม่ได้ที่จะเขียนเครื่องหมาย because เพราะมันเปิดอินสแตนซ์ PowerShell แทนเมื่อใช้ AltGr + 2 ฉันได้ลองสร้างทางลัดแยกต่างหากสำหรับโปรแกรมที่แยกต่างหากและใช้ Ctrl + Alt + 2 สำหรับสิ่งนั้นโดยหวังว่าจะเขียนทับช่องว่าง ของอินสแตนซ์ PowerShell แต่ไม่มีประโยชน์ มีวิธีใดที่จะทราบว่ามีทางลัดที่ผู้ใช้กำหนดในระบบปฏิบัติการของฉันหรือไม่? หรืออย่างน้อยหารายการรูปแบบของทางลัดที่ใช้ทั้งหมดภายในระบบปฏิบัติการ (Windows 10) แล้วแก้ไขจากที่นั่น ฉันรู้ว่ามันเป็นไปได้ในระดับแอปพลิเคชัน (เช่นทางลัดแก้ไข ภายใน ตัวอย่างเช่น Word หรือ Excel) แต่ฉันต้องการสิ่งที่คล้ายกันในระดับสากล วิธีการรีเซ็ตฮ็อตคีย์ทั่วโลกอาจใช้งานได้ แต่จะรีเซ็ตฮ็อตคีย์อื่นที่ได้รับมอบหมาย หากนี่เป็นวิธีเดียวแล้วฉันจะกัดกระสุนปืนลงบนอันนี้ …

2
เริ่มและหยุดบริการ Windows โดยใช้ PowerShell
ฉันใช้ทั้ง Apache (เป็นบริการ Windows) และ IIS 10 และต้องการให้สามารถเปิดหรือปิดบริการเหล่านี้แต่ละรายการเนื่องจากพวกเขาทั้งสองคว้าพอร์ต 80 และฉันไม่ต้องการกำหนดค่าให้ใช้ พอร์ตอื่น ดังนั้นฉันต้องการสร้างสคริปต์ PowerShell ที่หยุด IIS และเริ่ม Apache หรือในทางกลับกัน ฉันจะบรรลุสิ่งนี้ได้อย่างไร

1
POWERSHELL - ไม่พบเส้นทางการคัดลอก
กำลังพยายามสร้างสคริปต์เพื่อคัดลอกไฟล์ไปยังหลายเครื่องด้วย servers.txt ที่มีชื่อเซิร์ฟเวอร์หลายชื่อ นี่คือรหัสที่ฉันเคยใช้ # This file contains the list of servers you want to copy files/folders to $a = Get-Content "C:\0000_scripts\servers.txt" # This is the file/folder(s) you want to copy to the servers in the $computer variable $source = "C:\0000_scripts\a\*.*" # The destination location you want the file/folder(s) to …

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

1
มีทุบตีเทียบเท่ากับวัตถุท่อ PowerShell?
ใน PowerShell ฉันสามารถเรียกใช้สิ่งนี้ในหนึ่งซับ Get-ChildItem | foreach { if ($_ -match '.+?\.py$' -eq $true) { $_ | Do-Thing -WithFile } if ($_ -match '.+?\.pdf$' -eq $true) { $_ | Do-Thing -WithOtherFile } } ชอบมาก Get-ChildItem | foreach { if ($_ -match '.+?\.py$' -eq $true) { $_ | Do-Thing -WithFile } if …

2
ทำไมสคริปต์นี้ให้ฉันป้อน InputObject
ฉันมีสคริปต์ที่ควรจะแสดงรายการโปรแกรมทั้งหมดที่ติดตั้งไว้ในเครื่อง ฉันต้องการส่งออกเป็นไฟล์ให้ฉัน ฉันได้รับข้อผิดพลาด: จัดหาค่าสำหรับพารามิเตอร์ต่อไปนี้: InputObject: ฉันทำอะไรบางอย่างกับสคริปต์ของฉันด้านล่าง ฉันยังใหม่กับ powershell และมีบางอย่างผิดปกติกับไวยากรณ์ที่ฉันไม่ได้รับ ฉันจะแก้ไขปัญหานี้ได้อย่างไร $loc = Get-ChildItem HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall $names = $loc |foreach-object {Get-ItemProperty $_.PsPath} foreach ($name in $names) { Write-Host $name.Displayname } Export-Csv c:\products.txt

3
งานอัตโนมัติใน Windows 7
ฉันต้องการความช่วยเหลือในการทำงานบางอย่างโดยอัตโนมัติใน XP ส่วนใหญ่เป็นลักษณะคอนโซล ตอนนี้ใน Linux นี่คงไม่ยากที่จะดึงออกมา แต่ฉันไม่คุ้นเคยกับความสามารถในการทำงานอัตโนมัติของ Windows มีสคริปต์ที่ฉันต้องการ ฉันคิดว่ามีวิธีการสคริปต์นี้ใน Windows 7 โดยใช้ Microsoft-DOS แต่ฉันไม่แน่ใจ เพียงเพื่อความชัดเจนฉันแค่แสดงรายการสิ่งที่ฉันจะต้องทำเพื่อให้คุณรู้ว่าชุดคุณลักษณะที่ฉันต้องการฉันไม่ได้ขอให้เขียนสคริปต์ให้ฉัน สคริปต์ # 1 1. โฟลเดอร์ซิป 2. เพิ่มส่วนที่เหลือของโฟลเดอร์รวมถึงรหัสก่อนหน้านี้ใน SVN 3. เปิด Zip และเขียนทับบางโฟลเดอร์ สคริปต์ # 2 1. คัดลอกไฟล์ไปยังโฟลเดอร์เฉพาะ 2. เรียกใช้ไฟล์นั้นในเบราว์เซอร์ ดังนั้นเครื่องมือใดที่จะอนุญาตให้ฉันทำงานเหล่านี้โดยอัตโนมัติ


0
การสแกนอัตโนมัติของสคริปต์และบันทึกอัตโนมัติ?
ฉันมีสแกนเนอร์ EPSON Perfection V370 Photo และฉันพยายามสแกนหลายครั้งต่อวันเป็นเวลาหนึ่งเดือนโดยอัตโนมัติ (ให้พูดทุก ๆ ชั่วโมงหรือมากกว่านั้นฉันต้องการควบคุมเวลา) และบันทึกการสแกนโดยอัตโนมัติ เป็น tiff หรือ jpeg ที่มีชื่อรวมถึงเวลาที่แน่นอนในการสแกนที่เกิดขึ้น ฉันไม่มีประสบการณ์ในการสร้างไฟล์สคริปต์ดังนั้นหากคุณสามารถอธิบายสิ่งทั้งหมดและแสดงไฟล์ที่ฉันใช้มันจะได้รับการชื่นชมอย่างมาก จนถึงตอนนี้ฉันได้ใช้ Powershell แต่ไม่สามารถทำให้ชื่อไฟล์เป็นเวลาที่แน่นอน: $deviceManager = new-object -ComObject WIA.DeviceManager $device = $deviceManager.DeviceInfos.Item(1).Connect() $imageProcess = new-object -ComObject WIA.ImageProcess $wiaFormatBMP = "{B96B3CAB-0728-11D3-9D7B-0000F81EF32E}" $wiaFormatPNG = "{B96B3CAF-0728-11D3-9D7B-0000F81EF32E}" $wiaFormatGIF = "{B96B3CB0-0728-11D3-9D7B-0000F81EF32E}" $wiaFormatJPEG = "{B96B3CAE-0728-11D3-9D7B-0000F81EF32E}" $wiaFormatTIFF = "{B96B3CB1-0728-11D3-9D7B-0000F81EF32E}" foreach ($item in …

1
สคริปต์ของฉันจะกำหนดได้อย่างไรว่าการติดตั้ง Windows Installer update (MSP) บางอย่างสำเร็จหรือล้มเหลว
ฉันเขียนสคริปต์ PowerShell (ดูด้านล่าง) เพื่อติดตั้งการอัปเดต MSP จำนวนมาก (ไฟล์ที่มี.mspนามสกุล, ปรับใช้ผ่าน Windows Installer) อย่างใดอย่างหนึ่ง ตอนนี้ฉันต้องการให้สคริปต์นี้บอกฉันด้วยเมื่อการติดตั้งอัพเดต MSP ล้มเหลว สิ่งที่ฉันได้ลอง: การค้นหารหัสข้อผิดพลาด มีสองวิธี: หนึ่งคือการได้รับรหัสข้อผิดพลาดโดยใช้ $ LASTEXITCODE หลังจากทำงานMSIEXEC.EXEโดยตรง มันน่าเบื่อ อื่น ๆ ที่เกี่ยวข้องกับการเพิ่ม-PassThruสวิทช์ในการStart-Processจัดเก็บผลของมันเป็นวัตถุพูดและอ่านรหัสข้อผิดพลาดโดยใช้$a $a.ExitCodeอย่างนี้: $a=Start-Process msiexec.exe -ArgumentList "/p `"$MspRelPath`" /log `"$LogRelPath`" /passive /norestart" -Wait -PassThru Write-Host $a.ExitCode ไม่ได้พิสูจน์ว่ามีประโยชน์ ดูเหมือนว่าmsiexec.exeจะส่งกลับศูนย์เสมอเป็นรหัสทางออก ในกรณีที่ใครสนใจนี่คือสคริปต์: param ( [parameter(mandatory=$false)][Switch]$BypassAdminPrompt ) Try { Clear-Host # …

1
วิธีที่เชื่อถือได้ในการเปิดกลุ่ม URL โดยใช้ Google Chrome บน Windows 10 จากบรรทัดคำสั่ง (แบทช์หรือ PowerShell)
ข้อมูลโค้ดของฉัน (เชลล์ Windows 10 cmd) set s1="https://www.bbc.co.uk/radio4/programmes/schedules#on-now" set s2="https://www.bbc.co.uk/radio4extra/programmes/schedules#on-now" set s3="https://www.bbc.co.uk/iplayer/guide" set s4="http://192.168.1.33:1935" start chrome --new-tab %s1% %s2% %s3% %s4% บางครั้งก็ใช้งานได้ ในบางครั้ง Chrome จะเปิดไซต์แรกและหยุดชั่วคราวหรือเปิดสองไซต์แรกไม่ใช่ส่วนที่เหลือ ฉันต้องการวิธีที่เชื่อถือได้ในการทำเช่นนี้โดยใช้เฉพาะ Windows cmd หรือ PowerShell เท่านั้นโดยไม่มีส่วนขยายหรือเครื่องมือภายนอก

1
ตัวแปรสภาพแวดล้อม PowerShell หายไป
ฉันมีสถานการณ์ หนึ่งในตัวแปรสภาพแวดล้อมของ PowerShell หายไปหลายครั้ง ฉันต้องเพิ่มด้วยตนเอง ( $env:path +=';C:\Program Files\Docker Toolbox') และรีบูตเดสก์ท็อปของฉัน PATHผมแน่ใจว่าเส้นทางที่จะรวมอยู่ในตัวแปรสภาพแวดล้อม Windows แม้ว่ามันจะหายไปใน PowerShell แต่ก็ยังคงอยู่ในระบบ ทำไม?

1
จะแยกข้อความบางส่วนโดยใช้ PowerShell ได้อย่างไร?
ฉันได้สร้างไฟล์ bat เพื่อรับไอพีสาธารณะของฉันและเขียนมันลงในไฟล์ txt; powershell -Command "curl icanhazip.com > PATH/output.txt" powershell -Command "Start-Sleep -s 1" powershell -Command "(Get-Content PATH/output.txt)[4] > PATH/ip.txt" บรรทัดแรกได้รับข้อมูลจำนวนมากซึ่งมี IP สาธารณะของฉันที่บรรทัดที่สี่ของไฟล์เอาต์พุต บรรทัดที่สามรับบรรทัดที่สี่จากไฟล์เอาต์พุตและเขียนไปยังอีกบรรทัด ถ้าอย่างนั้นฉันก็เหลือเรื่องนี้: Content : xxx.xxx.xxx.xxx ฉันต้องการแยกเฉพาะไอพี กล่าวอีกนัยหนึ่งฉันต้องการลบ Content : จากไฟล์ข้อความ ส่วนนี้จะไม่เปลี่ยนแปลงและมีจำนวนตัวอักษรคงที่ อาจมีรหัสสำหรับการลบอักขระจำนวนมากตั้งแต่ต้นข้อความใช่ไหม ฉันไม่พบคำสั่งดังกล่าว ฉันจะทำสิ่งนั้นได้อย่างไรโดยไม่ใช้อะไรนอกจากคำสั่ง bat และคำสั่ง powershell ฉันอยากได้ไฟล์นี้ทั้งหมดในไฟล์แบ็ตเดียว (ฉันไม่เข้าใจ vbs และทำให้ฉันกลัว) โปรดยิงความคิดของคุณมาที่ฉันสิ ขอบคุณล่วงหน้า. :)

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