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

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

1
การลบสมาชิกกลุ่มโฆษณาตามการเป็นสมาชิกของกลุ่มบางกลุ่มใน OU เดียวกัน
กลุ่มโฆษณาของเราสำหรับการกรอง Websense ได้รับการตั้งค่าโดยมีความยืดหยุ่นน้อยมากสำหรับการจัดการนโยบาย มีเพียงสองกลุ่มสำหรับหมวดหมู่การท่องเว็บ "อนุญาตทั้งหมด" ตอนนี้ฉันต้องการสร้างมากกว่า 20 กลุ่มและเพิ่มผู้ใช้ในกลุ่มแผนกของตนเองซึ่งฝ่ายทรัพยากรบุคคลให้ฉันด้วย นี่คือส่วนที่ง่าย แต่ฉันต้องลบผู้ใช้เหล่านี้ออกจากกลุ่มเก่าของพวกเขาและตรวจสอบให้แน่ใจว่าไม่มีการเป็นสมาชิกของกลุ่มที่ได้รับ websense ฉันไม่สามารถลบกลุ่มเก่าเพียงอย่างเดียวมีผู้ใช้จำนวนมากในนั้นที่ได้รับสิทธิ์ทางอินเทอร์เน็ตและไม่ได้เป็นสมาชิกของ HR บางส่วนที่ให้ฉันซึ่งเป็นผลมาจากโครงสร้างองค์กรแปลก ๆ ฉันไม่ได้เป็นผู้ดูแลระบบโฆษณาเลย แต่คุณรู้ว่าคำว่า "ใครต้องทำ" :) ความช่วยเหลือเกี่ยวกับสคริปต์จะได้รับการชื่นชม!

1
การใช้ atom เป็นตัวแก้ไขข้อความสำหรับ Github สำหรับ Windows
คำถามเล็ก ๆ ฉันใช้ตัวแก้ไขข้อความ atom วันนี้ฉันติดตั้ง Github สำหรับ windows เนื่องจากข้อความยืนยันทั้งหมดของฉันถูกเรียกใช้งาน notepad.exe ฉันจึงใช้บรรทัดต่อไปนี้เพื่อเปลี่ยนโปรแกรมแก้ไขส่วนกลาง: git config --global core.editor atom ตอนนี้ทุกครั้งที่ฉันพยายามจะทำอะไรสักอย่างเริ่มต้นอะตอมและเปิดไฟล์ที่ระบุ แต่ในหน้าต่าง PowerShell ของฉัน git พูดว่า: Aborting commit due to empty commit message. มีการตั้งค่าคำแนะนำหรือการตั้งค่าเพื่อให้อะตอมทำงานกับ github สำหรับ windows หรือไม่ ขอบคุณ

1
PowerShell - เปลี่ยนชื่อ PipelineVariable
ใน PowerShell คุณสามารถเปลี่ยนชื่อของตัวแปรที่ใช้เป็นรายการในบล็อกวนซ้ำเช่น: dir -recurse *.snippet -OutVariable snippets $snippets | Where-Object -PipelineVariable fn { $fn.Length -ge 6000 } | select FullName รหัสนั้นใช้ไม่ได้ แต่คุณได้รับแนวคิด ฉันคิดว่ามันไม่ทำงานเพราะ-PipelineVariableจะต้องระบุอาร์กิวเมนต์ใน CmdLet ก่อนหน้า คำถามของฉันคือ CmdLet ที่ฉันใช้เพื่อไพพ์เนื้อหาของ$snippets? นั่นคือเมื่อฉันรัน$snippetsมันโดยปริยายเพียงแค่กระจายเนื้อหาออกไปป์ไลน์ แต่ CmdLet ทำอะไรได้บ้าง ฉันได้ลองมาหลายครั้งแล้วและดูเหมือนว่าจะส่งออกอาร์เรย์บนหน้าจอ แต่เมื่อส่งเข้าไปในWhere-Objectส่วนคำสั่งที่ใช้งานไม่ได้มันก็เหมือนกับการดูที่อินสแตนซ์วัตถุอาร์เรย์ด้านนอกไม่ใช่แต่ละรายการ ลุค

