01 9:00-19:40 2:00 アーカイブサーバ構築
02 9:00-17:40
03 9:00-19:40 2:00 会計サーバ構築
04 9:00-12:00 午後半休
07 9:00-19:00 1:20 アーカイブサーバ構築(ドキュメント)
08 9:00-18:40 1:00 ICAライセンスサポートサーバDISK枯渇対応
09 9:00-18:40 1:00 NETCA文字化け対応方法調査
10 9:00-18:40 1:00 Acronis導入ドキュメント
11 9:00-17:40 Acronisエージェント導入
15 9:00-18:40 1:00 ECサイト構築
16 9:00-18:40 1:00 ECサイト構築
17 6:00-20:40 6:00 Acronisエージェント導入
18 9:00-20:40 3:00 ECサイト構築
21 9:00-18:55 1:15 ECサイトのAcronis実施検証
22 9:00-19:40 2:00 Acronis導入(電話帳と複合機)
23 9:00-18:40 1:00 Acronisユーザガイドフォロー
24 9:00-20:00 2:20 DNSCmd一括バッチの作成
25 9:00-21:00 3:20 サーバプロテクト運用レビュ準備とレビュー後フォロー
28 9:00-20:00 2:20 ECサイト構築
29 9:00-22:00 4:20 シンクライアントサーバ構築
30 9:00-17:40 シンクライアントサーバ構築
31 9:00-17:40 Acronis導入ドキュメント
2013年10月30日水曜日
2013年10月25日金曜日
VBS2
'##############################################################
'# DSN レコードの更新処理
'# 機能:
'# 入力ファイルの情報からDSNレコードへ追加
'# 入力ファイルの情報からDSNレコードから削除
'# 入力パラメータのフォーマットチェック
'#
'# 実行方法:コマンドコンソールから実施する
'# cscript //nologo CS_DNSUpdate.vbs > DNSUpdate.log &
'# cscript //nologo CS_DNSUpdate.vbs CHK > DNSUpdate.log &
'#
'#
'# 実行時の注意
'# 1.オプション:CHKを付けてエラーチェックのみを行う。
'# 2.エラーがある場合はエラーを修正し、CHKオプションでログにエラーが無くなるまで実行する
'# 3.エラーがない状態で、CHKオプションを外して本実行する
'#
'# 入力パラメータファイル:
'# 当スクリプトと同場所 CS_DNSUpdate.ini
'# フォーマット:
'# 項目左詰,半角スペースのセパレータ
'# 項目:
'# システム名、DNSアドレス、ドメイン名、ホスト名、IPアドレス、災対IPアドレス
'#
'# システムの単位で登録する
'# 行をコメントにする場合は、先頭#文字
'# 全ての項目は、入力必須、ブランク、空白は不可でこの事象に該当する場合部分エラーとなる
'# CHKオプション付きで実行してフォーマットをチェックしてから、CHKオプションを外して実行することを推奨します。
'#
'# ログファイル:
'# 当スクリプトと同場所 DNSUpdate.log
'#
'# UPDATE 2013/10/24
'#
'##############################################################
'Option Explicit
' グローバル定義
Dim sCheck 'パラメータ1 1:チェック
Dim iStepNo : iStepNo = 1 'ステップ番号
Dim msg : msg = "" 'メッセージ
Dim sComputer
Dim URL
'****************************************************************
' 関数
'****************************************************************
'' メッセージレベル
Const MSGLEVEL_I = " I " ' INFOMATION
Const MSGLEVEL_W = " W " ' WARNING
Const MSGLEVEL_E = " E " ' ERROR_
Const MSGLEVEL_S = " S " ' SEVERE_ERROR
'' コマンド@@
Const DNSCMD = "xdnscmd" ' DNS CMD COMMAND
'' OPTION
Const CHK = "CHK" ' RUN OPTION
Const ExE = "EXE" ' RUN OPTION
Const INI_FILE = "CS_DNSUpdate.ini" ' Fie
Const LOG_FILE = "CS_DNSUpdate.log" ' Fie
'****************************************************************
sCheck = Main_Init()
Call Main(sCheck)
WScript.Quit (0)
'**************************************************************
' メイン処理
'**************************************************************
Sub Main(flg)
Dim infile
Dim outfile
infile = Left(WScript.ScriptFullName,InStrRev(WScript.ScriptFullName,"\")) & INI_FILE
outfile = Left(WScript.ScriptFullName,InStrRev(WScript.ScriptFullName,"\")) & LOG_FILE
WScript.Echo now & "** DNS UPDATE START ** "
Dim WshShell
Set WshShell = WScript.CreateObject("WScript.Shell")
WScript.Echo now & "** DNS UPDATE Main ** flg=" & flg
DnsRecordAddMain infile,flg
DnsRecordDelMain infile,flg
WScript.Echo now & "** DNS UPDATE STOP ** "
End Sub
'************************************************************
' 関数: DnsRecordAddMain
' 用途: DSNレコード追加を行う
' 入力: パラメータ、処理フラグ
' 戻値:
'************************************************************
Function DnsRecordAddMain(infile,flg)
Dim objFSO ' ファイルシステムオブジェクト
Dim objTextStream ' テキストストリームオブジェクト
Dim strText ' テキスト内容
Dim sSysName
Dim sSysNameOld
Dim sRc
Dim iCnt
Dim iCntErr
iCnt = 0
iCntErr = 0
sSysName = ""
sSysNameOld = ""
On Error Resume Next
Set objFSO = WScript.CreateObject("Scripting.FileSystemObject")
Set objTextStream = objFSO.OpenTextFile(infile, 1)
Do Until objTextStream.AtEndOfLine = True
strText = objTextStream.ReadLine
'コメント行の確認
IF Left(strText, 1) <> "#" THEN
'システム名の表示
aryStrings = Split(strText, " ")
sSysName = aryStrings(0)
IF sSysName <> sSysNameOld THEN
WScript.Echo "##### " & sSysName & "の災対レコードを追加します。#####"
END IF
sSysNameOld = sSysName
cmd = BildDnsAddCmd(strText)
IF cmd <> 1 THEN
'1行目(生成コマンドの表示)
WScript.Echo now & " " & cmd
IF flg <> CHK THEN
'2行目(コマンドの実行)
sRc= WshShell.run (cmd,1,true)
'3行目(実行結果の表示)
WScript.Echo now & " ** " & EXE & sRc & " ** "
END IF
Else
iCntErr = iCntErr + 1
END IF
iCnt = iCnt + 1
END IF
Loop
WScript.Echo now & " " & "** DnsAdd ** Mode=" & flg & " iCnt=" & iCnt & " iCnErr=" & iCntErr
objTextStream.Close
Set objTextStream = Nothing
Set objFSO = Nothing
End Function
'************************************************************
' 関数: dnsへのレコード追加コマンドを生成する
' 説明: 入力レコードからコマンドを組み立てて返す
' 入力: 入力レコード(スペース区切り)
' 戻値: コマンド
'************************************************************
Function BildDnsAddCmd(strText)
Dim sBildCmd
Dim sSysName
Dim sDnsIp
Dim sDomain
Dim sHostname
Dim sIp
Dim sIpEmg
sBildCmd =""
aryStrings = Split(strText, " ")
sSysName = aryStrings(0)
sDnsIp = aryStrings(1)
sDomain = aryStrings(2)
sHostname = aryStrings(3)
sIp = aryStrings(4)
sIpEmg = aryStrings(5)
'入力チェック --------------------------------------------------
errflg = 0
if sSysName = "" then
WScript.Echo now & " " & " ** INPUT FILE SYSNAME SPACE ERROR **"
errflg = 1
end if
if sDnsIp = "" then
WScript.Echo now & " " & " ** INPUT FILE DNSIP SPACE ERROR **"
errflg = 1
end if
if sDomain = "" then
WScript.Echo now & " " & " ** INPUT FILE DOMAIN SPACE ERROR **"
errflg = 1
end if
if sHostname = "" then
WScript.Echo now & " " & " ** INPUT FILE HOSTNAME SPACE ERROR **"
errflg = 1
end if
if sIp = "" then
WScript.Echo now & " " & " ** INPUT FILE IP SPACE ERROR **"
errflg = 1
end if
if sIpEmg = "" then
WScript.Echo now & " " & " ** INPUT FILE IPEMG SPACE ERROR **"
errflg = 1
end if
if errflg = 1 then
BildDnsDelCmd = errflg
return
end if
'入力チェック --------------------------------------------------
'コマンドの組み立て
sBildCmd = DNSCMD & " " & sDnsIp & " /recordadd " & sDomain & " " & sHostname & " A " & sIpEmg
'WScript.Echo now & " " & sBildCmd
BildDnsAddCmd = sBildCmd
End Function
'************************************************************
' 関数: DnsRecorddelMain
' 用途: DSNレコード削除を行う
' 入力: パラメータ、処理フラグ
' 戻値:
'************************************************************
Function DnsRecordDelMain(infile,flg)
Dim objFSO ' ファイルシステムオブジェクト
Dim objTextStream ' テキストストリームオブジェクト
Dim strText ' テキスト内容
Dim sSysname
Dim sSysNameOld
Dim sRc
Dim iCnt
Dim iCntErr
iCnt = 0
iCntErr = 0
sSysName = ""
sSysNameOld = ""
On Error Resume Next
Set objFSO = WScript.CreateObject("Scripting.FileSystemObject")
Set objTextStream = objFSO.OpenTextFile(infile, 1)
Do Until objTextStream.AtEndOfLine = True
strText = objTextStream.ReadLine
'コメント行(先頭が#)の確認
IF Left(strText, 1) <> "#" THEN
'システム名の表示
aryStrings = Split(strText, " ")
sSysName = aryStrings(0)
IF sSysName <> sSysNameOld THEN
WScript.Echo "##### " & sSysName & "の災対レコードを削除します。#####"
END IF
sSysNameOld = sSysName
cmd = BildDnsDelCmd(strText)
IF cmd <> 1 THEN
'1行目(生成コマンドの表示)
WScript.Echo now & " " & cmd
IF flg <> CHK THEN
'2行目(コマンドの実行)
sRc = WshShell.run (cmd,1,true)
'3行目(実行結果の表示)
WScript.Echo now & " ** " & EXE & sRc & " ** "
END IF
Else
iCntErr = iCntErr + 1
END IF
iCnt = iCnt + 1
END IF
Loop
WScript.Echo now & " " & "** DnsDel ** Mode=" & flg & " iCnt=" & iCnt & " iCnErr=" & iCntErr
objTextStream.Close
Set objTextStream = Nothing
Set objFSO = Nothing
End Function
'************************************************************
' 関数: dnsへのレコード削除コマンドを生成する
' 説明: 入力レコードからコマンドを組み立てて返す
' 入力: 入力レコード(スペース区切り)
' 戻値: コマンド
'************************************************************
Function BildDnsDelCmd(strText)
Dim sBildCmd
Dim sSysName
Dim sDnsIp
Dim sDomain
Dim sHostname
Dim sIp
Dim sIpEmg
sBildCmd =""
aryStrings = Split(strText, " ")
sSysName = aryStrings(0)
sDnsIp = aryStrings(1)
sDomain = aryStrings(2)
sHostname = aryStrings(3)
sIp = aryStrings(4)
sIpEmg = aryStrings(5)
'入力チェック --------------------------------------------------
errflg = 0
if sSysName = "" then
WScript.Echo now & " " & " ** INPUT FILE SYSNAME SPACE ERROR **"
errflg = 1
end if
if sDnsIp = "" then
WScript.Echo now & " " & " ** INPUT FILE DNSIP SPACE ERROR **"
errflg = 1
end if
if sDomain = "" then
WScript.Echo now & " " & " ** INPUT FILE DOMAIN SPACE ERROR **"
errflg = 1
end if
if sHostname = "" then
WScript.Echo now & " " & " ** INPUT FILE HOSTNAME SPACE ERROR **"
errflg = 1
end if
if sIp = "" then
WScript.Echo now & " " & " ** INPUT FILE IP SPACE ERROR **"
errflg = 1
end if
if sIpEmg = "" then
WScript.Echo now & " " & " ** INPUT FILE IPEMG SPACE ERROR **"
errflg = 1
end if
if errflg = 1 then
BildDnsDelCmd = errflg
'return
end if
'入力チェック --------------------------------------------------
'コマンドの組み立て
sBildCmd = DNSCMD & " " & sDnsIp & " /recorddelete " & sDomain & " " & sHostname & " A " & sIp
'WScript.Echo now & " " & sBildCmd
BildDnsDelCmd = sBildCmd
End Function
'**************************************************************
' 1.1 初期処理
'**************************************************************
Function Main_Init()
' VBS起動するWSHコマンドがcScriptでない場合は
' エラーコード99で終了する
IF Not(IsCscript()) THEN
WScript.Quit (99)
END IF
msg="** Note:CScript ONLY RUN **"
sComputer = SetLogHeader(msg)
Main_Init = GetParam()
End Function
'-----------------------------------------------
' 1.1.1 パラメータ取得処理
'-----------------------------------------------
Function GetParam()
Dim i
Dim objParm
sCheck = EXE ' モード
Set objParm=WScript.Arguments
For i=1 To objParm.Count
WScript.echo now & MSGLEVEL_I & "** (" & i & ") " & objParm.Item(i - 1)
IF i = 1 THEN
sCheck = objParm.Item(i - 1)
END IF
Next
GetParam = sCheck
End Function
'****************************************************************
' 関数: IsCscript
' 用途: 自VBSを起動したWSH コマンドがcScriptを返信
' 入力: 無し
' 戻値: cScriptの時true wScriptの時false
'****************************************************************
Function IsCscript()
' WSH起動コマンド
Const WHS_COMMAND_WSCRIPT = "wscript.exe"
Const WHS_COMMAND_CSCRIPT = "cscript.exe"
IsCscript = true
IF LCase( Right(WScript.FullName, len(WHS_COMMAND_WSCRIPT)) ) = WHS_COMMAND_WSCRIPT THEN
IsCscript = false
END IF
End Function
'****************************************************************
' 関数: SetLogHeader
' 用途: ログヘッダーページをフォーマット
' 入力: ヘッダーのコメントメッセージ
' 戻値: コンピュータ名前
'****************************************************************
Function SetLogHeader(msg)
Dim objNetWork ' ネットワークオブジェクト
Dim objParm ' コマンドラインパラメータ
Dim i ' コマンドライン引数の個数
Dim chr
iStepNo = 0
WScript.Echo now & " ***********************************************************"
WScript.Echo now & EditTitleLine(" ** Script : " & Wscript.ScriptName)
WScript.Echo now & EditTitleLine(" ** " & Wscript.ScriptFullName)
WScript.Echo now & " ** ----------------------------------------------------- **"
WScript.Echo now & EditTitleLine(" ** WSH : " & Wscript.Name)
WScript.Echo now & EditTitleLine(" ** " & Wscript.FullName)
WScript.Echo now & EditTitleLine(" ** " & Wscript.Path)
WScript.Echo now & " ** ----------------------------------------------------- **"
Set objParm = WScript.Arguments
WScript.Echo now & EditTitleLine(" ** Command param count " & objParm.Count)
For i=1 To objParm.Count
WScript.echo now & EditTitleLine(" ** (" & i & ") " & objParm.Item(i - 1))
Next
WScript.Echo now & " ** ----------------------------------------------------- **"
' ネットワークオブジェクトの作成
Set objNetWork = WScript.CreateObject("WScript.Network")
' ユーザ名
WScript.echo now & EditTitleLine(" ** UserName : " & objNetWork.UserName)
' ドメイン名
WScript.echo now & EditTitleLine(" ** UserDomain : " & objNetWork.UserDomain)
' コンピュータ名
WScript.echo now & EditTitleLine(" ** ComputerName : " & GetComputer())
WScript.Echo now & " ***********************************************************"
WScript.Echo now & EditTitleLine(" ** " & msg)
WScript.Echo now & " ***********************************************************"
SetLogHeader = GetComputer()
Set objNetWork = Nothing
End Function
'****************************************************************
' 関数: EditTitleLine
' 用途: 文字列編集、所定のカラム位置に**の文字を挿入する
' 入力: 変種前文字列
' 戻値: 編集後文字列
'****************************************************************
Function EditTitleLine(chr)
Dim sEditTitleLine
Dim iMAXCOLS
iMAXCOLS = 60
sEditTitleLine = left(chr,len(chr)) & Space(iMAXCOLS-len(" **")-len(chr)) & " **"
EditTitleLine = sEditTitleLine
End Function
'****************************************************************
' 関数: GetComputer
' 用途: コンピュータ名を取得する
' 入力: 無し
' 戻値: コンピュータ名
'****************************************************************
Function GetComputer()
Dim objNetWork ' ネットワークオブジェクト
' ネットワークオブジェクトの作成
Set objNetWork = WScript.CreateObject("WScript.Network")
' コンピュータ名
GetComputer = objNetWork.ComputerName
Set objNetWork = Nothing
End Function
2013年10月7日月曜日
登録:
コメント (Atom)