【VBScript : WSH】 独断の XP 初期基本設定

  レジストリ部分 ( 主に )



bonurd.winofsql.jp/sb/log/eid157.html?bmode=ref
にある画像で示される設定を VBScript で行います。

  
str = WScript.FullName
str = Right( str, 11 )
str = Ucase( str )
if str <> "CSCRIPT.EXE" then
	strMessage = "コマンドプロンプトより cscript " & WScript.ScriptFullName
	strMessage = strMessage & " と指定して実行して下さい   " & vbCrLf & vbCrLf
	strMessage = strMessage & "( この文字列をクリップボードにコピーしたい場合は"
	strMessage = strMessage & " ctrl+c です )"
	WScript.Echo strMessage
	WScript.Quit
end if
' **********************************************************
' http://bonurd.winofsql.jp/sb/log/eid157.html?bmode=ref
' の処理をバッチで処理する
' **********************************************************

Set WshShell = WScript.CreateObject("WScript.Shell")
Set Fso = WScript.CreateObject("Scripting.FileSystemObject")
Const HKEY_CURRENT_USER = &H80000001
Const HKEY_LOCAL_MACHINE = &H80000002
Const NOT_HTTPS = &HFFFFFFFB

' **********************************************************
Wscript.Echo "クラシックスタートメニュー"
' **********************************************************
Set objRegistry = GetObject("Winmgmts:root\default:StdRegProv")
strPath = "Software\Microsoft\Windows\CurrentVersion\Explorer"
uBinary = Array( &H24,00,00,00,&H33,&H88,00,00,00,00,_
00,00,00,00,00,00,00,00,00,00,_
&H1,00,00,00,&Hd,00,00,00,00,00,_
00,00,00,00,00,00 )
Call objRegistry.SetBinaryValue(HKEY_CURRENT_USER, _
	strPath, _
	"ShellState", _
	uBinary)

' **********************************************************
Wscript.Echo "クリーンアップを自動的に実行しない"
' **********************************************************
strPath = "Software\Software\Microsoft\Windows\CurrentVersion\Explorer\Desktop\CleanupWiz"
Call objRegistry.SetDwordValue(HKEY_CURRENT_USER, _
	strPath, _
	"NoRun", _
	1)

' **********************************************************
Wscript.Echo "デスクトップアイコンの表示"
' **********************************************************
strPath = "Software\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\ClassicStartMenu"
Call objRegistry.SetDwordValue(HKEY_CURRENT_USER, _
	strPath, _
	"{208D2C60-3AEA-1069-A2D7-08002B30309D}", _
	0)
Call objRegistry.SetDwordValue(HKEY_CURRENT_USER, _
	strPath, _
	"{20D04FE0-3AEA-1069-A2D8-08002B30309D}", _
	0)
Call objRegistry.SetDwordValue(HKEY_CURRENT_USER, _
	strPath, _
	"{450D8FBA-AD25-11D0-98A8-0800361B1103}", _
	0)
Call objRegistry.SetDwordValue(HKEY_CURRENT_USER, _
	strPath, _
	"{871C5380-42A0-1069-A2EA-08002B30309D}", _
	0)
strPath = "Software\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\NewStartPanel"
Call objRegistry.SetDwordValue(HKEY_CURRENT_USER, _
	strPath, _
	"{208D2C60-3AEA-1069-A2D7-08002B30309D}", _
	0)
Call objRegistry.SetDwordValue(HKEY_CURRENT_USER, _
	strPath, _
	"{20D04FE0-3AEA-1069-A2D8-08002B30309D}", _
	0)
Call objRegistry.SetDwordValue(HKEY_CURRENT_USER, _
	strPath, _
	"{450D8FBA-AD25-11D0-98A8-0800361B1103}", _
	0)
Call objRegistry.SetDwordValue(HKEY_CURRENT_USER, _
	strPath, _
	"{871C5380-42A0-1069-A2EA-08002B30309D}", _
	0)

