none
Windows 10 Version 1803 以降の環境で Cookie が正常に保存できない RRS feed

  • 全般的な情報交換

  • こんにちは、Windows サポート Deployment チームの弓正です。

    Windows 10 Version 1803 以降の環境において Cookie が正常に保存できない事象が確認されております。
    この事象に起因し、Internet Explorer の Cookie を利用する他社製品も影響を受ける可能性がありますので、
    本事象についてご紹介いたします。

    この事象が発生するシナリオは以下の2つです。
    ・Windows 10 Version 1709 の環境にて Sysprep による CopyProfile を使用してイメージ展開を行った後、機能更新を適用した場合
    ・Windows 10 Version 1803 もしくはそれ以降の環境にて Sysprep による CopyProfile を使用してイメージ展開を行った場合
    (Windows 10 Version 1703 もしくはそれ以前の環境で Sysprep による CopyProfile を使用してイメージ展開し機能更新適用しても本事象は発生しません。)

    本事象の対処方法をマスターイメージ作成段階、展開済みの段階、それぞれ記載いたします。

    マスター イメージの作成段階で本事象を回避する場合、以下の手順を実施してください。
    ——————————————————————–
    1. マスター イメージを作成している端末においてメモ帳を開き、以下の内容を記載し、”SetupComplete.cmd” のファイルー名で、一旦任意の場所に保存します。

    ————-
    rmdir /s /q c:\Users\Default\AppData\Local\Microsoft\Windows\Webcache
    rmdir /s /q c:\Users\Default\AppData\Local\Microsoft\Windows\INetCache
    del %0
    ————-
    ※ del %0 コマンドで、実行後に自分自身の .bat ファイルも削除し、展開後のテンプレートに残らないようになっております。

    2. 保存した “SetupComplete.cmd” ファイルをテンプレートの
    以下のフォルダー内に保存します。

    C:\Windows\Setup\Scripts
    ※ Scripts フォルダは既定で存在しませんので新規に作成します。

    3. これまでの手順で Sysprep を行います。
    ———————————————————————-

    すでに展開済みの環境で問題が発生している場合、以下のスクリプトを vbs 形式で保存し、対象環境に管理者権限で実施していただくことで、既存ユーザーおよび新規ユーザーに対して事象が解消されます。

    On Error Resume Next
    Dim objFileSys
    Dim objFolder
    Dim objSubFolder
    
    strUsersFolder = "C:\Users\"
    strWebCacheFolder = "\AppData\Local\Microsoft\Windows\WebCache\"
    strINetCacheFolder = "\AppData\Local\Microsoft\Windows\INetCache\IE\"
    strINetCacheFolderLow = "\AppData\Local\Microsoft\Windows\INetCache\Low\IE\"
    
    Set objFileSys = WScript.CreateObject("Scripting.FileSystemObject")
    Set objShell = WScript.CreateObject("WScript.Shell")
    
    '起動中のプロセスやサービスを停止する
    ret = objShell.Run("net stop COMSysApp",0,true)
    ret = objShell.Run("taskkill /F /IM dllhost.exe",0,true)
    ret = objShell.Run("taskkill /F /IM taskhost.exe",0,true)
    ret = objShell.Run("taskkill /F /IM taskhostex.exe",0,true)
    ret = objShell.Run("taskkill /F /IM taskhostw.exe",0,true)
    
    'ユーザー フォルダーを取得する
    Set objFolder = objFileSys.GetFolder(strUsersFolder)
    
    'FolderオブジェクトのFilesプロパティからFileオブジェクトを取得
    For Each objSubFolder In objFolder.SubFolders
    
    '削除しなくてもよいユーザー以外の場合にのみ実行する
    If objSubFolder.Name <> "All Users" And _
    objSubFolder.Name <> "Public" And _
    objSubFolder.Name <> "Default User" Then
    
    'WebCache フォルダー
    strDelFolder = strUsersFolder + objSubFolder.Name + strWebCacheFolder
    If objFileSys.FolderExists(strDelFolder) Then
    If objFileSys.GetFolder(strDelFolder).Files.Count > 0 Then
    objFileSys.DeleteFile strDelFolder + "*.*", true
    End If
    End If
    
    'INetCache フォルダー
    strDelFolder = strUsersFolder + objSubFolder.Name + strINetCacheFolder
    If objFileSys.FolderExists(strDelFolder) Then
    If objFileSys.GetFolder(strDelFolder).Files.Count > 0 Then
    objFileSys.DeleteFile strDelFolder + "*.*", true
    End If
    If objFileSys.GetFolder(strDelFolder).SubFolders.Count > 0 Then
    objFileSys.DeleteFolder strDelFolder + "*", true
    End If
    End If
    
    'INetCache (Low) フォルダー
    strDelFolder = strUsersFolder + objSubFolder.Name + strINetCacheFolderLow
    If objFileSys.FolderExists(strDelFolder) Then
    If objFileSys.GetFolder(strDelFolder).Files.Count > 0 Then
    objFileSys.DeleteFile strDelFolder + "*.*", true
    End If
    If objFileSys.GetFolder(strDelFolder).SubFolders.Count > 0 Then
    objFileSys.DeleteFolder strDelFolder + "*", true
    End If
    End If
    End If
    Next
    
    'サービスを再開する
    ret = objShell.Run("net start COMSysApp",0,true)
    
    Set objSubFolder = Nothing
    Set objFileSys = Nothing
    Set objShell = Nothing


    本記事は予告なく変更される場合がございますのでご了承下さい。


    2018年11月20日 9:40
    所有者