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

เชลล์แบบโต้ตอบสคริปต์การเขียนโปรแกรมและภาษาและสภาพแวดล้อมโดยรอบจาก Microsoft ที่ใช้กันทั่วไปโดยผู้ดูแลระบบที่จัดการซอฟต์แวร์ Microsoft (รวมถึง Windows, Exchange, SharePoint และบริการคลาวด์ Azure และ Office 365) PowerShell จะถูกรวมไว้โดยค่าเริ่มต้นกับ Windows และรับช่วงต่อจากภาษาก่อนหน้าเช่น VB Script

7
Powershell: ฉันจะสอบถาม pwdLastSet และทำให้มันมีเหตุผลได้อย่างไร
ฉันต้องเปลี่ยนรหัสผ่านล่าสุดสำหรับกลุ่มบัญชีในกลุ่มความปลอดภัย Active Directory และฉันรู้สึกว่านี่เป็นสิ่งที่ PowerShell ควรจะทำได้ ตอนนี้ฉันติดอยู่ที่วิธีอ่านแอตทริบิวต์ pwdLastSet จากบัญชีโฆษณาที่ฉันกำลังดูอยู่ แม้แต่การทำอะไรง่ายๆอย่างนี้: [adsi] "LDAP://cn=user1,ou=Staff,ou=User Accounts,dc=ramalamadingdong,dc=net" | Format-List * ให้ผลลัพธ์สำหรับ pwdLastSet ที่ปรากฏดังนี้: pwdLastSet : {System.__ComObject} ฉันรู้สึกว่าฉันไปผิดทางดังนั้นวิธีที่ดีที่สุดในการสืบค้นแล้วจัดรูปแบบผลลัพธ์ (ค่าขึ้นอยู่กับ Windows Epoch และไม่สามารถอ่านได้โดยมนุษย์) ของแอตทริบิวต์ pwdLastSet?

5
ติดตั้ง Windows Management Framework รุ่นใด
คุณจะตรวจสอบว่า Windows Management Framework (WMF) ติดตั้งรุ่นใดได้อย่างไร ดูเหมือนว่ามันควรจะเป็นเรื่องง่ายที่จะรู้ แต่ฉันทำไม่ได้ แม้แต่ Googling คำถามในรุ่นต่าง ๆ ก็ยังไม่มีอะไรเกิดขึ้น มันไม่ได้อยู่ใน appwiz.cpl และ regedit ไม่พบสิ่งใดสำหรับ "Windows Management Framework" และพบสิ่งที่ไม่เกี่ยวข้องกับ "wmf" มากเกินไป ฉันแค่อยากรู้วิธีตรวจสอบเลยด้วยวิธีใดก็ตาม มีคีย์รีจิสทรีหรือไม่ มีไฟล์ที่ฉันสามารถตรวจสอบได้หรือไม่? อะไร ??? สิ่งที่ใกล้เคียงที่สุดที่ฉันสามารถหาได้คือที่นี่บน serverfault: วิธีการตรวจสอบ Windows Management Frameworkรุ่น คำถามนั้นเริ่มต้นเหมือนกัน แต่ดูเหมือนว่าจะขอวิธีการตรวจสอบเฉพาะที่จะใช้ใน GPO บางทีนั่นอาจเป็นเหตุผลว่าทำไมมันไม่มีคำตอบ มีคอมพิวเตอร์หลายเครื่องที่ฉันต้องการตรวจสอบนี้ สิ่งที่ฉันเริ่มต้นคือ Windows Server 2008 R2 Standard จะมีระบบปฏิบัติการ Windows Server อื่นเช่นกัน …

3
GUI ของ Windows Server 2012 หายไปหลังจากลบ Active Directory
ฉันขอโทษ แต่ฉันติดอยู่ในการหาปัญหาที่ฉันกำลังเผชิญอยู่ที่นี่ ฉันลบคุณสมบัติโฆษณาออกจากตัวจัดการเซิร์ฟเวอร์และหลังจากรีบูตเครื่องเซิร์ฟเวอร์ 2012 gui ของฉันไม่ได้อยู่ที่นั่นอีกต่อไป มีพรอมต์คำสั่งเดียวที่จะจัดการกับ ฉันพยายามเปิดใช้งาน back gui ตามเธรดที่ฉันพบ ฉันได้ SConfig แต่ตัวเลือกที่ 12 ซึ่งจะเรียกคืน gui ไม่ได้มี ฉันพยายามเรียกใช้ powershell แต่ได้ระบุว่า "PowerShell ไม่ได้รับการยอมรับว่าเป็นภายในหรือภายนอก ... " ฉันเปลี่ยนพา ธ ของฉันเป็น c: \ windows \ system32 \ windowspowershell \ v1.0 และลองเรียกใช้ powershell เพื่อค้นหาข้อความแสดงข้อผิดพลาดเดียวกัน ดังนั้นฉันจะเปิดใช้งานคุณลักษณะ gui ของเซิร์ฟเวอร์ 2012 ของฉันได้อย่างไร

