スキップしてメイン コンテンツへ

 none
Windows 8で、Win32_Tpm Classの Clear mothodを使用するとエラーになる RRS feed

  • 質問

  • WMIのWin32_Tpmクラスを使用してVBSでTPMをクリアするスクリプトをWindows 7で使用していました。

    このスクリプトを Windows 8で使用するとエラーが発生します。このエラーの原因と回避方法を教えていただけないでしょうか?

    発生するエラー: -2144862203 (0x80280005) 無効化フラグのクリアが設定され、すべてのクリア操作が物理アクセスを要求しています。

    スクリプトは要所だけ抽出したものですが、こちらになります。

    Option Explicit
    ' ClearTest.vbs /p:TPM所有者パスワード
    Dim passwd
    passwd = WScript.Arguments.Named("p")
    Main(passwd)
    WScript.Quit(0)

    Sub Main(passwd)

     On Error Resume Next

     Dim objService, Result, rc, abOwnerAuthDigest

     Set objService = GetObject("winmgmts:" & "{impersonationLevel=impersonate,authenticationLevel=pktPrivacy}!\\.\root\CIMV2\Security\MicrosoftTpm")
     Set Result = objService.Get("Win32_Tpm=@")
     rc = Result.ConvertToOwnerAuth(passwd, abOwnerAuthDigest)
    ' On Error GoTo 0
     rc = Result.Clear(abOwnerAuthDigest)
     If rc = 0 Then
      WScript.Echo "Win32_Tpm::Clear() SUCCESS."
     Else
      WScript.Echo "FAILED: Clear() returns 0x" & Hex(rc)
     End If

    End Sub

    どうぞよろしくお願いします。

    2013年8月28日 8:26

すべての返信

  • フォーラム オペレーターの星 睦美です。
    onebe-fujita さん、投稿ありがとうございます。


    コードの問題かハードウェアの問題か切り分けができると、フォーラムでの回答も集まりやすくなるのではないかと思います。
    BIOS でのTPM の状態を確認いただくとトラブルシューティングの手がかりになるかも知れません。

    コンピューターにTPM が搭載されているかどうかはどのように確認すればよいでしょうか。


    フォーラム オペレーター 星 睦美 - MSDN Community Support

    2013年8月28日 9:29
  • 星さん

    アドバイスありがとうございます。

    ご指摘の、コードかハードウエアの切り分けに関してですが、ハードウエアの問題で無いことは確認できています。複数のPCで同様の現象になります。

    コードそのものは、Windows 7 + TPMの環境で正常に動作するもので、コーディング(文法)の問題では無いことも確認できています。

    私の調べた範囲では、Windows 7 と Windows 8で、TPMに関するローカルグループポリシーが変更されていることが関係してると思っています。

    ただ、どのローカルグループポリシーが関係しているのか、どのようにローカルグループポリシーを変更すればエラーが発生しなくなるかについては判明しませんでした。

    Windows 8で変更されたTPMに関する設定や機能の違いについて詳細な情報が書いてあるサイトなどがあれば、ご紹介いただけると助かります。

    2013年8月28日 10:00
  • 日本語での情報がなく、英語ですがTechNet ライブラリにWindows 8 向けのTPM に関する説明があります。

    (参考情報)
    ・Trusted Platform Module Technology Overview: (英語)
    http://technet.microsoft.com/en-us/library/jj131725.aspx

    ・TPM Cmdlets in Windows PowerShell:(英語)
    http://technet.microsoft.com/en-us/library/jj603116.aspx


    フォーラム オペレーター 星 睦美 - MSDN Community Support


    • 編集済み 星 睦美 2013年8月30日 1:43 PowerShellを追加
    2013年8月30日 0:58