' **********************************************************
Wscript.Echo "壁紙なし"
' **********************************************************
strPath = "Software\Microsoft\Internet Explorer\Desktop\General"
Call objRegistry.SetStringValue(HKEY_CURRENT_USER, _
	strPath, _
	"Wallpaper", _
	"")
Call objRegistry.SetStringValue(HKEY_CURRENT_USER, _
	strPath, _
	"BackupWallpaper", _
	"")
strPath = "Control Panel\Desktop"
Call objRegistry.SetStringValue(HKEY_CURRENT_USER, _
	strPath, _
	"Wallpaper", _
	"")

' **********************************************************
Wscript.Echo "タスクパー"
' **********************************************************
strPath = "Software\Microsoft\Windows\CurrentVersion\Explorer"
Call objRegistry.SetDwordValue(HKEY_CURRENT_USER, _
	strPath, _
	"EnableAutoTray", _
	1)

' グループ化
strPath = "Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced"
Call objRegistry.SetDwordValue(HKEY_CURRENT_USER, _
	strPath, _
	"TaskbarGlomming", _
	1)
' グループ化を開始する数
Call objRegistry.SetDwordValue(HKEY_CURRENT_USER, _
	strPath, _
	"TaskbarGroupSize", _
	2)

' 固定
Call objRegistry.SetDwordValue(HKEY_CURRENT_USER, _
	strPath, _
	"TaskbarSizeMove", _
	0)


' **********************************************************
Wscript.Echo "スタートメニュー"
' **********************************************************
strPath = "Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced"
Call objRegistry.SetStringValue(HKEY_CURRENT_USER, _
	strPath, _
	"StartMenuAdminTools", _
	"YES")
Call objRegistry.SetDwordValue(HKEY_CURRENT_USER, _
	strPath, _
	"StartMenuLogoff", _
	1)

' **********************************************************
Wscript.Echo "フォルダオプション"
' **********************************************************
strPath = "Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced"
Call objRegistry.SetDwordValue(HKEY_CURRENT_USER, _
	strPath, _
	"WebView", _
	0)

' **********************************************************
Wscript.Echo "フォルダ詳細設定"
' **********************************************************
strPath = "Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced"
Call objRegistry.SetDwordValue(HKEY_CURRENT_USER, _
	strPath, _
	"Hidden", _
	1)
Call objRegistry.SetDwordValue(HKEY_CURRENT_USER, _
	strPath, _
	"HideFileExt", _
	0)
Call objRegistry.SetDwordValue(HKEY_CURRENT_USER, _
	strPath, _
	"ShowSuperHidden", _
	1)
Call objRegistry.SetDwordValue(HKEY_CURRENT_USER, _
	strPath, _
	"SuperHidden", _
	0)
Call objRegistry.SetDwordValue(HKEY_CURRENT_USER, _
	strPath, _
	"WebViewBarricade", _
	1)
strPath = "Software\Microsoft\Windows\CurrentVersion\Explorer\CabinetState"
Call objRegistry.SetDwordValue(HKEY_CURRENT_USER, _
	strPath, _
	"FullPathAddress", _
	1)

strPath = "SYSTEM\ControlSet001\Control\Lsa"
Call objRegistry.SetDwordValue(HKEY_LOCAL_MACHINE, _
	strPath, _
	"forceguest", _
	0)
strPath = "SYSTEM\CurrentControlSet\Control\Lsa"
Call objRegistry.SetDwordValue(HKEY_LOCAL_MACHINE, _
	strPath, _
	"forceguest", _
	0)


' **********************************************************
Wscript.Echo "インターネットのセキュリティ設定"
' **********************************************************
strPath = "Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\3"
Call objRegistry.SetDwordValue(HKEY_CURRENT_USER, _
	strPath, _
	"2200", _
	0)

