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

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

2
ฉันจะให้สิทธิ์ในการเริ่ม / หยุดบริการจากระยะไกลโดยใช้ Powershell ได้อย่างไร
เรามีสคริปต์ PowerShell ที่รีสตาร์ทบริการบนคอมพิวเตอร์เครื่องอื่น เมื่อเราใช้ cmdlet การควบคุมการบริการในตัวของ PowerShell เช่น: $svc = Get-Service -Name MyService -ComputerName myservicehostname Stop-Service -InputObject $svc Start-Service -InputObject $svc เราได้รับข้อผิดพลาดนี้กลับมา: Stop-Service: ไม่สามารถเปิดบริการ MyService บนคอมพิวเตอร์ 'myservicehostname' อย่างไรก็ตามเมื่อเราใช้ sc.exe เช่นนั้น: C:\Windows\System32\sc \\myservicehostname stop MyService C:\Windows\System32\sc \\myservicehostname start MyService การเริ่มต้นและหยุดสำเร็จ ผู้ใช้ที่ทำการรีสตาร์ทไม่ใช่ผู้ดูแลระบบ เราใช้ subinacl เพื่อให้สิทธิ์แก่ผู้ใช้ในการเริ่ม / หยุดและสอบถามบริการ: subinacl.exe /service MyService /GRANT=MyServiceControlUser=STO ทำไม …