2
Powershell สคริปต์เพื่อเรียกใช้ไฟล์. reg บนคอมพิวเตอร์ระยะไกล
ฉันได้ลองสร้างไฟล์แบตช์โดยใช้ PsExec เพื่ออัปเดตการตั้งค่ารีจิสตรีบนคอมพิวเตอร์ระยะไกลไม่สำเร็จดังนั้นตอนนี้ฉันพยายามใช้ Powershell ฉันได้รวบรวมสคริปต์ต่อไปนี้โดยใช้ Google และเล่นกับสคริปต์ที่มีอยู่ในฟอรัมต่างๆ $myWindowsID=[System.Security.Principal.WindowsIdentity]::GetCurrent() $myWindowsPrincipal=new-object System.Security.Principal.WindowsPrincipal($myWindowsID) $adminRole=[System.Security.Principal.WindowsBuiltInRole]::Administrator if ($myWindowsPrincipal.IsInRole($adminRole)) { $Host.UI.RawUI.WindowTitle = $myInvocation.MyCommand.Definition + "(Elevated)" $Host.UI.RawUI.BackgroundColor = "Darkred" clear-host } else { $newProcess = new-object System.Diagnostics.ProcessStartInfo "PowerShell"; $newProcess.Arguments = $myInvocation.MyCommand.Definition; $newProcess.Verb = "runas"; [System.Diagnostics.Process]::Start($newProcess); exit } winrm quickconfig $servers = Get-Content c:\temp\servers.txt $HostedRegFile = "temp\OfficeDocumentfix.reg" foreach …

2
โหลด explorer จาก powershell ด้วยสิทธิ์ต่ำ
ฉันมีสคริปต์ manteinance Powershell ที่ทำงานในลักษณะนี้: kill explorer do things restart explorer สคริปต์นี้รันในโหมดยกระดับ แต่ฉันจะต้องเริ่มการทำงานของ explorer ใหม่โดยไม่ต้องมีสิทธิ์ระดับผู้ดูแล ความคิดใด ๆ ขอบคุณ

2
รับขนาดไดเร็กทอรีผ่าน SFTP
ลูกค้ามี websever ที่มีการจัดการ บนเซิร์ฟเวอร์นี้เป็นสคริปต์อีคอมเมิร์ซและบางส่วนของสคริปต์ทิ้งข้อมูลสำรองทุกสัปดาห์ การสำรองข้อมูลจะถูกเก็บไว้บนเว็บเซิร์ฟเวอร์ (ไม่ได้อยู่ในเส้นทาง HTTP) ISP ใช้เวลาทำสำเนาและลูกค้าของฉันก็ต้องการทำสำเนาด้วย สิ่งที่ฉันพยายามทำคือก่อนที่จะดาวน์โหลดไฟล์ฉันต้องการคำนวณขนาดไดเรกทอรีสำรอง - แต่การเข้าถึงเพียงอย่างเดียวที่ฉันมีคือผ่าน SFTP เป็นไปได้หรือไม่ที่จะได้ขนาดไดเรกทอรีจากนั้นใช้สิ่งนี้ใน PowerShell Script หมายเหตุ: ฉันได้เขียนสคริปต์ดาวน์โหลดอัตโนมัติใน PowerShell และฉันต้องการที่จะขยาย ยกโทษให้ฉันถ้านี่ฟังดูคลุมเครือฉันสามารถให้ข้อมูลเพิ่มเติมหากคุณมีคำถามเฉพาะเจาะจง

