0

さまざまなオペレーティング システムとソフトウェアをインストールするために使用しているタスク シーケンスがあります。タスク シーケンスは HTA を開き、技術者が選択できるオプションのリストを提供し、これらの選択に基づいてタスク シーケンス変数を作成します。この変数は、実行するステップを決定するためにタスク シーケンスの残りの部分で使用されます。

実行される最後の手順は、WriteRegistryImageSettings.vbsすべてのタスク シーケンス変数をレジストリにダンプすることです。

Windows 7 では動作しませんが、XP では動作します。

Set env = CreateObject("Microsoft.SMS.TSEnvironment")
Set objShell = CreateObject("WScript.Shell")
strKeyPath = "HKEY_LOCAL_MACHINE\SYSTEM\Image Settings\"
For Each var In env.GetVariables
    If Left(var,3) = "OSD" Then 
        objShell.RegWrite strKeyPath & var,env(var),"REG_SZ"
    End If
Next

また、このスクリプトをテキスト ファイルに書き込むことでログに記録しています。スクリプトの最後の行は次のとおりです。

objLog.WriteLine "Final Result: " & Err.Number & " " & Err.Description

これはログの結果です:Final Result: 451 Object not a collection

繰り返しますが、これは Windows XP で機能します。Windows 7 イメージで機能しない理由はありますか?

(実際には、以前に作成されたスクリプトに変数を渡していますが、これは Windows 7 で機能します。スクリプトのコマンド ラインは ですWriteRegistryImageSettings.vbs %OSDType%。このコード (スクリプトの前半) は次のとおりです。

Err.Clear
objLog.WriteLine "Attempting to write strImageType: """ & strImageType & """"
objShell.RegWrite strKeyPath & "ImageType",strImageType,"REG_SZ"
objLog.WriteLine "Result is " & Err.Number & " " & Err.Description

ログ ファイルには、この手順のエラー コードが表示0され、レジストリ設定が読み込まれます。)

4

1 に答える 1

0

タスク シーケンス ステップの [64 ビット ファイル リダイレクトを有効にする] のチェックを外して修正しました。

私はそれを以前に試していなかったなんて信じられない!

于 2013-11-05T17:42:01.053 に答える