3
ปัญหาเกี่ยวกับเซิร์ฟเวอร์การแพตช์จากระยะไกลโดยใช้ winrm และ Microsoft.Update.Session
ฉันมีเครือข่ายพร้อมเซิร์ฟเวอร์ windows 2003, 2008 และ 2008r2 ฉันมีสคริปต์ PowerShell ที่ฉันเขียนเพื่อแก้ไขเครื่องท้องถิ่นโดยใช้วัตถุ com "Microsoft.Update" (คล้ายกับการ อัปเดต PowerShell ของ Windows Update ) สคริปต์ของฉันทำงานได้อย่างน่าอัศจรรย์ในพื้นที่ แต่ฉันต้องการใช้ฟังก์ชั่นจากระยะไกลเนื่องจากฉันมีเซิร์ฟเวอร์จำนวนพอสมควรที่จะจัดการ ในกรณีนั้นมันจะล้มลง (คล้ายกับโพสต์อื่นซึ่งไม่ได้แก้ไข) อย่างไรก็ตามฉันสามารถจำกัดความล้มเหลวให้แคบลงได้ถึงสองวิธีในแต่ละชั้นเรียน (New-Object -ComObject "Microsoft.Update.Session").CreateUpdateDownloader() (New-Object -ComObject "Microsoft.Update.Session").CreateUpdateInstaller() หากคุณเรียกใช้สิ่งเหล่านี้ใน PowerShell ภายในเครื่องในฐานะผู้ดูแลระบบคุณจะไม่มีปัญหา หากคุณพยายามใช้คำสั่ง invoke-(หรือเข้าสู่เซสชันหรือ winrs) คุณจะได้รับข้อผิดพลาดดังต่อไปนี้ (นี่เป็นการทดสอบกับ localhost แต่โฮสต์ใดจะทำฉันได้ลองด้วยวิธีการรับรองความถูกต้องที่แตกต่างกันเช่น credssp และ kerberos); PS C:\> Invoke-Command -ComputerName localhost -ScriptBlock { (New-Object …

5
การเขียนสคริปต์ powershell เพื่อคัดลอกไฟล์ที่มีนามสกุลจากโฟลเดอร์หนึ่งไปยังอีกโฟลเดอร์หนึ่ง
ฉันต้องการเขียนสคริปต์ powershell ที่ได้รับพารามิเตอร์ต่อไปนี้เป็นอินพุต: โฟลเดอร์ที่คัดลอกจากส่วนขยายอนุญาตให้โฟลเดอร์ที่จะคัดลอกและบูลีนระบุว่าการเปลี่ยนแปลงควรเริ่มต้น IIS ชื่อผู้ใช้และรหัสผ่าน cmdlets ใดที่ฉันควรพิจารณาเนื่องจากกำลังคัดลอกไปยังเซิร์ฟเวอร์ระยะไกล ฉันจะอ่านพารามิเตอร์เป็นตัวแปรได้อย่างไร ฉันจะเริ่ม IIS ได้อย่างไร เนื่องจากฉันอาจต้องการคัดลอกหลายโฟลเดอร์ฉันจะเขียนสคริปต์ PowerShell ที่เรียกใช้สคริปต์ PowerShell ได้อย่างไร
10 powershell 

2
วิธีส่งออกบันทึก SMTP แบบเต็มใน Office 365
ใน Office 365 จะสามารถส่งออกบันทึก SMTP ได้หรือไม่ อาจจะอยู่ใน PowerShell หรือวิธีอื่นใด เป้าหมายของฉันคือการมีภาพรวมที่สมบูรณ์ของข้อความทั้งหมดที่ส่งจากและไปยังโดเมนที่เฉพาะเจาะจง

1
การปรับแต่งใบหน้าและขนาดตัวอักษรของ PowerShell
เรามีระบบหลักของเซิร์ฟเวอร์ windows 2012 ที่มีการติดตั้ง powershell เป็นเชลล์เริ่มต้นโดยใช้คำสั่งต่อไปนี้: $RegPath = "Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\winlogon" Set-ItemProperty -Confirm -Path $RegPath -Name Shell -Value 'cmd.exe /C start /max PowerShell.exe -noExit' ฉันพบว่าเราสามารถปรับแต่งสีฟอนต์ PowerShell ด้วยสคริปต์ PowerShell พิเศษที่ c: \ Windows \ System32 \ WindowsPowerShell \ v1.0 \ profile.ps1 สคริปต์นี้ถูกใช้โดยผู้ใช้ทั้งหมด อย่างไรก็ตามตอนนี้ฉันต้องการปรับแต่งแบบอักษรและขนาดตัวอักษร (อีกครั้งสำหรับผู้ใช้ทั้งหมด) ที่คงอยู่ IE หากฉันออกจากระบบเซิร์ฟเวอร์และกลับเข้าสู่ระบบฉันต้องการให้การตั้งค่าถูกเก็บไว้ ในทำนองเดียวกันถ้าฉันเข้าสู่ระบบในฐานะผู้ดูแลระบบหรือบัญชี PowerShell ของฉันเองควรมีลักษณะเหมือนกัน - ใช้สีตัวอักษรหน้าตัวอักษรและขนาดตัวอักษรเดียวกัน …
10 powershell  color  font 

3
ไม่สามารถรับการรับรองความถูกต้อง CredSSP ให้ทำงานใน PowerShell
ในความพยายามที่จะสร้างสคริปต์ PowerShell ใช้งานระยะไกลฉันวิ่งเข้าไปในสิ่งที่ผมเชื่อว่าเป็นปัญหา hop สองครั้ง ในบทความนั้น Perriman ให้คำอธิบายสั้น ๆ เกี่ยวกับปัญหารวมถึงขั้นตอนเฉพาะในการแก้ไขปัญหา (แทบจะไม่สำคัญถ้าคุณรู้คำสั่ง แต่สำหรับคนที่คุ้นเคยน้อยกว่าตัวฉันเอง ฉันวิ่งEnable-WSManCredSSP Serverบนเซิร์ฟเวอร์ Win7 โดยไม่มีปัญหา แต่พยายามที่จะรันEnable-WSManCredSSP Client –DelegateComputer <FQDN of the server>บนไคลเอนต์ Win7 ของฉันสร้างข้อผิดพลาดนี้: Enable-WSManCredSSP : The client cannot connect to the destination specified in the request. Verify that the service on the destination is running and is accepting …

2
ฉันจะตั้งค่า IIS Application Pool รีไซเคิลครั้งโดยไม่หันไปใช้รูปแบบที่น่าเกลียดของ Add-WebConfiguration ได้อย่างไร
ฉันได้เขียนสคริปต์การกำหนดค่าของอินสแตนซ์ IIS 7.5 ของเราและผ่านบิตและชิ้นส่วนของสคริปต์คนอื่น ๆ ฉันได้มาพร้อมกับไวยากรณ์ที่ฉันชอบ: $WebAppPoolUserName = "domain\user" $WebAppPoolPassword = "password" $WebAppPoolNames = @("Test","Test2") ForEach ($WebAppPoolName in $WebAppPoolNames ) { $WebAppPool = New-WebAppPool -Name $WebAppPoolName $WebAppPool.processModel.identityType = "SpecificUser" $WebAppPool.processModel.username = $WebAppPoolUserName $WebAppPool.processModel.password = $WebAppPoolPassword $WebAppPool.managedPipelineMode = "Classic" $WebAppPool.managedRuntimeVersion = "v4.0" $WebAppPool | set-item } ฉันได้เห็นสิ่งนี้ทำหลายวิธีที่แตกต่างกันน้อยกว่าและฉันชอบวิธีการตั้งค่าคุณสมบัติของวัตถุนี้เมื่อเปรียบเทียบกับสิ่งที่ฉันเห็นบนTechNet : Set-ItemProperty 'IIS:\AppPools\DemoPool' -Name …
9 iis  powershell 

2
จำเป็นต้องเปลี่ยนภาษาของระบบใน Windows 2012 R2 จาก en-US เป็น en-GB
เมื่อฉันเริ่มต้นอินสแตนซ์ Aws Ec2 Windows 2012 R2 มันจะมาพร้อมกับโลแคลเริ่มต้นในสหรัฐอเมริกาเสมอ อย่างไรก็ตามฉันต้องเปลี่ยนสองอินสแตนซ์ที่มีอยู่ให้เป็น en-GB ราวกับว่าพวกเขาได้รับการติดตั้งแบบนั้นตั้งแต่แรก ซึ่งก็คือฉันต้องเปลี่ยนภาษาเป็น en-GB สำหรับผู้ใช้ทั้งหมดรวมถึงผู้ใช้ระบบเช่นบริการเครือข่ายหรือบริการท้องถิ่น มีวิธีทำเช่นนี้หรือไม่? ฉันได้ลองใน PowerShell Set-WinSystemLocale en-GB แต่ถึงแม้ว่าฉันจะไม่ได้รับข้อผิดพลาด แต่ก็ไม่ได้ทำอะไรเลยหลังจากรีบูต ขอบคุณสำหรับความช่วยเหลือ

2
Powershell: ไม่พบพารามิเตอร์ที่ตรงกัน
ฉันยังใหม่กับโลก Powershell ด้านล่างเป็นสคริปต์แรกของฉัน $sServer = "Fully.Qualified.Computer.Name" $os = Get-WmiObject -class Win32_OperatingSystem -computername $sServer $object = New-Object –TypeNamePSObject $object | Add-Member –MemberTypeNoteProperty –Name OSBuild –Value $os.BuildNumber $object | Add-Member –MemberTypeNoteProperty –Name OSVersion –Value $os.Version $object | Add-Member –MemberTypeNoteProperty –Name BIOSSerial –Value $bios.SerialNumber Write-Output $object เมื่อฉันเรียกใช้สคริปต์นี้ใน PowershellISE ฉันได้รับข้อผิดพลาดต่อไปนี้ New-Object : A parameter …

1
ปัญหาเล็กน้อยกับ Cmdlets เซิร์ฟเวอร์ระบบชื่อโดเมน (DNS)
ฉันสงสัยว่าฉันต้องล้างแคชหรืออะไรบางอย่างกับปัญหาที่ฉันมี ฉันกำลังพยายามลบระเบียน A ออกจาก DNS Zone และแทนที่ด้วยระเบียน CName ที่มีชื่อโฮสต์เดียวกัน Remove-DnsServerResourceRecord -Zonename $line -InputObject $record -Force Add-DnsServerResourceRecordCName -Zonename $line -Name $hostname -TimeToLive $ttl -HostNameAlias $target สิ่งนี้ทำให้ฉัน: Add-DnsServerResourceRecordCName: ไม่สามารถสร้างระเบียนทรัพยากร @ ใน zone zone.tld บนเซิร์ฟเวอร์ NS01 ที่ C: \ admin \ updatettl.ps1: 56 อักขระ: 4 + เพิ่ม -DnsServerResourceRecordCName - ชื่อเล่น $ บรรทัด - …

2
Powershell ลบใบรับรอง PKI จากระยะไกล
ฉันเพิ่งสร้าง PKI ขึ้นใหม่และฉันต้องการลบใบรับรองที่ออกให้กับเครื่องไคลเอนต์ทั้งหมดในเครือข่ายของฉัน ดูเหมือนงาน Powershell! ดังนั้นฉันจึงเขียนสคริปต์นี้เพื่อแจกจ่ายโดย GPO วิ่งจาก SysVol และเรียกใช้บนเครื่องไคลเอ็นต์เมื่อเริ่มต้น: set-location cert:\LocalMachine\My $certname = $env:COMPUTERNAME + ".domain.com" get-item * | %{ if($_.issuer -like "CN=IssuingCA*" -and $_.DnsNameList.unicode -like $certname) { remove-item .\$_.Thumbprint -Force } } จากพรอมต์คำสั่งที่ยกระดับ: เมื่อ Ran สคริปต์จะไม่ส่งออก (เพียงแค่เทอร์มินัลบรรทัดใหม่) มันจะส่งกลับไม่มีข้อผิดพลาดและใบรับรองจะไม่ถูกลบ เมื่ออาร์กิวเมนต์-WhatIfถูกเพิ่มเข้ากับRemove-Itemคำสั่งในสคริปต์อีกครั้งจะไม่มีข้อผิดพลาดและใบรับรองจะไม่ถูกลบ เมื่อ Remove-Item. \ CERTIFICATE-THUMBPRINT -Force ถูกรันอยู่ใบรับรองจะถูกลบ นี่เป็นปัญหาสิทธิ์หรือไม่ มีวิธีที่ชาญฉลาด / …

3
หมดเวลาคำสั่ง ESXcli ที่ 30 นาที
ฉันกำลังทำงานกับสคริปต์ powercli เพื่อวนซ้ำแต่ละดาต้าสโตร์ในสภาพแวดล้อมของเราและเรียกคืนพื้นที่บน LUN ที่จัดสรรแบบบาง LUN ทั้งหมดในสภาพแวดล้อมคือ Dell Equal Logic รุ่น vCenter: 5.5.0_1750787 รุ่น ESXi: Dell 5.5-1331820(A01) ปัญหาที่ฉันพบคือ 30 นาทีหลังจากรันคำสั่ง unmap ในสคริปต์ฉันได้รับข้อผิดพลาดต่อไปนี้: จาก PowerCLI: Message: An error occurred while communicating with the remote host: InnerText: At \\SOMEIP\Share\folder\vmware_unmap_datastore.ps1:96 char:9 + $RETVAL = $ESXCLI.storage.vmfs.unmap(200, $ds.Name, $null) + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CatagoryInfo : OperationsStopped: …

3
ทำไมฉันถึงได้รับข้อผิดพลาดที่ไม่ได้รับอนุญาตกับ Powershell get-winevent
ฉันเป็นผู้ดูแลโดเมนที่เทียบเท่าฉันได้ลองใช้งานในคอนโซลยกระดับ (คลิกขวา> เรียกใช้ในฐานะผู้ดูแลระบบ) และฉันได้รับข้อผิดพลาดอย่างต่อเนื่องขณะดำเนินการ get-winevent -logname application | where {$_.message -match "Faulting application"} | ` select TimeCreated,message ฉันจะได้ผลลัพธ์สามบรรทัดจากนั้น Get-WinEvent : Attempted to perform an unauthorized operation. At line:1 char:13 Get-WinEvent : Attempted to perform an unauthorized operation. + CategoryInfo : NotSpecified: (:) [Get-WinEvent], UnauthorizedAccessException + FullyQualifiedErrorId : Attempted to perform …

2
ตรวจจับตัวเลือกไซต์ AD โดยใช้ PowerShell
ฉันจะใช้ PowerShell เพื่อค้นหาตัวเลือกไซต์ AD ได้อย่างไร+IS_INTER_SITE_AUTO_TOPOLOGY_DISABLEDใน PowerShell ฉันได้เล่นกับคำสั่งต่อไปนี้ แต่ไม่สามารถรับมันคายอะไรที่เป็นประโยชน์ Get-ADObject -Filter 'objectClass -eq "site"' -Searchbase (Get-ADRootDSE).ConfigurationNamingContext` -Properties options

1
PowerShell remoting ไปยังเซิร์ฟเวอร์ที่ใช้ CNAME ไม่ใช่ชื่อคอมพิวเตอร์
ฉันพยายามที่จะให้ powerhell remoting ทำงานกับเซิร์ฟเวอร์โดยใช้ชื่อ CNAME แทนที่จะเป็นชื่อคอมพิวเตอร์ ทั้งเครื่องโลคัลและรีโมตอยู่บนเครือข่ายและโดเมนเดียวกัน ฉันเปิดใช้งานรีโมท powerhell และทำงานได้ดีกับชื่อคอมพิวเตอร์ ฉันได้ตั้งค่า TrustedHost ของฉันเป็น CNAME และได้เพิ่ม SPN สำหรับ CNAME อย่างไรก็ตามเมื่อฉันออกEnter-PSSession CNAMEฉันได้รับต่อไปนี้: Enter-PSSession : Connecting to remote server CNAME failed with the following error message : WinRM cannot process the request. The following error occurred while using Kerberos authentication: Cannot find the …

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