1
ไม่สามารถติดตั้ง Git สำหรับ Windows หลังจากมีปัญหากับการติดตั้งก่อนหน้านี้
TL; DR: ฉันจะลบการติดตั้ง Windows Git ที่ยังไม่สมบูรณ์ทั้งหมดได้อย่างไร (เพื่อให้สามารถเริ่มต้นใหม่ได้) ดูเหมือนว่าบางอย่างจากการติดตั้งก่อนหน้านี้กำลังป้องกันสิ่งใหม่ โฟลเดอร์ "Program Files (x86) \ Git" ถูกลบไปแล้ว แต่ไม่มีการเปลี่ยนแปลงใด ๆ เมื่อใช้ Windows 10 Pro 64 บิตฉันได้ติดตั้งคอมไพล์แล้วและก็ใช้งานได้ดี มันได้รับการติดตั้งผ่าน chocolatey ดังนั้นฉันมีgit, git.installและposhgitแพคเกจ ฉันไม่ได้ใช้ gitbash, gui, หรือการรวมเมนู - ฉันใช้มันผ่าน powershell ฉันไม่ใช่ผู้ใช้คอมไพล์ขั้นสูง แต่ฉันสามารถดำเนินการขั้นพื้นฐานได้ ทันใดนั้นคำสั่ง git ใด ๆ (โคลน, เริ่มต้น, เพิ่ม, ดัน) จะไม่ดำเนินการ แต่ PowerShell ก็จะไม่ตอบสนอง ฉันถอนการติดตั้งแพคเกจทั้งหมดแล้วรีสตาร์ทคอมพิวเตอร์และลองติดตั้งอีกครั้ง ตัวติดตั้งช็อคโกแลตแฮงค์ขณะที่พยายามติดตั้งgit.installในขณะที่มันแสดง …

1
ติดตั้ง Imdisk จากระยะไกล
ฉันพยายามทำให้การติดตั้งระยะไกลของ ImDisk เป็นไปโดยอัตโนมัติ ฉันเริ่มต้นด้วยการทดลองในท้องถิ่น ในตอนแรกเพื่อหลีกเลี่ยงปัญหา kerberos double hop ฉันคัดลอก imdiskinst.exe จาก UNC ไปยังโฟลเดอร์ภายใน C:\temp\. จากนั้นฉันก็เรียกใช้ powershell: $imdiskinstPath = "C:\temp\imdiskinst.exe" Unblock-File $imdiskinstPath Invoke-Command -Computername localhost -Scriptblock { $env:IMDISK_SILENT_SETUP="1"; Start-Process -FilePath $imdiskinstPath -ArgumentList "-y" -Wait -PassThru } และการติดตั้งจะดำเนินการบนเซิร์ฟเวอร์ระยะไกลจริงๆ - ฉันสามารถดูได้จาก ProcessExplorer ถ้าไม่ตั้ง IMDISK_SILENT_SETUP ดังนั้นในตอนท้ายมันจะแจ้งเกี่ยวกับความสำเร็จ แต่เมื่อกระบวนการเสร็จสิ้นแล้วไม่ได้ติดตั้ง ImDisk และถ้าฉันรันสคริปต์เดียวกันโดยไม่ -Computername localhost ฉันได้ทำไปแล้ว ฉันได้ลองใช้แบบโลคัลจากระยะไกลโดยใช้ PsExec …

1
ไดรฟ์เครือข่ายที่แมปของ PowerShell ไม่คงอยู่
ฉันกำลังพยายามสร้างสคริปต์ที่แมปไดรฟ์เครือข่ายเมื่อใดก็ตามที่ฉันเชื่อมต่อกับ VPN จากนั้นยกเลิกการเชื่อมต่อไดรฟ์เมื่อฉันตัดการเชื่อมต่อจาก VPN โดยใช้ Task Scheduler เพื่อเปิดใช้งานสคริปต์เมื่อมีการสร้างเหตุการณ์ มันเปิดตัวสคริปต์ซึ่งสร้างไดรฟ์ แต่เมื่อ Powershell ปิดมันจะยกเลิกการเชื่อมต่อไดรฟ์ดังนั้นจึงเปิดอยู่เพียงไม่กี่วินาทีจากนั้นปิดอีกครั้ง ฉันมีการระบุพารามิเตอร์คงอยู่ แต่ไม่คงอยู่ ใหม่ PSDrive- ชื่อ "N" -PSProvider FileSystem -Root \ (Serverpath) \ ndrive - ผู้ใช้