' **********************************************************
Wscript.Echo "信頼するサイトの設定"
' **********************************************************
strPath = "Software\Microsoft\Windows\CurrentVersion\" _
	& "Internet Settings\Zones\2"
strValueName = "Flags"
objRegistry.GetDwordValue HKEY_CURRENT_USER,strPath,strValueName,dwValue
dwValue = dwValue and NOT_HTTPS
objRegistry.SetDwordValue HKEY_CURRENT_USER,strPath,strValueName,dwValue

strPath = "Software\Microsoft\Windows\CurrentVersion\" _
	& "Internet Settings\ZoneMap\Domains\localhost"
objRegistry.CreateKey HKEY_CURRENT_USER, strPath

' http プロトコルで信頼済みサイト
objRegistry.SetDwordValue HKEY_CURRENT_USER,strPath,"http",2

' **********************************************************
Wscript.Echo "コマンドプロンプトの設定"
' **********************************************************
objRegistry.CreateKey HKEY_CURRENT_USER, "Console\%SystemRoot%_system32_cmd.exe"
strPath = "Console\%SystemRoot%_system32_cmd.exe"
Call objRegistry.SetDwordValue(HKEY_CURRENT_USER, _
	strPath, _
	"QuickEdit", _
	1)
Call objRegistry.SetDwordValue(HKEY_CURRENT_USER, _
	strPath, _
	"CodePage", _
	&H3a4)
Call objRegistry.SetDwordValue(HKEY_CURRENT_USER, _
	strPath, _
	"FontSize", _
	&H120008)
Call objRegistry.SetDwordValue(HKEY_CURRENT_USER, _
	strPath, _
	"FontWeight", _
	&H190)
Call objRegistry.SetDwordValue(HKEY_CURRENT_USER, _
	strPath, _
	"HistoryNoDup", _
	0)

' **********************************************************
Wscript.Echo "前回のログオンユーザを表示"
' **********************************************************
strPath = "SOFTWARE\Microsoft\Windows\CurrentVersion\policies\system"
Call objRegistry.SetDwordValue(HKEY_LOCAL_MACHINE, _
	strPath, _
	"dontdisplaylastusername", _
	0)

  



  Lhaca と Terapad



  
str = WScript.FullName
str = Right( str, 11 )
str = Ucase( str )
if str <> "CSCRIPT.EXE" then
	strMessage = "コマンドプロンプトより cscript " & WScript.ScriptFullName
	strMessage = strMessage & " と指定して実行して下さい   " & vbCrLf & vbCrLf
	strMessage = strMessage & "( この文字列をクリップボードにコピーしたい場合は"
	strMessage = strMessage & " ctrl+c です )"
	WScript.Echo strMessage
	WScript.Quit
end if
' **********************************************************
' http://bonurd.winofsql.jp/sb/log/eid157.html?bmode=ref
' lhaca と terapad 部分のインストールと設定
' **********************************************************

Set WshShell = WScript.CreateObject("WScript.Shell")
Set WshNetwork = WScript.CreateObject("WScript.Network")
Set Fso = WScript.CreateObject("Scripting.FileSystemObject")
Set Shell = WScript.CreateObject("Shell.Application")
Const HKEY_CURRENT_USER = &H80000001
Const HKEY_LOCAL_MACHINE = &H80000002
Const NOT_HTTPS = &HFFFFFFFB
Const PROGRAM_FILES = &H26


strWinDir = WMIGetWindowsDirectory()
strUser = WshNetwork.UserName

Set objFolder = Shell.Namespace(PROGRAM_FILES)
Set objFolderItem = objFolder.Self
strProg = objFolderItem.Path