8
วิธีการรวมสคริปต์ Powershell กับเวิร์กโฟลว์ที่ไม่ใช่ Windows
ฉันชอบกลิ่นของเครื่องจักรใหม่ในตอนเช้า ฉันกำลังสร้างเวิร์กโฟลว์การสร้างเครื่องจักรโดยอัตโนมัติซึ่งเกี่ยวข้องกับหลาย ๆ ระบบในโครงสร้างพื้นฐานของฉันซึ่งบางส่วนเกี่ยวข้องกับสคริปต์ Perl อายุ 15 ปีบนโฮสต์ Solaris, PXE Booting Linux system และ Powershell บน Windows Server 2008 ฉันสามารถเขียนสคริปต์แต่ละส่วนแต่ละส่วนได้และการรวมระบบอัตโนมัติของ Linux และ Unix นั้นค่อนข้างตรงไปตรงมา แต่ฉันรู้สึกว่าการผูกสคริปต์ Powershell เข้ากับกระบวนการอื่น ๆ ได้อย่างน่าเชื่อถือ ฉันต้องการถ้ากระบวนการเริ่มต้นบนโฮสต์ Linux เนื่องจากฉันคิดว่ามันจะจบลงด้วยการเป็นเว็บแอพพลิเคชั่นที่อาศัยอยู่บนเซิร์ฟเวอร์ Apache แต่ถ้ามันต้องเริ่มต้นบน Windows ฉันก็โอเคกับมันอย่างลังเล ฉันจะนึกคิดเหมือนสิ่งที่ตามสายของpsexecสำหรับลินุกซ์ที่จะทำงานกับ Windows แต่คำตอบว่าทิศทางจะปรากฏขึ้นเพื่อโดยCygwinและเท่าที่ฉันขอขอบคุณทุกการทำงานอย่างหนักที่พวกเขาใส่ในมันไม่เคยรู้สึกขวา , ถ้าคุณรู้ว่าฉันหมายถึงอะไร. มันยอดเยี่ยมสำหรับเดสก์ท็อปและมีฟังก์ชั่นการใช้งานมากมาย แต่ฉันรู้สึกว่าเซิร์ฟเวอร์ Windows ควรได้รับการปฏิบัติเหมือนเซิร์ฟเวอร์ Windows และไม่ใช่เครื่อง Unix ที่ถูกวางระเบิด (ซึ่งบังเอิญเป็นอาร์กิวเมนต์ของฉันกับเซิร์ฟเวอร์ …

1
ข้อผิดพลาดมาตรฐานเปลี่ยนเส้นทางไปยังตัวแปรใน PowerShell
ฉันต้องการสคริปต์ทดสอบ dcdiag เพื่อแจ้งเตือนฉันหากพบข้อผิดพลาด ฉันคิดว่าฉันสามารถทำสิ่งนี้ใน PowerShell ได้โดย ... $test = dcdiag 2>$err ฉันไม่มีข้อผิดพลาดจาก dcdiag ในขณะนี้ดังนั้นฉันจึงไม่สามารถทดสอบได้โดยตรง แต่ฉันเขียนสคริปต์ PowerShell อีกอันเพื่อส่งข้อยกเว้นหวังว่าฉันจะสามารถทดสอบวิธีนี้โดยใช้สคริปต์นั้น ไม่สามารถใช้วิธีการข้างต้นได้ดังนั้นฉันเลือกใช้ try { $test = dcdiag } catch { $err = $_.Exception.Message } มันใช้งานได้กับกรณีทดสอบของฉัน แต่ฉันไม่รู้ว่าจะรับข้อผิดพลาดมาตรฐานจาก dcdiag หรือไม่ ฉันควรบรรลุข้อผิดพลาดมาตรฐานที่ดีที่สุดในการเปลี่ยนเส้นทางไปยังตัวแปรใน PowerShell ได้อย่างไรเนื่องจากฉันต้องการใช้กับ dcdiag
16 powershell 

13
คำสั่งหรือสคริปต์ Powershell ที่คุณชื่นชอบสำหรับการบริหารระบบคืออะไร? [ปิด]
ตามที่เป็นอยู่ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบคำถาม & คำตอบของเรา เราคาดหวังคำตอบที่จะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้อาจเรียกร้องให้มีการถกเถียงโต้แย้งโต้แย้งหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงและเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อขอคำแนะนำ ปิดให้บริการใน8 ปีที่ผ่านมา ล็อคแล้ว คำถามและคำตอบของคำถามนี้ถูกล็อคเนื่องจากคำถามอยู่นอกหัวข้อ แต่มีความสำคัญทางประวัติศาสตร์ ขณะนี้ไม่ยอมรับคำตอบหรือการโต้ตอบใหม่ คำสั่ง Powershell ชั้นนำของคุณคืออะไร? มาทำรายการและโหวตสิ่งที่ดีที่สุดกันเถอะ!
16 powershell 

5
การเพิ่มผู้ใช้ไปยังกลุ่มผู้ดูแลระบบท้องถิ่นโดยใช้ powershell
ฉันต้องการใช้ PowerShell เพื่อเพิ่มผู้ใช้เฉพาะในกลุ่มผู้ดูแลระบบในเครื่อง ฉันจะเรียกใช้สคริปต์ PowerShell ในบริบทของผู้ใช้ที่มีสิทธิ์การดูแลระบบในเครื่องท้องถิ่น

3
วิธีค้นหาประวัติคำสั่ง Powershell จากเซสชันก่อนหน้า
ฉันใช้ Windows 10 ปัจจุบันกับ Powershell 5.1 บ่อยครั้งที่ฉันต้องการค้นหาคำสั่งที่ฉันใช้ในอดีตเพื่อแก้ไขและ / หรือเรียกใช้คำสั่งเหล่านั้นอีกครั้ง อย่างหลีกเลี่ยงไม่ได้คำสั่งที่ฉันกำลังมองหาถูกเรียกใช้ในหน้าต่าง PowerShell / เซสชันก่อนหน้าหรือที่แตกต่างกัน เมื่อฉันกด↑แป้นฉันสามารถเรียกดูคำสั่งมากมายหลายคำสั่งจากหลาย ๆ ครั้ง แต่เมื่อฉันพยายามค้นหาโดยใช้Get-History | Where-Object {$_.CommandLine -Like "*docker cp*"}ฉันไม่ได้ผลลัพธ์ การแก้ไขปัญหาเบื้องต้นพบว่าGet-Historyไม่แสดงอะไรจากเซสชันก่อนหน้าดังที่แสดงโดย: C:\Users\Me> Get-History Id CommandLine -- ----------- 1 Get-History | Where-Object {$_.CommandLine -Like "*docker cp*"} ฉันจะค้นหาคำสั่งก่อนหน้านี้ที่↑คีย์จัดให้มีการใช้Get-Historyหรือ Cmdlet อื่นได้อย่างไร

3
เรียกใช้เซสชัน PowerShell ระยะไกลโดยใช้ไฟล์ ps1 ที่บันทึกไว้
ฉันกำลังพยายามสร้างไฟล์สองสามไฟล์ที่ฉันสามารถบันทึกบนเดสก์ท็อปท้องถิ่นเพื่อเปิดเซสชัน PowerShell Windows Server 2008 และ Windows Server 2012 เป็นทั้งการติดตั้งเซิร์ฟเวอร์คอร์ ขณะนี้ฉันสามารถเปิด Powershell และพิมพ์: Enter-PSSession -computername Win2012SrvCore -credential administrator ใช้สิ่งนี้ฉันสามารถเชื่อมต่อและเรียกใช้คำสั่งและทุกอย่างยอดเยี่ยม สิ่งที่ฉันพยายามทำคือ: สร้างไฟล์ชื่อWin2012SrvCore1.ps1ดังต่อไปนี้: $passwd = convertto-securestring -AsPlainText -Force -String MYPASSWORD $cred = new-object -typename System.Management.Automation.PSCredential -argumentlist "administrator",$passwd $session = new-pssession -computername Win2012SrvCore -credential $cred สร้างไฟล์ชื่อWin2012SrvCore2.ps1ดังต่อไปนี้: PowerShell.exe -Command Enter-PSSession -computername Win2012SrvCore -credential administrator …

1
เปิดเครื่องรูดไฟล์ด้วย Powershell ใน Server 2012 Core
ฉันต้องการแตกไฟล์ด้วย powershell วิธีทั่วไปที่ฉันเห็นทุกคนทำคือการทำให้เชลล์กับสคริปต์โดยอัตโนมัติ $shellApplication = new-object -com shell.application $zipPackage = $shellApplication.NameSpace($zipfilename) $destinationFolder = $shellApplication.NameSpace($destination) $destinationFolder.CopyHere($zipPackage.Items()) สิ่งนี้จะไม่ทำงานสำหรับฉันเนื่องจาก Server Core ไม่มีเชลล์ดังนั้นจึงไม่มีระบบอัตโนมัติ สิ่งนี้ทำให้เกิดข้อผิดพลาด E_FAIL COM Powershell ดูเหมือนจะไม่สามารถทำด้วยตัวเองและถ้าฉันไปบุคคลที่สามฉันต้องคิดหาวิธีในการรับสคริปต์ยูทิลิตี้ไปยังเซิร์ฟเวอร์ในสถานที่แรก 7-Zip คือ go-to ของฉัน แต่ดูเหมือนว่าฉันจะไม่สามารถสคริปต์การดาวน์โหลดและติดตั้งได้ Sourceforge ทำให้ฉันถอยกลับไฟล์ HTML ฉันจะสคริปต์การคลายซิปไฟล์ zip ใน Server 2012 Core ได้อย่างไร

1
เหตุใดอัลกอริทึมของ MacTripleDes จึงไม่เสถียรใน PowerShell
ฉันกำลังตรวจสอบไฟล์แฮชโดยใช้อัลกอริทึมที่แตกต่างกันหลายใน PowerShell เมื่อฉันใช้ MacTripleDes ฉันจะได้รับแฮชที่แตกต่างกันเสมอ คนอื่น ๆ ทั้งหมดเช่น SHA256 หรือ MD5 ให้คำตอบที่เชื่อถือได้เสมอ คุณอาจสามารถทำซ้ำปัญหาบนคอมพิวเตอร์ของคุณเอง: "this is a test" | out-file test.txt get-filehash test.txt -algorithm sha256 get-filehash test.txt -algorithm sha256 get-filehash test.txt -algorithm mactripledes get-filehash test.txt -algorithm mactripledes ฉันได้รับค่าแฮชเดียวกันสำหรับสองแฮชแรก แต่ต่างกันสำหรับแฮชสองอัน MacTripleDes ควรถูกใช้แตกต่างกันหรือไม่? Algorithm Hash Path --------- ---- ---- SHA256 3F8CB2CDF03347329CAB0C80A6CE3B01EF3B17AF02E0F6E101FA67CE63729F51 C:\temp\test.txt SHA256 …
14 powershell  hash 

1
การใช้ defaultAuthenticationType กับ PowerShell Web Access
การเข้าถึงเว็บ PowerShell ให้คุณเลือกประเภทการตรวจสอบความถูกต้อง โดยค่าเริ่มต้นจะใช้ค่าซึ่งสิ้นสุดขึ้นเป็นDefault Negotiateฉันได้ตั้งค่า CredSSP เพื่ออนุญาตให้เข้าสู่เซิร์ฟเวอร์ PSWA ด้วย CredSSP เพื่อให้การรับรองความถูกต้องเครือข่ายทำงานจากภายในเซสชัน (หลีกเลี่ยงปัญหาการฟ้อนรำสองครั้ง อย่างไรก็ตามฉันต้องการให้ CredSSP เป็นตัวเลือกเริ่มต้นในหน้าลงชื่อเข้าใช้ ค้นหาตัวเลือกการกำหนดค่าสำหรับแอปพลิเคชันเว็บ PSWA ใน IIS มีหลายค่าที่สามารถตั้งค่าให้แทนที่ค่าเริ่มต้นได้ หนึ่งในนั้นคือเรียกว่าdefaultAuthenticationTypeซึ่งเป็นแต่มีการตั้งค่าstring0 ดูเหมือนว่าการตั้งค่าที่ถูกต้อง แต่ฉันไม่สามารถใช้งานได้ หากฉันตรวจสอบหน้าเว็บลงชื่อเข้าใช้ฉันจะเห็นว่ากล่องเลือกมีค่าต่อไปนี้: 0 Default 1 Basic 2 Negotiate 4 CredSSP 5 Digest 6 Kerberos 3 ที่ขาดหายไป. JosefZพบว่า3เป็นNegotiateWithImplicitCredentialไปตามหน้านี้แต่ใน Windows PowerShell 5.1.15063.966 สำหรับฉันว่าชื่อ / ค่าหายไปจาก enum หากฉันตั้งค่าdefaultAuthenticationTypeเป็นตัวเลขหน้าเว็บจะตั้งค่าเริ่มต้นเป็นตัวเลือกใหม่: 7 Admin Specified …

2
Powershell เทียบเท่ากับการทดแทนกระบวนการของ Bash
Bash มี<(..)ไว้สำหรับการทดแทนกระบวนการ อะไรที่เทียบเท่า Powershell ฉันรู้ว่ามี$(...)แต่มันกลับสตริงในขณะที่<(..)ส่งกลับไฟล์คำสั่งด้านนอกสามารถอ่านได้จากซึ่งเป็นสิ่งที่มันคาดหวัง ฉันยังไม่ได้มองหาวิธีแก้ปัญหาแบบไปป์ แต่สิ่งที่ฉันสามารถติดอยู่ตรงกลางของบรรทัดคำสั่ง
14 powershell 

4
เรียกใช้ PowerShell ระยะไกลในฐานะผู้ดูแลระบบ
ก่อนที่ฉันจะดำดิ่งสู่คำถามฉันได้พบคำถามอื่น ๆ อีกหลายคำถามที่ดูเหมือนกับฉัน แต่พวกเขาไม่สามารถแก้ปัญหาของฉันได้ นี่คือลิงค์ไปยังพวกเขา: เรียกใช้สคริปต์จากระยะไกล "Run As Administrator" /programming/10724591/how-to-remote-execute-an-elevated-remote-script-in-powershell ตอนนี้มาถึงคำถาม: ฉันต้องเรียกใช้สคริปต์ Windows Update บนเครื่องระยะไกลผ่าน Powershell ถ้าฉันรีโมตเข้าสู่เครื่องผ่าน mstsc ให้เรียกใช้ Powershell ในฐานะผู้ดูแลระบบและรันสคริปต์ Windows Update จะทำงานได้ดี ถ้าฉันรีโมตเข้าสู่เครื่องผ่าน mstsc ให้เรียกใช้ Powershell โดยไม่ต้องเลือกการทำงานในฐานะผู้ดูแลระบบและรันสคริปต์ฉันจะได้รับข้อผิดพลาดจำนวนมากตามบรรทัดนี้: "Exception call" Download "with อาร์กิวเมนต์" 0 ":" ข้อยกเว้นจาก HRESULT: 0x80240044 "" สิ่งนี้จะเกิดขึ้นหากฉันเรียกใช้โดยไม่มีสิทธิ์ของผู้ดูแลระบบ สคริปต์ที่ฉันใช้คือ: http://www.ehow.com/how_8724332_use-powershell-run-windows-updates.html ตอนนี้เมื่อฉันรีโมตเข้าสู่เครื่องโดยใช้ Enter-PSSession และพยายามเรียกใช้สคริปต์ฉันได้รับข้อผิดพลาด พวกเขาอยู่ในบรรทัดนี้: "การเรียกข้อยกเว้น" CreateUpdateDownloader "พร้อมอาร์กิวเมนต์" …

4
Powershell ลบไฟล์จากไดเรกทอรีเท่านั้น
ฉันพยายามลบไฟล์ทั้งหมด (แต่ไม่ใช่ไดเรกทอรี) ในโฟลเดอร์ D: \ MyTemp ฉันได้ลอง: Remove-Item "D:\MyTemp" Remove-Item "D:\MyTemp\*" อย่างไรก็ตามเมื่อฉันตรวจสอบไฟล์ทั้งหมดจะยังคงอยู่ที่นั่น ฉันกำลังคิดถึงอะไร
14 powershell 

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