MID サーバーの Windows サービスアカウントユーザーと権限の修正 目次 サービスユーザーに開始/停止権限を追加するログオンユーザーがローカルシステムであるかアドミニストレーターに属している サービスユーザーに開始/停止権限を追加する MID サーバーの現在のログオンユーザーに開始/停止権限がないと確認した場合は、以下の手順に従って権限を追加してください。 次のコードを含む GrantStartStopPerm.ps1 という名前の新しいファイルを作成します: Function GrantStartStopPerm { Param( [string]$username, [string]$servicename ) $user = New-Object System.Security.Principal.NTAccount($username) $sid = $user。Translate([System.Security.Principal.SecurityIdentifier]) を使用します。Value Write-Output "Sid : $sid" $sd = sc.exe sdshow $servicename Write-Output "SD value : $sd" if( !($sd -like "*$sid*") ){ $permsToAdd = [string]::Format(")(A;;LCRPWP;;;{0})S:(", $sid);if($sd -match [regex]::Escape(")S:(")){ $sd = $sd -replace [regex]::Escape(")S:("),"$permsToAdd" $result = sc.exe sdset $servicename $sd Write-Output "SDが変更されました:$sd";Write-Output "Result : $result";} }else{ Write-Output "sid is already part of SD" } } PowerShell コンソールを起動し、アドミニストレーターとして実行します。GrantStartStopPerm.ps1 ファイルからドットソース関数を使用してファイルをロードします。 例:C:\Users\mid_account\Desktop> . .\GrantStartStopPerm.ps1 アドミン以外のアカウントとサービス名を入力として、PowerShell ソース関数「GrantStartStopPerm」を実行します。 たとえば、次のようになります。 GrantStartStopPerm mid_account snc_mid_test Output line expection in success : Result : [SC] SetServiceObjectSecurity SUCCESS ログオンユーザーがローカルシステムであるかアドミニストレーターに属している MID サーバーの現在のログオンユーザーを「LocalSystem」であるか、アドミニストレーターグループに属しているユーザーだと確認した場合は、ServiceNow のドキュメントに記載されているとおりにログオンユーザーを変更する必要があります。以下の手順に従って変更してください。 新しい Windows ユーザーを作成します。 これは、ホストに対してローカルなユーザーか、ドメインユーザーにすることができます。ユーザーをローカルシステムまたはアドミニストレーターレベルのアカウント (ローカルアドミン、ドメインアドミンなど) にすることはできません。提供されるサービスアカウントには、サービスとしてログオンする権限があります。これは、アカウントをサービスのログオンユーザーとして使用するために必要です。「サービスとしてログオン」を使用して Windows サービスアカウントを作成する [KB0867669] ユーザーに開始/停止権限を追加します。(上記の手順を実行します)MID サーバーホストの config.xml ファイルの MID サーバーパラメーター mid.windows_host.file_permissions.allow_list にアカウント名を追加します。 この手順では、アドミン以外のアカウントを許可リストに追加します。mid.windows_host.file_permissions.allow_list の詳細と config.xml ファイルにパラメーターを追加する手順については、MID サーバーパラメーターを参照してください。注: ローカル ユーザーには ".\<username>" という形式を使用します。ドメイン アカウントは、SID を使用して指定する必要があります。「<domain>\<username>」またはuser@domain形式は使用しないでください。注:SID は、cmd プロンプトで次のコマンドを実行して、以下から取得できます。wmic useraccount where name='<username>' get name,sid. アドミニストレーター権限を持つユーザーまたはシステムとして実行するように MID サーバーサービスを一時的に設定します。注:新しいファイル権限適用ルールは、MID サーバーの起動時に有効になります。これらの変更を行うには、アドミン/システムとして実行する必要があります。MID サーバーを再起動します。MID サーバーサービスをアドミン以外の新しいユーザーアカウントに設定します。MID サーバーを再起動します。