2011年11月22日火曜日

ログオンスクリプトでスクリーンセイバーの伝言板を統一する方法

企業内でスクリーンセイバーの伝言板を統一したいというニーズは有るかと思います。
それに対応するためのVBスクリプトを書きました。
サーバーに共有フォルダを作成し、「伝言板.txt」を保存することで、表示する文字列を簡単に変更することが可能です。

Dim WshShell

'コンフィルファイル名
configname="\\Server\伝言板.txt"

'値を代入する変数と、検索するキーと、デフォルト値
Value = readconf("TXT","0")
'Wscript.echo Value

Set WshShell=WScript.CreateObject("WScript.Shell")
WshShell.RegWrite "HKCU\Control Panel\Screen Saver.Marquee\Text",Value, "REG_SZ"
'終了
WScript.quit

'読みとり関数
Private Function readconf(key,def)

  Dim c,conf,LD

  Set c=CreateObject("Scripting.FileSystemObject")
  Set conf=c.OpenTextFile(configname)

  readconf=def
  key=key & "="

  Do While conf.AtEndOfStream <> True

    LD = conf.readline
    If (left(trim(LD),1)<>"#") and (Len(Trim(LD))<>0) then
      If len(key) < len(LD) then
        If left(LD,len(key))=key then
          readconf=right(LD,len(LD)-Len(key))
        End if
      End if
    End if

  Loop

  conf.close
  set c = nothing

End Function

伝言板.txtの書き方

TXT=こんにちは