0
ใช้คำสั่ง Powershell ใน Windows CMD และรับเอาท์พุทสี
เมื่อฉันเรียกใช้คำสั่งนี้ใน Powershell มันจะแสดงผลด้วยสี (curl wttr.in -UserAgent curl).Content อย่างไรก็ตามเมื่อฉันรันคำสั่งเดียวกันใน Windows CMD ฉันจะได้ผลลัพธ์เดียวกัน แต่ไม่มีสี powershell (curl wttr.in -UserAgent curl).Content ฉันจะรันคำสั่ง Powershell ใน Windows CMD และรับผลลัพธ์ได้อย่างไร ในสี มันจะแสดงใน Powershell?

1
ค้นหาชื่อคอมพิวเตอร์ที่เชื่อมต่อกับเครือข่ายเดียวกัน
ฉันมีคอมพิวเตอร์สองเครื่องเชื่อมต่อกับเครือข่ายเดียวกัน หนึ่งคือของฉันและมีอีกหนึ่ง ฉันต้องการค้นหาชื่อของพีซีเครื่องอื่นโดยใช้บรรทัดคำสั่ง โปรดทราบ: มีเพียงพีซีสองเครื่องที่เชื่อมต่อกับเครือข่าย ที่อยู่ IPv4 IP ของพีซีของฉันคือ 192.168.0.2 IPv4 IP address ของพีซีอื่นคือ 192.168.0.1 พวกเขาทั้งสองมี Windows 7, 32-Bit ฉันไม่เพียงแค่ต้องค้นหาชื่อฉันต้องเก็บไว้ในตัวแปรเพื่อใช้ในสคริปต์แบทช์ของฉันในภายหลัง บันทึก: อย่าให้รหัสใด ๆ กับฉันเพราะ Stack Exchange ไม่ใช่บริการเขียนโค้ดฟรี แต่อย่างน้อยโปรดบอกเค้าโครงของขั้นตอนที่จำเป็นให้ฉัน

2
คำจำกัดความของฟังก์ชั่น PowerShell ควรอยู่ที่ไหนเพื่อให้ได้มาโดยอัตโนมัติ
รับฟังก์ชั่น PowerShell อย่างง่าย ๆ : function gpg { C:\Program files\GNU\GnuPG\gpgcmd.exe $args } ฉันควรนิยามฟังก์ชั่นนี้ไว้ที่ไหน gpg พร้อมใช้งานในคำสั่ง PowerShell หรือไม่

2
สคริปต์ที่ดำเนินการระยะไกล Powershell ไม่เริ่ม disk2vhd
ฉันสร้างสคริปต์เพื่อสำรองข้อมูล VMs บน CSV ซึ่งใช้งานได้ดียกเว้นว่าฉันไม่สามารถเรียกใช้ disk2vhd.exe สคริปต์ทำงานจากเซิร์ฟเวอร์ที่ติดตั้ง windows 2008 เนื่องจาก VMs จำนวนมากของเราใช้ Windows 2003 (โดยไม่มี PS) ฉันจึงต้องทำทุกอย่างให้ยุ่งยาก สิ่งแรกที่ฉันพยายามคือสร้างไฟล์แบตช์และเรียกใช้งานด้วย WMI ไฟล์แบตช์จะถูกดำเนินการแน่นอน แต่อย่างใด disk2vhd ไม่ได้เริ่ม โดยวิธีการคำสั่งที่ฉันใช้เพื่อเริ่ม disk2vhd ทำงานได้อย่างสมบูรณ์เมื่อฉันคัดลอกลงในคอนโซล cmd บน VM โดยตรง ฉันก็ลองใช้ psexec และผ่านคำสั่งนี้เท่านั้น (คำสั่ง cmd / c $) ไม่มีอะไรอีกแล้ว นี่อาจเป็นปัญหากับ UAC หรือการอนุญาตหรือไม่


0
กำหนดค่า UWF ผ่าน PowerShell DSC
มีวิธีใดบ้างในการกำหนดค่า Universal Write Filter ของ Windows 10 ผ่าน Powershell DSC (Desired State Configuration) นั่นคือ กำหนดค่าการยกเว้นเปิด / ปิดการใช้งาน ฯลฯ ฉันยังไม่พบทรัพยากร DSC ใด ๆ

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