' **********************************************************
' Lhaca
' HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
' **********************************************************
if Fso.FileExists(strProg & "\Lhaca\Lhaca.exe") then
'	Call WshShell.Run( """" & strProg & "\Lhaca\Lhaca.exe"" /u", 0, True )
end if
'Call WshShell.Run( "lhaca120.exe", 0, True )
Call Fso.CopyFile( "Lhaca.ini", strWinDir & "\", True )
Call Fso.CopyFile( "+Lhaca.lnk", WshShell.SpecialFolders("SendTo") & "\", True )

' **********************************************************
' Terapad 設定
' **********************************************************
on error resume next
Call Fso.CreateFolder( strProg & "\TeraPad" )
Call Fso.CreateFolder( strProg & "\TeraPad\usr" )
Call Fso.CreateFolder( strProg & "\TeraPad\usr\" & strUser )
on error goto 0
Call Fso.CopyFile( "tpad090\*.*", strProg & "\TeraPad\", True )
Call Fso.CopyFile( "tpad090\usr\lightbox\TeraPad.ini", strProg & "\TeraPad\usr\" & strUser & "\", True )
Call Fso.CopyFile( "TeraPad.lnk", WshShell.SpecialFolders("SendTo") & "\", True )

' **********************************************************
' お気に入り
' **********************************************************
Call Fso.CopyFile( "Lightbox Info Board.url", WshShell.SpecialFolders("Favorites") & "\", True )
Call Fso.CopyFile( "R205 掲示板.url", WshShell.SpecialFolders("Favorites") & "\", True )
Call Fso.CopyFile( "SQLの窓.url", WshShell.SpecialFolders("Favorites") & "\", True )

' **********************************************************
' デスクトップ
' **********************************************************
Call Fso.CopyFile( "desktop_icons\*.*", WshShell.SpecialFolders("Desktop") & "\", True )


' **********************************************************
' システムディレクトリの取得
' **********************************************************
Function WMIGetWindowsDirectory( )

	Dim strComputer,objWMIService,colOSes,objOS

	strComputer = "."
	Set objWMIService = GetObject("winmgmts:" _
	 & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
 
	Set colOSes = objWMIService.ExecQuery("Select * from Win32_OperatingSystem")
	For Each objOS in colOSes
		WMIGetWindowsDirectory = objOS.WindowsDirectory
	Next

End Function
  



  上記コードの呼び出しとその他いろいろ

  
<JOB>
<COMMENT>
************************************************************
 標準的なオブジェクトを作成
************************************************************
</COMMENT>
<OBJECT id="WshShell" progid="WScript.Shell" />
<OBJECT id="Fso" progid="Scripting.FileSystemObject" />

<SCRIPT language=VBScript>
' **********************************************************
' c:\user 作成
' **********************************************************
on error resume next
Fso.CreateFolder( "c:\user" )
Fso.CreateFolder( "c:\user\web" )
Fso.CreateFolder( "c:\user\web\asp" )
Fso.CreateFolder( "c:\user\web\php" )
on error goto 0

Call WshShell.Run( "cmd.exe /c cscript.exe _env_setting_a.vbs & pause", , True )
Call WshShell.Run( "cmd.exe /c cscript.exe _env_setting_b.vbs & pause", , True )

Call WshShell.Run( "regedit.exe /s Directory.regist", , True )
Call WshShell.Run( "regedit.exe /s Drive.regist", , True )
Call WshShell.Run( "regedit.exe /s ieMain.regist", , True )
Call WshShell.Run( "regedit.exe /s ieViewSrc.regist", , True )
Call WshShell.Run( "regedit.exe /s ExplorerAdvanced.regist", , True )

on error resume next
Call WshShell.Run( "rundll32 printui.dll,PrintUIEntry /in /n""\\sv25\Canon LBP-430""", , True )
Call WshShell.Run( "rundll32 printui.dll,PrintUIEntry /y /n ""\\sv25\Canon LBP-430""", , True )
on error goto 0

</SCRIPT>
</JOB>
  












  infoboard   管理者用   
このエントリーをはてなブックマークに追加





フリーフォントWEBサービス
SQLの窓WEBサービス

SQLの窓フリーソフト

素材

一般WEBツールリンク

SQLの窓

フリーソフト

JSライブラリ