SCCM CDS ワークフロー [SCCM アプリケーションの展開] での PowerShell アクティビティが断続的に失敗し、「ローカル MID サーバーサービス認証情報を使用した認証に失敗しました (Authentication Failure with the local MID Server service credential)」というエラーが発生するIssue <!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } span { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } h2 { font-size: 24pt; font-family: Lato; color: var(--now-color--text-primary, black); } h3 { font-size: 18pt; font-family: Lato; color: var(--now-color--text-primary, black); } h4 { font-size: 14pt; font-family: Lato; color: var(--now-color--text-primary, black); } a { font-size: 12pt; font-family: Lato; color: var(--now-color--link-primary, #00718F); } a:hover { font-size: 12pt; color: var(--now-color--link-primary, #024F69); } a:target { font-size: 12pt; color: var(--now-color--link-primary, #032D42); } a:visited { font-size: 12pt; color: var(--now-color--link-primary, #00718f); } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } SCCM CDS ワークフロー「SCCM アプリケーションの展開」の PowerShell アクティビティ (「デバイスがコレクションにある」、「デバイスコレクションに追加」など) が「ローカル MID サーバーサービス認証情報を使用した認証に失敗しました」というエラーで断続的に失敗します。 これは、追加の SMS プロバイダーが環境にインストールされた後に発生します。 (SMS プロバイダーは、サイトで Configuration Manager データベースへの読み取りおよび書き込みアクセスを割り当てる Windows Management Instrumentation (WMI) プロバイダー です。 この問題により、SCCM スポークフローにも問題が発生し、アクションが失敗してアクセスが拒否されたというエラーが発生する場合があります。 SMS プロバイダーを確認するには: 以下のスクリーンショットのように、SMSプロバイダーは1つしかありません。環境に 2 つ以上のプロバイダーがある場合は、この KB が適用されます。 Release<!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } span { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } h2 { font-size: 24pt; font-family: Lato; color: var(--now-color--text-primary, black); } h3 { font-size: 18pt; font-family: Lato; color: var(--now-color--text-primary, black); } h4 { font-size: 14pt; font-family: Lato; color: var(--now-color--text-primary, black); } a { font-size: 12pt; font-family: Lato; color: var(--now-color--link-primary, #00718F); } a:hover { font-size: 12pt; color: var(--now-color--link-primary, #024F69); } a:target { font-size: 12pt; color: var(--now-color--link-primary, #032D42); } a:visited { font-size: 12pt; color: var(--now-color--link-primary, #00718f); } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } Cause<!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } span { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } h2 { font-size: 24pt; font-family: Lato; color: var(--now-color--text-primary, black); } h3 { font-size: 18pt; font-family: Lato; color: var(--now-color--text-primary, black); } h4 { font-size: 14pt; font-family: Lato; color: var(--now-color--text-primary, black); } a { font-size: 12pt; font-family: Lato; color: var(--now-color--link-primary, #00718F); } a:hover { font-size: 12pt; color: var(--now-color--link-primary, #024F69); } a:target { font-size: 12pt; color: var(--now-color--link-primary, #032D42); } a:visited { font-size: 12pt; color: var(--now-color--link-primary, #00718f); } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } この問題は、MID サーバーホストで以下の powershell コマンドを繰り返し実行することで再現できるはずですが、認証エラーが断続的に失敗します。 $cred = get-credential;$computer = "[SCCMServerFQDN]";$session = New-PSSession -ComputerName $computer -Credential $cred;Invoke-Command -Session $session -ScriptBlock {Import-Module -Name "$(split-path $Env:SMS_ADMIN_UI_PATH)\ConfigurationManager.psd1";}remove-pssession $session この問題は、追加された SMS プロバイダーが原因で発生します。リモート powershell コマンドを実行している場合は、定義された認証情報オブジェクトを使用して SCCM サーバーに接続し、SCCM サーバーからモジュールをロードし、保存された認証情報を別の SMS サーバーに対して認証しようとします。この新しい SMS サーバーは 2 番目のノードと見なされ、これはセカンドホップ状況になります。これは以下の Microsoft の記事に記載されています。https://devblogs.microsoft.com/scripting/enable-powershell-second-hop-functionality-with-credssp/ Resolution<!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } span { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } h2 { font-size: 24pt; font-family: Lato; color: var(--now-color--text-primary, black); } h3 { font-size: 18pt; font-family: Lato; color: var(--now-color--text-primary, black); } h4 { font-size: 14pt; font-family: Lato; color: var(--now-color--text-primary, black); } a { font-size: 12pt; font-family: Lato; color: var(--now-color--link-primary, #00718F); } a:hover { font-size: 12pt; color: var(--now-color--link-primary, #024F69); } a:target { font-size: 12pt; color: var(--now-color--link-primary, #032D42); } a:visited { font-size: 12pt; color: var(--now-color--link-primary, #00718f); } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } これを機能させるには、セカンドホップの状況を回避するためのいくつかのオプションを提供する以下の Microsoft Doc を確認してください。 https://docs.microsoft.com/en-us/powershell/scripting/learn/remoting/ps-remoting-second-hop?view=powershell-7.1 オプションを使用するには:「RunAs を使用した PSSessionConfiguration」 SCCM サーバーで、以下の powershell コマンドを実行して新しいセッション構成を登録します。 Register-PSSessionConfiguration -Name sccm -RunAsCredential lab02\administrator -MaximumReceivedDataSizePerCommandMB 1000 -MaximumReceivedObjectSizeMB 1000 注意:>ユーザー名を実際の認証情報に置き換えます。>、この構成はサーバー/サービスの再起動後も引き続き有効です 上記が完了したら:次に、ServiceNow インスタンスで、SCCM.psm1 > [MID サーバー>スクリプトファイル] に移動し>以下の行を変更します変更前:$session = New-PSSession -ComputerName $sccmServerName -ConfigurationName Microsoft.PowerShell32 -Credential $credential;変更後:$session = New-PSSession -ComputerName $sccmServerName -ConfigurationName sccm -Credential $credential; また、別のスクリプト ファイル Credentials.psm1 (親が PowerShell であるものでは、ビジネス ルール "名前のスペースとコロンの重複を防止 を一時的にオフにする必要がある場合もあります)関数 testCredentialSCCM を見つけて、以下の行を変更します。変更前:$session = CreatePSSessionWithComputerName -Host $computer -ConfigurationName Microsoft.PowerShell32 -Credential $cred;変更後:$session = New-PSSession -ComputerName $computer -ConfigurationName sccm -Credential $cred; スクリプトファイル SCCMMain.psm1 も変更します。以下の行を変更:$session = New-PSSession -ComputerName $sccmServerName -ConfigurationName Microsoft.PowerShell32 -Credential $credential;変更後:$session = New-PSSession -ComputerName $sccmServerName -ConfigurationName sccm -Credential $credential; オプションを使用するには:「CredSSP」 CredSSP を有効にするために、MID サーバーホストで Enable-WSManCredSSP コマンドを実行し、ターゲット SCCM で Enable-WSMaCredSSP を実行します。以下のMicrosoftの記事を参照してください。この記事には、これらのコマンドをどこでどのように適用するかを理解しやすくするための非常に詳細なソリューションとフローチャートが含まれています。 https://devblogs.microsoft.com/scripting/enable-powershell-second-hop-functionality-with-credssp/ 次に、ServiceNow インスタンスで、SCCM.psm1 > [MID サーバー>スクリプトファイル] に移動し>以下の行を変更します。変更前:$session = New-PSSession -ComputerName $sccmServerName -ConfigurationName Microsoft.PowerShell32 -Credential $credential;変更後:$session = New-PSSession -ComputerName $sccmServerName -ConfigurationName Microsoft.PowerShell32 -Credential $credential -Authentication CredSSP; また、別のスクリプトファイル Credentials.psm1 (親が PowerShell であるもの) の場合も、関数 testCredentialSCCM を見つけて、以下の行を変更します。 変更前: $session = CreatePSSessionWithComputerName -Host $computer -ConfigurationName Microsoft.PowerShell32 -Credential $cred; 変更後: $session = New-PSSession -ComputerName $computer -ConfigurationName Microsoft.PowerShell32 -Credential $cred -Authentication CredSSP; SCCM スポーク (SCCM フローアクション) を使用する場合は、スクリプトファイル SCCMMain.psm1 も変更します。 以下の行を変更: $session = New-PSSession -ComputerName $sccmServerName -ConfigurationName Microsoft.PowerShell32 -Credential $credential; 変更後: $session = New-PSSession -ComputerName $sccmServerName -ConfigurationName Microsoft.PowerShell32 -Credential $credential -Authentication CredSSP;