Podsumowanie
W tym artykule opisano Windows PowerShell problemy, które zostały rozwiązane w aktualizacji zbiorczej 2 (CU2) dla Configuration Manager Microsoft System Center 2012 R2. Inne poprawki cu2 opisano w aktualizacji zbiorczej 2 dla System Center 2012 R2 Configuration Manager.
Problemy, które zostały rozwiązane
Windows PowerShell
-
Polecenie cmdlet Export-CMApplication zastępuje plik określony w parametrze -Path bez monitu o potwierdzenie.
Uwaga Po zainstalowaniu tej aktualizacji zostanie wyświetlony monit o zastąpienie istniejącego pliku. Ten monit można pominąć przy użyciu parametru -Force. -
Próba wyświetlenia właściwości punktu dystrybucji w witrynie pomocniczej utworzonej przy użyciu polecenia cmdlet New-CMSecondarySite powoduje wyjątek podobny do następującego:
Wartość System.ArgumentOutOfRangeException
(1/1/1/1900 12:00:00 AM) jest nieprawidłowa dla wartości "Value". Wartość powinna się znajdować między wartościami "MinDate" i "MaxDate".
Nazwa parametru: Wartość
Uwaga Jeśli to polecenie cmdlet zostało wcześniej użyte do utworzenia punktu dystrybucji, a jeśli ten punkt rozkładu teraz wyświetla te objawy, należy ponownie utworzyć punkt rozkładu dla wyświetlanych właściwości. -
Polecenie cmdlet Set-CMSystemHealthValidatorPointComponent kończy się niepowodzeniem podczas używania go z parametrem -SiteSystemServerName. Ponadto jest wyświetlany komunikat o błędzie podobny do następującego:
Set-CMSystemHealthValidatorPointComponent: Żaden obiekt nie odpowiada określonym parametrom.
-
Polecenie cmdlet Set-CMSite może zwrócić nieprawidłowy komunikat podobny do następującego:
OSTRZEŻENIE: Nie można uzyskać wystąpienia portu BGB, ta witryna NIE jest witryną z systemem SP1 ani uszkodzeniem danych bazy danych.
Set-CMSite: Sprawdzanie poprawności parametrów wejściowych nie powiodło się. Nie można kontynuować.
-
Polecenie cmdlet New-CMClientSetting niepoprawnie umożliwia utworzenie domyślnych ustawień klienta.
-
Polecenie cmdlet Remove-CMDeploymentType zwraca wartość Null zamiast stanu błędu, gdy określona nazwa typu wdrożenia nie istnieje.
-
Polecenie cmdlet New-CMTaskSequence kończy się niepowodzeniem w wielu scenariuszach.
-
Polecenie cmdlet Add-CMSoftwareUpdatePoint tworzy punkt aktualizacji oprogramowania, który pojawia się w konsoli administratora, ale nie może zostać zsynchronizowany z programem WSUS.
-
Polecenie cmdlet Add-CMDistributionPoint umożliwia tworzenie punktu dystrybucji HTTPS tylko wtedy, gdy jest on używany z parametrem -ValidateContentSchedule.
Uwaga Ta aktualizacja dodaje dodatkowy parametr -EnableSSL, aby umożliwić sterowanie trybem SSL niezależnie od wartości przekazywanej do parametru -ClientConnectionType. -
Polecenie cmdlet New-CMGlobalCondition niepoprawnie wymaga użycia parametru -WhereClause.
-
Polecenie cmdlet Install-CMClient nie działa bez użycia parametru -DeviceID.
-
Polecenie cmdlet Start-CMApplicationDeployment kończy się niepowodzeniem, gdy jest używane z aplikacjami Windows Store, Apple Store lub Google Play, ponieważ oczekuje się, że zawartość istnieje w punkcie dystrybucji.
-
Polecenie cmdlet Export-CMDriverPackage nie jest używane z następującymi parametrami:
-
-Nazwa
-
-ID
-
-InputObject
Ponadto są wyświetlane komunikaty o błędach podobne do następujących:
Export-CMDriverPackage: Wartość nie może wynosić null.
Nazwa parametru: nazwa_parametru
-
-
Przy użyciu Windows PowerShell nie można ustawić właściwości Kopiuj zawartość w tym pakiecie do udziału pakietu w pakiecie punktów dystrybucji.
-
Nie można usunąć nazwy udziału pakietu za pomocą polecenia cmdlet Set-CMPackage.
Uwaga Parametr -ShareType zostanie usunięty.
Aby włączyć lub wyłączyć udostępnianie, użyj nowego parametru> -ShareContent <bool. -
Polecenie cmdlet Start-CMPackageDeployment kończy się niepowodzeniem, gdy parametr -DeployPurpose jest zdefiniowany jako Wymagany. Ponadto są wyświetlane komunikaty o błędach podobne do następujących:
Start-CMPackageDeployment: Nie można rozwiązać zestawu parametrów przy użyciu określonych nazwanych parametrów.
Uwaga W przypadku wdrożeń programów urządzeń należy określić parametr -DeviceProgram.
W przypadku standardowych wdrożeń programów należy określić parametr -StandardProgram. -
Polecenie cmdlet New-CMMaintenanceWindow kończy się niepowodzeniem po określeniu dziennego okna konserwacji jako danych wejściowych parametru -Schedule. Ponadto są wyświetlane komunikaty o błędach podobne do następujących:
New-CMMaintenanceWindow: Operacja jest nieprawidłowa ze względu na bieżący stan obiektu.
-
Polecenie cmdlet Get-CMUserDataAndProfileConfigurationItemXmlDefinition nie zwraca danych.
-
Polecenie cmdlet Set-CMClientSetting przekazuje nieprawidłową wartość parametrowi -MaxTransferRateOffSchedule.
-
Polecenie cmdlet Set-CMClientSetting nie sprawdza poprawności danych wejściowych przekazywanych do żadnego z następujących parametrów:
-
-PortalUrl
-
-Priority (Priorytet)
-
-Ustawienie
-
-ForceRebootPeriod
-
-
Polecenie cmdlet Set-CMSoftwareMeteringRule nie używa parametru -NewProductName. Ponadto jest wyświetlany komunikat o błędzie podobny do następującego:
Set-CMSoftwareMeteringRule: Nie można rozpoznać zestawu parametrów przy użyciu określonych nazwanych parametrów.
-
W poleceniu cmdlet Set-CMSoftwareUpdateAutoDeploymentRule brakuje wielu języków z listy dostępnej dla parametru -LanguageSelection.
Uwaga Po zainstalowaniu tej aktualizacji lista języków jest usuwana jako parametr i sprawdzana wewnętrznie na poleceniu cmdlet. -
Polecenie cmdlet Remove-CMApplicationRevisionHistory i polecenie cmdlet Restore-CMApplicationRevisionHistory nie działają, gdy są używane razem z parametrem -ID.
-
Polecenie cmdlet Get-CMAccessLicense wymaga parametru -License, zamiast zwracać wszystkie licencje podczas korzystania z niego bez żadnych parametrów.
-
Polecenie cmdlet Start-CMContentDistribution i polecenie cmdlet Remote-CMContentDistribution zwracają niedokładne komunikaty ostrzegawcze.
-
Polecenie cmdlet Set-CMProgram wraz z parametrem -InputObject oczekuje wystąpienia SMS_Package zamiast SMS_Program.
Uwaga W przypadku modyfikacji programów standardowych parametr -StandardProgram musi być określony.
W przypadku modyfikacji programów urządzeń parametr -DeviceProgram musi być określony -
Polecenie cmdlet Set-CMPowerControl nie sprawdza poprawności parametru -PowerControlType.
-
Polecenie cmdlet Set-CMDeviceOwnership nie sprawdza poprawności parametru -OwnershipType.
-
Polecenie cmdlet Set-CMTrustedRootCertificateProfileConfigurationItem nieprawidłowo definiuje parametr -DesiredConfigurationDigestPath jako opcjonalny.
-
Polecenie cmdlet Get-CMAssetIntelligenceSynchronizationPoint zwraca obiekt Null. Zapobiega to używaniu jej jako danych wejściowych do innych poleceń cmdlet.
-
W poleceniu cmdlet Import-CMBaseline i poleceniu cmdlet Import-CMConfigurationItem brakuje parametru -Force w celu pominięcia alertów zabezpieczeń dla podpisów zawartości.
-
Podczas wyświetlania właściwości punktu dystrybucji w konsoli administratora pojawia się wyjątek "Argument poza zakresem". Dzieje się tak w przypadku punktów dystrybucji utworzonych przy użyciu polecenia cmdlet Add-CMDistributionPoint i parametru -EnableMulticast.
-
Polecenie cmdlet Start-CMPackageDeployment zapobiega wdrażaniu pakietu, gdy nie ma żadnych plików źródłowych.
-
Polecenie cmdlet Start-CMPackageDeployment kończy się niepowodzeniem w przypadku używania go z programami urządzeń.
-
Polecenie cmdlet Set-CMDistributionPoint zwraca komunikat "KeyNotFoundException, gdy jest używany razem z parametrem -AddBoundaryGroup lub parametrem -RemoveBoundaryGroup.
-
Polecenie cmdlet Remove-CMDeploymentType zwraca komunikat "NullReferenceException" podczas używania go razem z parametrem -DeploymentTypeName lub parametrem -DeploymentTypeID.
-
Polecenie cmdlet New-CMMigrationJob kończy się niepowodzeniem podczas migrowania kolekcji.
polecenie cmdlet Start-CMDistributionPointUpgrade
Jeśli używasz polecenia cmdlet Start-CMDistributionPointUpgrade w celu uaktualnienia udostępnionego punktu dystrybucji do punktu dystrybucji Configuration Manager microsoft System Center 2012 R2, polecenie cmdlet kończy się niepowodzeniem. Ten problem występuje, jeśli w parametrze -sitecode odwołuje się witryna pomocnicza. Aby uzyskać więcej informacji na temat tego problemu, zobacz Polecenie cmdlet Start-CMDistributionPointUpgrade kończy się niepowodzeniem w Configuration Manager System Center 2012 R2.
Dodatkowe zmiany
-
Parametr -OnFastNetworkMode zostanie dodany do polecenia cmdlet Add-CMDeploymentType do użytku wraz z zestawem parametrów -AppV5xInstaller.
-
Ustawienie Maksymalny dozwolony czas wykonywania (minuty): nie można zdefiniować ustawienia w przypadku używania dla polecenia cmdlet Set-CMDeploymentType parametru SetByNamePropertyDeepLinkInstaller.
-
Następujące polecenia cmdlet obsługują konfigurowanie dodatkowych właściwości obrazu:
-
Set-CMOperatingSystemImage,
-
Set-CMOperatingSystemInstaller
-
Set-CMBootImage
-
-
Polecenie cmdlet Set-CMDriverPackage dodaje więcej parametrów, aby ustawić właściwości pakietu sterowników.
-
Wiele poleceń cmdlet Get- i Remove- obsługuje teraz znaki z dzikiej karty w parametrach zapytania. Obejmuje to następujące polecenia cmdlet:
-
Get-CMAccount
-
Get-CMActiveDirectoryForest
-
Get-CMActiveDirectorySite
-
Get-CMAdministrativeUser
-
Get-CMAlert
-
Get-CMAlertSubscription
-
Get-CMAntimalwarePolicy
-
Get-CMApplication
-
Get-CMApplicationCatalogWebServicePoint
-
Get-CMApplicationCatalogWebsitePoint
-
Get-CMAppVVirtualEnvironment
-
Get-CMAssetIntelligenceCatalogItem
-
Get-CMAutomaticAmtProvisioningStatus
-
Get-CMBaseline
-
Get-CMBaselineXmlDefinition
-
Get-CMBoundary
-
Get-CMBoundaryGroup
-
Get-CMCategory
-
Get-CMClientAuthCertificateProfileConfigurationItem
-
Get-CMClientSetting
-
Get-CMCloudDistributionPoint
-
Get-CMComponentStatusSetting
-
Get-CMConfigurationItem
-
Get-CMConfigurationItemHistory
-
Get-CMConfigurationItemXmlDefinition
-
Get-CMDeployment
-
Get-CMDeploymentStatus
-
Get-CMDevice
-
Get-CMDeviceCollection
-
Get-CMDistributionPoint
-
Get-CMDistributionPointGroup
-
Get-CMDriver
-
Get-CMDriverPackage
-
Get-CMEndpointProtectionPoint
-
Get-CMEnrollmentPoint
-
Get-CMEnrollmentProxyPoint
-
Get-CMFallbackStatusPoint
-
Get-CMGlobalCondition
-
Get-CMHardwareRequirement
-
Get-CMInitialModifiableSecuredCategory
-
Get-CMIPSubnet
-
Get-CMManagementPoint
-
Get-CMManagementPointComponent
-
Get-CMMigrationCollection
-
Get-CMOperatingSystemImage
-
Get-CMOperatingSystemImageUpdateSchedule
-
Get-CMOperatingSystemInstaller
-
Get-CMPackage
-
Get-CMProgram
-
Get-CMRemoteConnectionProfileConfigurationItem
-
Get-CMRemoteConnectionProfileConfigurationItemXmlDefinition
-
Get-CMReportingServicePoint
-
Get-CMSecurityRole
-
Get-CMSecurityScope
-
Get-CMSite
-
Get-CMSitesystemServer
-
Get-CMSoftwareInventory
-
Get-CMSoftwareMeteringRule
-
Get-CMsoftwareUpdate
-
Get-CMSoftwareUpdateDeploymentPackage
-
Get-CMSoftwareUpdateGroup
-
Get-CMSoftwareUpdateLicnese
-
Get-CMSoftwareUpdatePoint
-
Get-CMStateMigrationPoint
-
Get-CMStatusMessageQuery
-
Get-CMStatusSummarizer
-
Get-CMSystemHealthValidatorPoint
-
Get-CMTaskSequence
-
Get-CMTrustedRootCertificateProfileConfigurationItem
-
Get-CMUser
-
Get-CMUserCollectoin
-
Get-CMUserDataAndProfileConfigurationItem
-
Get-CMUserDataAndProfileConfigurationItemXmlDefinition
-
Get-CMUserDeviceAffinity
-
Get-CMVpnProfileConfigurationItem
-
Get-CMVpnProfileConfigurationItem
-
Get-CMWindowsFirewallPolicy
-
Get-CMWinPEOptionalComponentInfo
-
Get-CMWirelessProfileConfigurationItem
-
Remove-CMAccount
-
Remove-CMAlertSubscription
-
Remove-CMAmtProvisioningDataBase
-
Remove-CMApplication
-
Remove-CMApplicationCatalogWebServicePoint
-
Remove-CMApplicationCatalogWebSitePoint
-
Remove-CMAppVVirtualEnvironment
-
Remove-CMAssetIntelligenceSynchronizationPoint
-
Remove-CMBoundaryGroup
-
Remove-CMClientSetting
-
Remove-CMConfigurationItem
-
Remove-CMDevice
-
Remove-CMDeviceCollectoin
-
Remove-CMDistributionPoint
-
Remove-CMDriver
-
Remove-CMEndpointProtectionPoint
-
Remove-CMEnrollmentPoint
-
Remove-CMEnrollmentProxyPoint
-
Remove-CMFallbackStatusPoint
-
Remove-CMGlobalCondition
-
Remove-CMManagementPoint
-
Remove-CMOperatingSystemImage
-
Remove-CMOperatingSystemInstaller
-
Remove-CMProgram
-
Remove-CMReportingServicePoint
-
Remove-CMSecurityRole
-
Remove-CMSecurityScope
-
Remove-CMSoftwareMeteringRule
-
Remove-CMSoftwareUpdateDeploymentPackage
-
Remove-CMSoftwareUpdatePoint
-
Remove-CMStateMigrationPoint
-
Remove-CMStatusMessageQuery
-
Remove-CMSystemHealthValidatorPoint
-
Remove-CMUser
-
Remove-CMUserCollection
-
Remove-DistributionPointGroup
-
Remove-OutOfBandServicePoint
-
-
Polecenie cmdlet Set-CMClientSetting obsługuje nowe parametry na podstawie rodzaju ustawienia klienta. Te parametry muszą być używane podczas zmieniania ustawień o tej samej nazwie.
-
-CloudServicesSettings
-
-EndpointProtectionSettings
-
-RemoteToolsSettings
-
-PowerManagementSettings
-
-StateMessageSettings
-
-UserDeviceAffinitySettings
-
-BitsSettings
-
-ClientPolicySettings
-
-ComplianceSettings
-
-ComputerAgentSettings
-
-ComputerRestartSettings
-
-MeteredNetworkSettings
-
-EnrollmentSettings
-
-HardwareInventorySettings
-
-NetworkAccessProtectionSettings
-
-SoftwareDeploymentSettings
-
-SoftwareMeteringSettings
-
-SoftwareUpdatesSettings
-
-SoftwareInventorySettings
-
-
Polecenie cmdlet Get-CMDeviceCollectionVariable umożliwia teraz wyświetlanie wszystkich zmiennych w określonej kolekcji.
Znane problemy
-
Polecenie cmdlet New-CMMigrationJob zwraca błędy podobne do następujących po wklejeniu kolekcji zagnieżdżonej do parametru -MigrationCollection:
New-CMMigrationJob : Wybierz co najmniej jedną kolekcję, aby kontynuować.
-
Niektóre polecenia cmdlet mogą zwracać naruszenie przydziału podczas pracy z dużymi zestawami wyników (zwykle kilka tysięcy obiektów). Aby zapobiec temu problemowi, zmień zapytanie używane do zwrócenia mniejszej liczby wyników.
-
Polecenie cmdlet Set-CMDistributionPoint nie aktualizuje wartości wygaśnięcia certyfikatu zgodnie z oczekiwaniami podczas używania go razem z parametrem -CertificateExpirationTimeUtc.
-
Z powodu dodatkowych zmian w źródłowym kodzie struktury Windows PowerShell, który jest używany przez wiele poleceń cmdlet, niektóre polecenia cmdlet nie będą już akceptować tablic jako danych wejściowych dla niektórych parametrów. Sprawdź składnię i typy danych wejściowych dla danego polecenia cmdlet za pomocą <cmdlet_name>.