AzureでMicrosoftHPCServer 2012ワーカーの役割を使用しようとすると、この問題が発生しました。主にクライアントアプリケーション内の日付フォーマットの問題のために、マシンに作業を送信したすべてのユーザーをen-USではなくen-GBに設定する必要がありました。
私の解決策は、デフォルトユーザーのNTUSER.DATファイルを修正することでした。これは、将来のすべてのユーザーが作成されるテンプレートです。この特定のワーカーロールを使用して、そのファイルはに保存されましD:\Users\Default User\NTUSER.DAT
たが、物理サーバーはそれをCに配置します。
フォルダオプションに移動し、[保護されたオペレーティングシステムファイルを非表示にする]をオフにして、[隠しファイルを表示する]をオンにしない限り、Windowsエクスプローラでそのファイルを表示することはできません。
次に、ユーザーレジストリキーに必要な変更を加えることができます。次にプロファイルを作成するユーザーは、それらの設定を継承します。Azureスタートアップスクリプトはローカルユーザーが作成される前に実行されるため、すべての新しいユーザーにこれらのデフォルトを継承させることができます。
これは、Azureワーカーの役割がen-USではなくen-GBを使用することを保証するPowerShellスクリプトです。
[CmdletBinding(SupportsShouldProcess=$True)]
Param(
[string]
$NTUserDatPath = "D:\Users\Default User\NTUSER.DAT"
)
If(!(Test-Path $NTUserDatPath)){
" Write-Error $NTUserDatPath incorrect"
}
REG load HKLM\TempHive $NTUserDatPath
$Default = "HKLM:\TempHive\Control Panel\International"
Set-ItemProperty -Path $Default -Name "iCountry" -Value "44" -Force
Set-ItemProperty -Path $Default -Name "Locale" -Value "00000809" -Force
Set-ItemProperty -Path $Default -Name "LocaleName" -Value "en-GB" -Force
Set-ItemProperty -Path $Default -Name "sCountry" -Value "United Kingdom" -Force
Set-ItemProperty -Path $Default -Name "sCurrency" -Value "£" -Force
Set-ItemProperty -Path $Default -Name "sLanguage" -Value "ENG" -Force
Set-ItemProperty -Path $Default -Name "sLongDate" -Value "dd MMMM yyyy" -Force
Set-ItemProperty -Path $Default -Name "sShortDate" -Value "dd/MM/yyyy" -Force
Set-ItemProperty -Path $Default -Name "sTimeFormat" -Value "HH:mm:ss" -Force
Set-ItemProperty -Path $Default -Name "sShortTime" -Value "HH:mm" -Force
Set-ItemProperty -Path $Default -Name "iDate" -Value "1" -Force
Set-ItemProperty -Path $Default -Name "iFirstDayOfWeek" -Value "0" -Force
Set-ItemProperty -Path $Default -Name "iFirstWeekOfYear" -Value "2" -Force
Set-ItemProperty -Path $Default -Name "iMeasure" -Value "0" -Force
Set-ItemProperty -Path $Default -Name "iNegCurr" -Value "1" -Force
Set-ItemProperty -Path $Default -Name "iPaperSize" -Value "9" -Force
Set-ItemProperty -Path $Default -Name "iTime" -Value "1" -Force
Set-ItemProperty -Path $Default -Name "iTLZero" -Value "1" -Force
REG unload HKLM\TempHive
これがGitHubのライブバージョンです