สรุป
บทความนี้อธิบายถึงปัญหาWindows PowerShellที่ได้รับการแก้ไขในการอัปเดตสะสม 1 (CU1) สําหรับConfiguration Manager Microsoft System Center 2012 R2 การแก้ไข CU1 อื่นๆ มีอธิบายไว้ในบทความฐานความรู้ของ Microsoft ต่อไปนี้:
2938441 คําอธิบายของการอัปเดตสะสม 1 สําหรับ System Center 2012 R2 Configuration Manager
ข้อมูลเพิ่มเติม
ปัญหาที่ได้รับการแก้ไขแล้ว
-
วัตถุที่ถูกส่งผ่านเป็นพารามิเตอร์ -InputObject (หรือเทียบเท่า) ไปยัง cmdlet จะกลายเป็น "null" หลังจากนั้น
-
Cmdlets ที่เตือนโดยไม่ล้มเหลวหรือล้มเหลวโดยไม่แจ้งเมื่อเงื่อนไขของข้อผิดพลาดถูกพบ อย่าหยุดไปป์ไลน์ตามที่คาดไว้
-
Cmdlets ที่ทําการกระทําบนวัตถุของไซต์จะล้มเหลวโดยไม่แจ้งเมื่อไม่มีวัตถุของไซต์อยู่ ปัญหานี้นําไปสู่สคริปต์และ Automation ที่เข้าสู่สถานะที่ไม่ได้กําหนด โปรดทราบว่าปัญหานี้ไม่มีผลกับ Get- cmdlets ซึ่งจะไม่ล้มเหลวถ้าไม่พบวัตถุที่ตรงกับเกณฑ์การค้นหา
-
Add-CMDeploymentType -DeepLinkInstaller ไม่เพิ่มชนิดการปรับใช้
-
Start-CMSoftwareUpdateDeploymentไม่ได้ตั้งค่าตัวเลือกการปรับใช้ที่ถูกต้องเมื่อมีการใช้พารามิเตอร์ -DisableOperationsManagerAlert หรือ -GenerateOperationsManagerAlert
-
cmdlet Save-CMSoftwareUpdate ล้มเหลวโดยมีข้อผิดพลาดที่คล้ายกับต่อไปนี้:
Save-CMSoftwareUpdate : แป้นที่ระบุไม่มีอยู่ในพจนานุกรม
ที่บรรทัด:1 char:1
+ Save-CMSoftwareUpdate -DeploymentPackageName "Contoso-Package" -SoftwareupdateNa ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo: NotSpecified: (:) [Save-CMSoftwareUpdate], KeyNotFoundException
+ FullyQualifiedErrorId : System.Collections.Generic.KeyNotFoundException,Microsoft.ConfigurationManagement.Cmdlet
s.Sum.Commands.SaveSoftwareUpdateCommand
โปรดทราบว่า cmdlet ที่ได้รับการแก้ไขจะทํางานในWindows PowerShellแบบ 32 บิตเท่านั้น -
New-CMProgramไม่ยอมรับ -PackageID เป็นพารามิเตอร์ป้อนเข้า
-
Remove-CMUserพารามิเตอร์ -InputObject ไม่ยอมรับผลลัพธ์วัตถุจาก Get-CMUser
-
New-CMDeviceCollectionVariable ต้องการผู้ใช้ที่ดําเนินการมีสิทธิ์การอ่านคอลเลกชัน "ระบบทั้งหมด"
-
New-CMSoftwareMeteringRuleและSet-CMSoftwareMeteringRuleจําเป็นต้องเข้าถึงไฟล์แบบคิดค่าบริการตามปริมาณข้อมูลเพื่อให้สามารถสร้างกฎการวัดได้
-
ต้องเริ่มคอนโซลผู้ดูแลระบบอย่างน้อยหนึ่งครั้งบนคอมพิวเตอร์ที่ระบุก่อน จึงจะสามารถสร้างไดรฟ์ PowerShell ของผู้ให้บริการSMSได้
-
ตัวเลือก แจกจ่ายเนื้อหา ถูกปิดใช้งานในคอนโซลผู้ดูแลระบบสําหรับวัตถุที่สร้างขึ้นโดยใช้ New-CMOperatingSystemInstaller หรือ New-CMOperatingSystemImage
-
Set- cmdlets that change site server roles require both -SiteCode and -SiteSystemServerName instead of just -SiteSystemServerName as expected.
-
New-CMMigrationJobล้มเหลวโดยมีข้อความแสดงข้อผิดพลาด "คิวรีไม่ถูกต้อง" ที่มีลักษณะดังต่อไปนี้:
ส่งข้อยกเว้น:
New-CMMigrationJob: ConfigMgr Error Object:
instance of __ExtendedStatus
{
Operation = "ExecQuery";
ParameterInfo = "SELECT * WHERE DependencyType = 1";
ProviderName = "WinMgmt";
};
รหัสข้อผิดพลาด:
InvalidQuery
at line:1 char:1
การเปลี่ยนแปลงเพิ่มเติม
-
สวิตช์ -Verbose สําหรับ cmdlet ส่วนใหญ่จะแสดงผลข้อมูลเกี่ยวกับคิวรีที่กําลังทํางานอยู่
หมายเหตุ ถ้า cmdlet ไม่ทํางานตามที่คาดไว้ สวิตช์ -Verbose ผิดปกติจะให้ข้อมูลเกี่ยวกับคิวรี WMI จริงที่กําลังทํางานอยู่กับส่วนหลังของผู้ให้บริการSMS ข้อมูลนี้มีประโยชน์มากสําหรับการแก้ไขปัญหาและควรให้ไว้เมื่อดําเนินการดังกล่าวเมื่อคุณส่งเชื่อมต่อรายการคําติชม -
เมื่อคุณวางผลลัพธ์ของ cmdlet Configuration ManagerลงในSelect-Object (เลือก) ไม่จําเป็นต้องใช้ตัวพิมพ์ที่ถูกต้องสําหรับอาร์กิวเมนต์ที่เลือกอีกต่อไป
-
อักขระตัวแทนไม่ได้รับการสนับสนุนในคิวรี
-
รายการต่อไปนี้แสดง cmdlets ที่มีการแก้ไขที่กําหนดเป้าหมายเพิ่มเติม เนื่องจากการเปลี่ยนแปลงเพิ่มเติมในโค้ดเฟรมเวิร์กWindows PowerShellพื้นฐานที่ใช้โดย cmdlet เหล่านี้ cmdlets ที่ไม่อยู่ในรายการอาจเปลี่ยนแปลงลักษณะการทํางาน ตรวจสอบให้แน่ใจว่าสคริปต์และระบบอัตโนมัติของคุณทํางานตามที่คาดไว้
-
Add-CMBoundaryToGroup
-
Add-CMDeploymentType
-
Add-CMStateMigrationPoint
-
Get-CMApplicationCatalogWebServicePoint
-
Get-CMApplicationCatalogWebsitePoint
-
Get-CMEndpointProtectionPoint
-
Get-CMEnrollmentPoint
-
Get-CMEnrollmentProxyPoint
-
Get-CMFallbackStatusPoint
-
Get-CMOutOfBandServicePoint
-
Get-CMReportingServicePoint
-
Get-CMSiteStatusMessage
-
Get-CMSoftwareDistributionComponent
-
Get-CMSoftwareUpdatePoint
-
Get-CMStateMigrationPoint
-
Get-CMSystemHealthValidatorComponent
-
Import-CMComputerInformation
-
New-CMActiveDirectoryForest
-
New-CMDeviceCollectionVariable
-
New-CMMigrationJob
-
New-CMOperatingSystemInstaller
-
New-CMProgram
-
New-CMSoftwareMeteringRule
-
Remove-CMBoundaryFromGroup
-
Remove-CMDeploymentType
-
Remove-CMUser
-
Restore-CMApplicationRevisionHistory
-
Save-CMSoftwareUpdate
-
Set-CMADForest
-
Set-CMBootImage
-
Set-CMDeploymentType
-
Set-CMDiscoveryMethod
-
Set-CMExchangeServer
-
Set-CMGlobalCondition
-
Set-CMHierarchySetting
-
Set-CMManagementPoint
-
Set-CMMigrationExclusionList
-
Set-CMPackageDepoyment
-
Set-CMSiteMaintenanceTask
-
Set-CMSoftwareDistributionComponent
-
Set-CMSoftwareMeteringRule
-
Set-CMTaskSequenceDeployment
-
Start-CMContentDistribution
-
Start-CMDistributionPointUpgrade
-
Start-CMSoftwareUpdateDeployment
-
Update-CMDistributionPoint
-
ในบางกรณี cmdlet อาจมีการลบหรือเปลี่ยนแปลงพารามิเตอร์ การดําเนินการนี้แสดงถึงการเปลี่ยนแปลงที่หยุดพักของสคริปต์ที่มีอยู่หรือการทํางานอัตโนมัติ ถ้า cmdlet ไม่ทํางานเนื่องจากมีข้อผิดพลาดในการผูกพารามิเตอร์ ให้ตรวจสอบให้แน่ใจว่าพารามิเตอร์ที่คุณกําลังใช้อยู่ไม่ได้ถูกเปลี่ยนชื่อหรือถูกเอาออก
ปัญหาที่ทราบแล้ว
อาการต่อไปนี้อาจเกิดขึ้นได้แม้หลังจากติดตั้งการอัปเดตสะสม 1 แล้ว วิธีแก้ไขปัญหาแบบอื่นจะแสดงอยู่ในตําแหน่งที่พร้อมใช้งาน ปัญหาเหล่านี้อาจได้รับการแก้ไขในเวอร์ชันในอนาคตของConfiguration Manager
-
Install-CMClientจะไม่กําหนดเป้าหมายไปที่คอมพิวเตอร์ทุกเครื่องในคอลเลกชันเมื่อใช้พารามิเตอร์ -CollectionID
เมื่อต้องการแก้ไขปัญหานี้ ให้เรียกใช้ชุดอุปกรณ์โดยใช้ Get-CMDevice -CollectionID และส่งผ่านแต่ละอินสแตนซ์ไปยัง Install -CMDevice -Device ตัวอย่างเช่น เรียกใช้คําสั่งต่อไปนี้:Get-CMDevice -CollectionName MyCollection | foreach { Install-CMClient -Device $_ -IncludeDomainController $false -AlwaysInstallClient $false -ForceReinstall $false -SiteCode PSS }
-
Start-CMDistributionPointUpgradeไม่สามารถใช้งานกับไซต์รองได้
เมื่อต้องการแก้ไขปัญหานี้ชั่วคราว ให้ทํางานโดยใช้คอนโซลผู้ดูแลระบบ -
Save-CMSoftwareUpdate cmdlet ไม่ทํางานในสภาพแวดล้อมWindows PowerShellแบบ 64 บิต
เมื่อต้องการแก้ไขปัญหานี้ให้ใช้ Windows PowerShell หรือ ISE เวอร์ชัน 32 บิต -
ผลลัพธ์New-CMVirtualEnvironmentGroupไม่แสดงในคอนโซลผู้ดูแลระบบ
เมื่อต้องการแก้ไขปัญหานี้ชั่วคราว ให้ทํางานโดยใช้คอนโซลผู้ดูแลระบบ -
พารามิเตอร์ Set-CMSite -Comment ทําให้ cmdlets ล้มเหลว
เมื่อต้องการแก้ไขปัญหานี้ชั่วคราว ให้ทํางานโดยใช้คอนโซลผู้ดูแลระบบ -
Remove-CMDeploymentTypeจะไม่ล้มเหลวเมื่อคุณพยายามเอาชนิดการปรับใช้ที่ไม่มีอยู่ออก
เมื่อต้องการแก้ไขปัญหานี้ ให้ใช้Get-CMDeploymentTypeเพื่อตรวจสอบว่ามีชนิดการปรับใช้อยู่หรือไม่ก่อนที่คุณจะพยายามเอาชนิดการปรับใช้ออก -
New-CMSecondarySiteสร้างจุดแจกจ่ายที่ไม่สามารถกําหนดค่าผ่านคอนโซลผู้ดูแลระบบเมื่อคุณใช้ใบรับรองที่เซ็นชื่อด้วยตนเอง
เมื่อต้องการแก้ไขปัญหานี้ ให้ใช้ขั้นตอนใดๆ ต่อไปนี้แทน cmdlet New-CMSecondarySite:-
กําหนดค่าไซต์รองโดยใช้ใบรับรองที่ออกให้โดยผู้ออกใบรับรอง
-
ใช้Set-CMDistributionPointเพื่อตั้งค่าคอนฟิกจุดแจกจ่ายหลังจากติดตั้งไซต์รอง
-
เอาจุดแจกจ่ายของไซต์รองออก และเพิ่มจุดแจกจ่ายใหม่หลังจากติดตั้งไซต์รองแล้ว
-
-
cmdlet บางรายการอาจหยุดทํางานหลังจากที่คุณใช้ cmdlet New-CMTaskSequence
เมื่อต้องการแก้ไขปัญหานี้ ให้เริ่มการทํางานของWindows PowerShellใหม่ -
Start-CMApplicationDeploymentล้มเหลวเมื่อใช้กับแอปพลิเคชัน Store Windows เนื่องจากความคาดหวังคือมีเนื้อหาอยู่ในจุดแจกจ่าย
เมื่อต้องการแก้ไขปัญหานี้ชั่วคราว ให้ทํางานโดยใช้คอนโซลผู้ดูแลระบบ