アフィリエイト広告を利用しています

広告

この広告は30日以上更新がないブログに表示されております。
新規記事の投稿を行うことで、非表示にすることが可能です。
posted by fanblog

IP自動設定(汗)

あぁぁぁぁぁぁぁ、inukoroです。おつかれ。( ̄Д ̄)ノ

帰る前に怒った怒られた。

もーめんどくさい。自分のことを自分でするのが一番ですよ。ホント。

まぁ、もう家なので、切り替えてと(。・ω・)ノ゙

いやはや、いま作ろうとしているVBSがもーぴんともこない。
どうやって作ろうこんなもの・・・?

ドメイン管理せずにディレクトリにPWをかけると?(PWは無理だろうが)
IISもNGと?
圧縮せずに。
つまり、ローカルPGonlyでやれと・・・?



何かG氏の会社が出してた気がしますが、inukoroが独自に作れるかと?

答えは・・・無理です。m(*T▽T*)m

inukoroの同僚には悪いが、inukoroも勉強中ですので、無理!。
フォルダを開くアクションをループで監視して,inputboxを出すとか?

いや、まぁ、無理。

VB、VC辺りなら結構簡単にできるのかな?まぁ、その辺はさっぱりですが。



・・・・これは、おいおい考えるとして、今日はIP設定用のbatをば。
超簡単!



*********************************************************************************
set /p inp="IP入力してください>"
echo 入力結果=%inp%が入力されました。


netsh interface ip set address "ローカル エリア接続" static %inp% 255.255.255.0 デフォルトゲートウェイのIP

netsh interface ip set dns "ローカル エリア接続" static プライマリDNSのIP
netsh interface ip add dns "ローカル エリア接続" セカンダリDNSのIP

**********************************************************************************



ローカルエリア接続2とか3とかある人は↑これを修正するのDA!

実際にinukoroが使ったのは、短時間で、100台ほどの設置が必要なときがあったので、IP設定ぐらいで時間が取れなかったのよ・・・・


なので、上記のバッチをちょっと弄って・・・・・

テキストにあらかじめ設定する端末名とIPの一覧を書き出しておき、番号を振っておくの。

1番→ TESTMACHINE 10.1.1.1 とかって感じに。

それで、bat起動時に、番号を入力すると、IPが降られて、かつプリンタの設定もできると。んで、ついでに・・・・

デスクトップとかに必要なファイルとかを一気にサーバーからDLだ。

復元するとき用にレジストリもバックアップDA!


次回フルソース記述しまつ。


ちなみに、ローカルエリア接続を再起動するVBSを作ったのだが、inukoroのはいまいち動かなかった
(ノ△・。)

時間がなくて、人様が作成したものをちょこりと改造する結末になっちゃた・・・



inukoroまだ仕事あるんでまた次回(><*)ノ~~~~~サヨナラ


---------------------------------------------------------------------------------------------------------------------













レンタルサーバー 【ヘテムル】 なら、
独自ドメイン【無制限】、データベース【50 個まで】を追加費用無料で設定できます。
しかも、サーバー容量は余裕の 42.195GB!
1 つの契約でたくさんのサイトを運営したい方にぴったりのサービスです。



あなたのサイトでダウンロード販売!
その日のうちに開設可能!
初回、月々固定費用は無料!
デジタルデータなら何でも販売可能!
お試し感覚で始めてみよう!
詳しくはデジマーケットへ


急げ!新ドメインは早いもの勝ち!



チカッパプラン 詳細はこちら








【このカテゴリーの最新記事】

微妙なVBS(最終)

ふ・ふぉぉぉぉw|;゚ロ゚|w  おつかれ。inukoroでつ。


あつい。じめじめ。いやぁぁぁぁぁぁ(´_`。)

もうも暑いのはともかく、じめじめはやめてほしい。
西岸海洋性気候 辺りがいいでつねぇ~~-v(* ̄・ ̄)。。o

今日はお仕事やる気がゼロでした。携帯ピコピコー。
部屋から脱出。お客に出くわさないようにメタルギアだ。

ってなわけで、今日ラストを記述しまつ。。。


xlsに出力するところから。

'********************xls書き込み************************

dim excelapp
dim excelbook
dim x

x=1

set excelapp=createobject("excel.application")
set excelbook=excelapp.workbooks.open(filepath)'filepathにxlsのあるパスを記述だ。

excelapp.visible=false

excelapp.activeworkbook.worksheets("tmpシート").select'とりあえず、tmpシートに出す。




set resulttext=createobject("scripting.filesystemobject")
set opresult=resulttext.opentextfile (targetpass3)

do until(opresult.atendofstream)

excelapp.activeworkbook.worksheets("tmpシート").cells(x,1)=opresult.readline
x=x+1

loop

'****************************************************************



とりあえず、あらかじめ作成しておいたxlsのtmpシートのA1からEOFまで吐き出しまくり。

なにしろ、VBSでは、ファイル整形がしずらい。できないことはないが、メンドイ。

tmpにはいたら、後は表のセルに吐き出しなおせばよし。

ここは実際には作ってないんで、今書きます。なので、動作確認は当然してまへんよーーーー。



'****************************VBAの部分ね。*************************
Sub test()


Dim x As Integer

Dim y As Integer
Dim a As Long



x = 1
y = 1
a = 1


Do While (Sheet1.Cells(a, 1) <> "")

If Sheet3.Cells(a, 1) > 0.3333 Then 'dateで攻めてもいいよー

Sheet3.Cells(a, 1).Delete

End If

a = a + 1

Loop


a = 1 'a初期化

'7日くぎり5段で。
Do While (y < 6)


Do While (x < 8)

Sheet2.Cells(y, x) = Sheet1.Cells(a, 1)
x = x + 1
a = a + 1
Loop

x = 1 'x初期化
y = y + 1
Loop


Sheet2.Range("A1:G5").NumberFormatLocal = "[h]:mm:ss" 'セルの表示形式を左記に変更なり。



End Sub

'***********************************************************


VBAの部分は表をきれいにしようがしまいが、構文はこんな感じだろう。
sheet3がtmpシートね。
sheet2に吐き出すのね。
位置は上記構文のセルずらしてあわすといいさーー。

たぶん動くよ。ミスしてなければ。





VBSのフルソース。
'*******************************************************************

const targetpass0="D:\test\tmp.txt"
const targetpass1="D:\test\置換ソート.txt"
const targetpass2="D:\test\置換結果.txt"
const targetpass3="D:\test\結果.txt"
const targetpass4="D:\test\tmp2.txt"
const filepath="D:\test\test.xls"


set makefile=createobject("scripting.filesystemobject")
set delfile = createobject("scripting.filesystemobject")



delfile.deletefile targetpass1
delfile.deletefile targetpass2
delfile.deletefile targetpass3



makefile.createtextfile targetpass1
makefile.createtextfile targetpass2
makefile.createtextfile targetpass3





wscript.sleep 2000








'********************************ファイル置換プロシージャ********************************
function replacetest(patrn,replstr)

dim regex,str1

set reptxt = createobject("scripting.filesystemobject")'読み込みファイル
set repobjtxt=reptxt.opentextfile("D:\test\tmp.txt")

set reptxt2 = createobject("scripting.filesystemobject")'書き込みファイル
set repobjtxt2 = reptxt2.opentextfile(targetpass2,8)


set regex = new regexp
regex.pattern = patrn'検索パターン
regex.ignorecase = true


do until(repobjtxt.atendofstream)

line = repobjtxt.readline

replacetest=regex.replace(line,replstr)
repobjtxt2.writeline replacetest

loop


repobjtxt.close
repobjtxt2.close

end function

'********************************ファイル置換プロシージャ********************************












set tmp=createobject("wscript.shell")

dim tmpline
dim tmpline2
dim tmplineM
dim tmplineM2

tmplineM2="a"


'第二引数が読み取れない。
'tmp.run "cscript C:\WINDOWS\system32\eventquery.vbs /l system /fi "datetime gt 06/01/2011,7:00:00AM" /fi "id eq 6005" | sort > tmp.txt"


'0でbackground処理に回す。
tmp.run "cmd /c D:\test\イベントログ抽出.bat",0

wscript.sleep 2000



'----------------------------置換コール----------------------------------------------
dim a
a=replacetest(" 7:"," 07:")
set tmpx=createobject("wscript.shell")
'再ソート
tmpx.run "cmd /c type " & targetpass0 & " | sort > 置換ソート.txt",0

wscript.sleep 2000
'------------------------------------------------------------------------------------






tmp.run "cmd /c type " & targetpass1 & " | findstr /i 情報 > tmp2.txt" ,0


set optxt = createobject("scripting.filesystemobject")'読み込みファイル
set optxt2 = createobject("scripting.filesystemobject")'結果書き込みファイル



set objtxt=optxt.opentextfile(targetpass4)
set objtxt2 = optxt2.opentextfile(targetpass3,8)



do until(objtxt.atendofstream)

line = objtxt.readline



objtxt2.writeline mid(line,21,19)



loop



objtxt.close
objtxt2.close



'********************xls書き込み************************

dim excelapp
dim excelbook
dim x

x=1

set excelapp=createobject("excel.application")
set excelbook=excelapp.workbooks.open(filepath)

excelapp.visible=false

excelapp.activeworkbook.worksheets("tmpシート").select




set resulttext=createobject("scripting.filesystemobject")
set opresult=resulttext.opentextfile (targetpass3)

do until(opresult.atendofstream)

excelapp.activeworkbook.worksheets("tmpシート").cells(x,1)=opresult.readline
x=x+1

loop



'非表示
excelapp.displayalerts = false

'bookセーブ
excelapp.activeworkbook.saveas(filepath)

wscript.sleep 3000

'終了
excelapp.quit
set excelapp=nothing
set excelbook=nothing

'*******************************************************************


おわりー。


週はじめはやっぱりだるいね。しんどいね。
栄養ドリンクきかないち。。。

ふー次回また何かを紹介するなり。
明後日予定ーーーーー

ヾ(=・ω・=)o☆バイバイ☆ヾ(=・ω・=)o


---------------------------------------------------------------------------------------------------------------------













レンタルサーバー 【ヘテムル】 なら、
独自ドメイン【無制限】、データベース【50 個まで】を追加費用無料で設定できます。
しかも、サーバー容量は余裕の 42.195GB!
1 つの契約でたくさんのサイトを運営したい方にぴったりのサービスです。



あなたのサイトでダウンロード販売!
その日のうちに開設可能!
初回、月々固定費用は無料!
デジタルデータなら何でも販売可能!
お試し感覚で始めてみよう!
詳しくはデジマーケットへ


急げ!新ドメインは早いもの勝ち!



チカッパプラン 詳細はこちら




微妙なVBSB

あいうえおぉぉつかれ。inukoroです。|電柱|・ω・`)ノ ヤァ


昨日は眠くて途中で終了してしまったーーー。ごめんなさい。

3:00過ぎに寝て6:00に目が覚めてしまった。(θωθ)

もう不規則な生活で眠くなったりならなかったりでつ・・・・

とりあえず、今日は残りを説明してしまうのだけど。。。

xls部分はちょこっとだけ省略した説明の仕方をしまつね。


まず、VBSだけど・・・・

昨日説明したイベントログの抽出処理では、余分なものまで抽出してしまう。それをどけるために(今回必要な時間のみを抽出)置換処理とリダイレクト処理を行います。(今のinukoroなら、配列を使用してもっとうまく記述できるのですが、昔のまま説明)


↓時刻だけがほしいのね。

------------------------------------------------------------------------------
------------------------------------------------------------------------------


------------- ------ ------------------------ ----------------- --------------
Type Event Date Time Source ComputerName
情報 6005 2011/06/22 19:53:15 EventLog 秘密やでー。
Copyright (C) Microsoft Corporation 1996-2001. All rights reserved.
Microsoft (R) Windows Script Host Version 5.7
ホスト ’PC名内緒ね。’の 'system' ログのイベントを一覧表示しています。






↓置換ソース

'********************************ファイル置換プロシージャ********************************
function replacetest(patrn,replstr)

dim regex,str1

set reptxt = createobject("scripting.filesystemobject")'読み込みファイル
set repobjtxt=reptxt.opentextfile("D:\test\tmp.txt")

set reptxt2 = createobject("scripting.filesystemobject")'書き込みファイル
set repobjtxt2 = reptxt2.opentextfile(targetpass2,8) '8で追記やで。


set regex = new regexp
regex.pattern = patrn'検索パターン(この場合07が入るんやね。置換前の文字!)
regex.ignorecase = true'大文字小文字は区別しなーい。


do until(repobjtxt.atendofstream)'ファイルの最後まで(EOF)まで読むんやね。

line = repobjtxt.readline’これをコールするたびに1行さがるんやね。

replacetest=regex.replace(line,replstr)'7が07になるんやね。
repobjtxt2.writeline replacetest'テキストに吐き出す。
loop


repobjtxt.close
repobjtxt2.close

end function

'********************************ファイル置換プロシージャ********************************




↓コール部分。”targetpass0”はリダイレクトしたtmp.txtのフルパスね。

'----------------------------置換コール----------------------------------------------
dim a
a=replacetest(" 7:"," 07:")
set tmpx=createobject("wscript.shell")
'再ソート
tmpx.run "cmd /c type " & targetpass0 & " | sort > 置換ソート.txt",0

wscript.sleep 2000
'------------------------------------------------------------------------------------


↑テキスト整形する前に、7ではなく、07にしたいの。なぜなら、時系列にソートかけるときに、batはそんなに賢くできてないので、7:30と11:30を比較すると、7:30のほうが大きいと解釈するのさ。

まぁ、sortする際のスイッチが右から何番目〜とかそういう感じなので、1と7を比較して多きいほうを決定してしまうんやね。
・・・・"07"と直しておきたい。



では次に・・・・
tmp.run "cmd /c type " & targetpass1 & " | findstr /i 情報 > tmp2.txt" ,0

と記述し、時刻の行だけリダイレクトするのじゃー。。。

ここまでで、
情報 6005 2011/06/22 19:53:15 EventLog 秘密やでー。
のがたくさん抽出できたと思うなり。

んじゃ、後は、上記を時系列に並べつつ、midで時間だけ抽出して、リダイレクトすればOKやね。




set objtxt=optxt.opentextfile(targetpass4)
set objtxt2 = optxt2.opentextfile(targetpass3,8)



do until(objtxt.atendofstream)

line = objtxt.readline



objtxt2.writeline mid(line,21,19)'右から21番目開始、19文字抽出。



loop



objtxt.close
objtxt2.close


変数系はフルソースで解釈してちょ。m(_ _)m


ほいじゃ、ここまでで、時間だけが列挙された、テキストができたと思うなり。

あとは、xlsに吐き出して、表にするだけ。

んじゃ。次回ねん。

ヾ(* ̄▽ ̄*)Bye


---------------------------------------------------------------------------------------------------------------------













レンタルサーバー 【ヘテムル】 なら、
独自ドメイン【無制限】、データベース【50 個まで】を追加費用無料で設定できます。
しかも、サーバー容量は余裕の 42.195GB!
1 つの契約でたくさんのサイトを運営したい方にぴったりのサービスです。



あなたのサイトでダウンロード販売!
その日のうちに開設可能!
初回、月々固定費用は無料!
デジタルデータなら何でも販売可能!
お試し感覚で始めてみよう!
詳しくはデジマーケットへ


急げ!新ドメインは早いもの勝ち!



チカッパプラン 詳細はこちら



微妙なVBSA

うぁぁぁぁぁいinukoroです。( ̄0 ̄)

悩んだ末家に帰ってきてしまった・・・・まぁ、2徹はちんどいから。
帰る間際に修正したVB処理がとまってたんだYO・・・・
原因も分かってたんだけど月曜でいいか・・・と。

今日前半暇だったのに、飯くおーかなーとか思ってると今の時間になってしまった。

あーーーもーーーー何でもいいや。(/゚∇゚)/


そういえばね、昨日すげーなつかしいPG見つけたんだよ。昔いたずら半分で作ったPG!。使い方によっては、嫌なことに使えるんだよ。
まぁ、危険な使い方はinukoro許さないよーに省略して紹介するじょ。

主な機能はエクスプローラーを閉じるVBSなんだけどね。
もともと何を作ろうと思ってたのか忘れたけど、途中から、BGで連続起動させて、見た目負荷も何もかかっていないように見せかけて、実際にはエクスプローラーを開いた瞬間に閉じてしまうっていうPGになってしまった奴。

ショートカット&アイコン変更&コピー&タスク生成とかできる人は嫌がらせに使えちゃうのでコードは”軽く”なら今度記載しときまつ。

コード自体は悪くない。エクスプローラを閉じるだけなので。∩( ´∀`)∩




長くなってしまたーーー。
では本題。



えーっとどこまでやったんだっけ?

とりあえず、イベントログの抽出方法からね。。。


【抜粋】
set tmp=createobject("wscript.shell")
tmp.run "cmd /c cscript C:\WINDOWS\system32\eventquery.vbs /l system /fi ""datetime gt 06/01/2011,7:00:00AM"" /fi ""id eq 6005"" | sort > tmp.txt"


eventquery.vbsってのが、OS標準であるはず。上記はこいつで、午前7:00以降の”イベントログ開始”のイベントをtmp.txtにリダイレクトしてるね。
あぁ、そうそう、システムイベントログだけに絞ってるよ。


ちなみに類似でeventcreate ってイベント残せるコマンドもあるんだよ。
これはinukoroが構築した監視系サーバーにテストさせるときによく使うよ。。。

linux,unixでいうloggerやね。あぁ、3年前を思い出す。これに助けられたよ・・・


tmp.txtに抽出してるけど、DOS窓からcscriptでコールすれば、呼べるからね。


cmd /c 以下のスイッチの部分を少し補足・・・・
""で囲まれた中にさらに""で囲まれた文字列を挿入する場合、"を文字列として扱うためにさらに"で囲む必要があるんだよね。。。

""id eq 6005""  とかは本来DOSまどでは、"id eq 6005" なんやね。(^o^)/

まぁ、イベント自体はすきなのぬいてくらはいな。。。



んで、次にファイル整形(置換作業)がいるんだけど・・・

今日書くと長いんで、明日書きます。m(。≧Д≦。)mスマーン!!

もうマジで眠いです。。。。おやつみー
サヨーナラー(_´Д`)ノ~~.


---------------------------------------------------------------------------------------------------------------------













レンタルサーバー 【ヘテムル】 なら、
独自ドメイン【無制限】、データベース【50 個まで】を追加費用無料で設定できます。
しかも、サーバー容量は余裕の 42.195GB!
1 つの契約でたくさんのサイトを運営したい方にぴったりのサービスです。



あなたのサイトでダウンロード販売!
その日のうちに開設可能!
初回、月々固定費用は無料!
デジタルデータなら何でも販売可能!
お試し感覚で始めてみよう!
詳しくはデジマーケットへ


急げ!新ドメインは早いもの勝ち!



チカッパプラン 詳細はこちら




微妙なVBS

ふぅぅぅぅお疲れinukoroでつ。( -。-)

今日は今作ってるPGが駄目な事がわかりました。
何度も作り直したが、結局望む動きはしないですよ。。。

資源が枯渇してるから無理なんだよなぁ・・・・

仕組みはいい感じなのに・・・・(  ̄っ ̄)

まぁ、それはともかく、今日からむかーし作ろうとしてやっぱりやめたスクリプトを紹介しまつ。。。


はっきり言ってそれ自体は使い道がないざんすよ・・・( ̄Д ̄;;

ただ、仕組みは工夫次第で使い道があるはず!inukoroも今使い道を考えてます。


経緯なんだけど・・・常駐で仕事してると、勤怠つけれないのよ。
いや、まぁ、つけられない事はないんだけど、メンバー全員の勤怠をつけるのがメンドイかったのよ。VPNおせーもん。



んで、xlsで勤怠つけて、web上(アプリ上ね)に一気に入力させたろかと思ったんだけど、怒られてやめてしまった。(^▽^;)


webへの吐き出しはアプリに依存するから、xlsに吐き出すとこまで、紹介しまつね。

【前提】
朝一でPCに電源を入れるので、勤務開始をイベントログの開始と考える。

【VBS】
@イベントログのイベント開始をテキストに一括抽出する
Aテキスト内容を時刻(日付)でソートする
Bソートしたテキストをxlsに吐き出す
CVBS単体ではテキスト整形がしんどいので、VBAを作成し、VBSでコールする。

【VBA】
@xlsシートに吐き出された時刻(日付)を整形する
(イベントログ開始の抽出では、再起動でもイベントが残るため、不要なログを削除する)

A当日重複を削除した一覧を表に吐き出しなおす。



っていう感じ。
使い道ないでしょ・・・・。唯一”イベントログの抽出”に関しては使い道がありそうなのよ・・・・

例えば、イベントログを常駐監視して、やばいイベント系に対してメッセージを発信するとか・・・・

アクションのトリガには使えそうじゃない???
類似アプリはたくさんあるけどね。お手軽ってことで(>▽<;; アセアセ


次回ソースコードを記述します。


ヾ(◎m◎)サラバジャ




---------------------------------------------------------------------------------------------------------------------













レンタルサーバー 【ヘテムル】 なら、
独自ドメイン【無制限】、データベース【50 個まで】を追加費用無料で設定できます。
しかも、サーバー容量は余裕の 42.195GB!
1 つの契約でたくさんのサイトを運営したい方にぴったりのサービスです。



あなたのサイトでダウンロード販売!
その日のうちに開設可能!
初回、月々固定費用は無料!
デジタルデータなら何でも販売可能!
お試し感覚で始めてみよう!
詳しくはデジマーケットへ


急げ!新ドメインは早いもの勝ち!



チカッパプラン 詳細はこちら


ちょっと横道。。。

うぅぅぅぅぅお疲れ。inukoroでし。

今日は無茶しんどいなり・・・・・( ゚ ρ ゚ )ボーーーー

何かね、朝からずっとあちこち呼ばれるのさ。
携帯3つ鳴りまくり。。。全部会社携帯だじぇ。。

昼飯が17:00なんだよ・・・・しかも、仕事しながらおにぎり1つ(/□≦、)エーン!!

・・・なんて愚痴を言っても始まらない!

今日はHDD対応が終わってるので、それについて書いちゃうじょー


【発生】
6/18 夜・・・家に帰るとSTOPエラー。
再起動すると、起動しない(ノд・。) グスン


【あがき】
セーフモード→system32の なんちゃら.dllが読み込めない

回復コンソールからファイルコピー→何とか起動するが、HDDから異音が・・・
ファイル退避しようとするが、超遅い。

重要なファイルだけ吸い上げて、HDD交換をしようとして悲劇が。。。


なぜだ!?Dドライブのファイルが次々消えていく・・・ファイルコピー中なのに!
あっしのファイル削除用のスクリプトが動作している・・・

・・・・何を考えていたのか、間違えて実行してしまっていたようでつ(ノ△・。)
しかもご丁寧にtargetをDドライブに指定している・・・

そう言えば・・・前日に端末メンテナンスをする際に不要ファイルを消そうとして、拡張子指定してoldファイルのゴミ掃除するスクリプトをつくったのでした・・・(結局使わなかった)

そのときのファイル名が・・・いやーん押さないでね(照).bat

たぶん本能的に押したくなったのだと思います・・・


結果的にtxt,VBS,xls,wma,exe 関連が全滅しました・・・


あろう事かbat上で、ディレクトリチェンジしていないから、再起検索でD全体ですよ。。


仕方ねーので、ファイナルデータ使って、復元したよ。
まぁ、すべての動作確認はまだ取ってないけどねぃ。。。

70%程度復元できまちた。さすがにバイナリ系は無理やね。。。(´_`。)グスン

バックアップは基盤作成時のものだったので、trueimageでイメージ復元DA!


【結果】
ファイルコピー&復元・・・6Hぐらい
リカバリ・・・1H

朝になりました。。。




今日は落書きになっちゃった(・・。)ゞ テヘ



次回予告!
・・・といいつつまだ決めていない!

・自動インストールバッチ(sysprepだけじゃないよ)
・自動IP切り替えバッチ
・自動プリンタ作成バッチ
・仕事で作った悲しい監視VBS(もちろん内容は少し書き換えますが)
・仕事で作ったやっぱり悲しいVBA(出勤簿)
・非常に有意義だが、一般に使い道のないaccessVBA&VBS&バッチのコンボ
(まぁ非常に勉強にはなった!ちゅーかしんどかった奴)


↑ろくなのねーな。。。我ながら。まぁ、もっと細かいのはいっぱいあるんだけどネ。

サーバー基盤やミドルについて記述するかも!
ちなみに・・・・
もうひとつブログを書いてて、そっちはホントウに素人様向けの内容なんで・・・・そのうち紹介します。



あぁそうそう、こんなの自動でできたらいいなっって言うのがあったらコメントしてちょんまげ。まぁ、自動化でなくても便利系処理でもいいですので。。
専門が基盤なので、作れるかはわかんないけどネ。。。


じゃまた明日かあさってネ ヾ(*'-'*)マタネー♪


急げ!新ドメインは早いもの勝ち!








チカッパプラン 詳細はこちら



レンタルサーバー 【ヘテムル】 なら、
独自ドメイン【無制限】、データベース【50 個まで】を追加費用無料で設定できます。
しかも、サーバー容量は余裕の 42.195GB!
1 つの契約でたくさんのサイトを運営したい方にぴったりのサービスです。











マイコミエージェント×IT

バッチ処理

あーおつかれ。inukoroです。・△・)ノ

もうも昨日ねてない。ねむい。(≧д≦)
ハードディスクぶっ壊れ。データのサルベージとミドルリカバリに時間がかかりまちた。もう一台のデスクもなんかやばげやしね。。。。。。


そんなこんなで今日はバッチ処理でteratermをいじろうの回。


いつもteratermでログを垂れ流しにしているinukoroは・・・・再起動するたびに同じ位置にウインドウをもってくるのも再度コマンドを流すのもメンドくさいのでちた。( ̄― ̄)

そこで、一括起動かつ任意の場所にウインドウをもってくるようにスクリプトを作ろうじゃないか。。。

************************************************************************************

@ echo off

echo "#########処理開始中・・・・・・#########

cd "C:\Program Files\TTERMPRO"

start ttpmacro.exe ウインドウ1.ttl
c:\sleep.exe 3

::ttlのファイルがteratermマクロの命令が記述されたファイルなりよ。

*******************************************************************************************

ttlファイルはメモ帳で開くとよろしい。



:messagesjをtailさせるteratermマクロ
connect '10.1.1.1' ::対象のIP
settitle '処理1'
logopen 'D:\teratermlog\処理1.txt' 0 0
Wait 'login: '
Sendln 'ユーザー名記述'
Wait 'Password: '
Sendln 'パスワード記述'

Wait taro@jiro(/etc/sysconfig)%'

Sendln 'cd /var/log
Wait taro@jiro( /var/log)%'
Sendln 'tail -f message


::cdめんどくさい人はフルパスがいいよ。

connectは対象IPへの接続でし。
settitleでteratermのウインドウタイトル設定やね。
waitはプロンプト待ちやね。
sendlnで命令送信やね。




とどめはteraterm.iniの以下の値をかえたればよいのです。(画面位置)
(C:\Program Files\TTERMPRO\TERATERM.INI)ね。




; Window positions
VTPos=-2147483648,-2147483648
TEKPos=-2147483648,-2147483648


↑実際には数字みてもちんぷんかんぷんの人は(inukoroもこれじゃわからん)
teratermの設定で環境保存ができるから、ウインドウを好きな場所にもっていって、設定(S)から設定保存すれば、teraterm.iniに上書きされるじぇ。

で、これをリネームして、バッチで呼んでやればOKなりよーー
上記バッチのウインドウ.ttlの部分やね。

後、messagesをtailしてるだけだけど、好きなコマンドを使ってくれるといいよ。


まぁ、teratermマクロはinukoroほとんど使ったことないですYO。
気が向いたので記述ちまちた。


いちおー動作確認はとってるじぇ。( ̄◇ ̄)



今日は体調があまりよくないなりねぇ・・・・・


たぶん眠いからだ!。また近いうち。  バイバイ!(゚▽゚*)ノ~~


よろしこね。↓活用できるものしか貼らないからねー。^^
急げ!新ドメインは早いもの勝ち!








チカッパプラン 詳細はこちら



レンタルサーバー 【ヘテムル】 なら、
独自ドメイン【無制限】、データベース【50 個まで】を追加費用無料で設定できます。
しかも、サーバー容量は余裕の 42.195GB!
1 つの契約でたくさんのサイトを運営したい方にぴったりのサービスです。











マイコミエージェント×IT

VBS初回解説C

( ゚▽゚)/コンバンハ

ふいー。ようやく平日の最後ですな。
今週は比較的仕事がひまだったです。
・・・といっても、飯食う時間があったという事なんだけどね(。>0<。)

今日は今回のVBSのフルソースを書いておくじょ。

製作時間:1Hちょっと。
製作者:inukoro
できばえ:うーん。お手軽だからまぁまぁという事で♪


------------------------------------------------------------------------------------------------------------------

const dbpas="D:\ウイルスバスター\利用者一覧抽出.mdb"
const logtxt="D:\ウイルスバスター\セキュリティログ.txt"
dim input '利用者ID入力用(inputbox)
'*******************************************************************




################入力画面用プロシージャ#########################
sub nyuryoku()

input = inputbox("利用者IDを入力して下さい。","利用者ID入力")

'キャンセルを押下した場合、処理終了。
if isempty(input) = true then 'キャンセル押下時にVB処理終了。
wscript.quit
end if

end sub
######################プロシージャEND#########################








#########################メイン処理プロシージャ#################
sub main()


dim connection 'DBオブジェクト用
dim connection_mdb 'mdb接続用
dim rs
dim sql 'テーブルアクセス用
dim optxt 'テキストオープン用



'*******************オブジェクト作成&mdbopen*****************************************
set connection = createobject("adodb.connection")
connection_mdb = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source= '"&dbpas&"'"
connection.open connection_mdb
'*************************************************************************************



set rs=createobject("adodb.recordset")
set rs.activeconnection=connection




'入力画面をプロシージャコールしている。
nyuryoku

while input = "" '入力画面で空白のままOKを押すと入力画面を繰り返し表示させる。
nyuryoku 'プロシージャ再コール
wend




'SQLコール。入力された利用者IDで絞ってDBアクセス
sql="select 利用者一覧.利用者ID,利用者一覧.利用者漢字氏名情報 from 利用者一覧 where 利用者一覧.利用者ID='"&input&"';"
rs.open(sql)




if rs. EOF=false then

'セキュリティログ.txtに認証結果をはき出す
set optxt = createobject("scripting.filesystemobject")
set ovjtextfile = optxt.opentextfile(logtxt,8)
ovjtextfile.writeline now & " " & rs.fields("利用者ID").value & " " & "の認証に成功しました。" & "利用者氏名:" & " " & rs.fields("利用者漢字氏名情報").value
msgbox "認証成功。このまま、ウイルスチェックの実施をして下さい。"


else

set optxt = createobject("scripting.filesystemobject")
set ovjtextfile = optxt.opentextfile(logtxt,8) '追記でテキストオープン
ovjtextfile.writeline now & " "& input & " " & "の認証に失敗しました。" 'テキスト書き込み
msgbox "認証失敗。※※セキュリティ台帳に名前等の記載をした後にウイルスチェックを実施して下さい"

end if





rs.close
connection.close
set connection = nothing
set optxt = nothing

end sub
######################メイン処理終了#######################


'メインプロシージャコール
main



'バスター起動処理

dim baster


Set baster = WSCript.CreateObject("WScript.Shell")
baster.Run "バスター起動.bat para",0 '0で非表示(バックグラウンド処理ね)

set baster=nothing



----------------------------------------------------------------------------------------------------------------------------

ほいっと。完成。


【バスター起動.batの中身】
'(VBSで呼び出す方が早いのだけど。今回は気分的にね。)
-----------------------------------------------------------------------------------------------------
@echo off
C:\バスター(検索のexeね。).exe  'バスターの検索exeを起動する
-----------------------------------------------------------------------------------------------------


最後に、今回作ったVBSをDドライブかどっかに配置して、ショートカットをデスクトップにおくのです♪
そのショートカットを右クリック→プロパティからアイコンをバスターのexeと同じ物に偽装して完成だYO!!!!


・・・・まぁ、インジケータや、コマンドプロンプト、直exeから起動されると当然ログは取れないんですがネ。
ヽ( ̄ ̄ ̄ ̄ ̄ ̄∇ ̄ ̄ ̄ ̄ ̄ ̄;)ノ



じゃ、次回は何にしようかな。TeraTermを操るbatとか?
xlsやaccessを絡ませたプログラムにしようかな?

うーん・・・・・まぁまた、明日か明後日ね。

(* ̄▽ ̄)ノ~~ マタネー♪



よろしくべいびーちゃんたち。↓ドメイン活用の話も今度記述するぜ!

急げ!新ドメインは早いもの勝ち!








チカッパプラン 詳細はこちら



レンタルサーバー 【ヘテムル】 なら、
独自ドメイン【無制限】、データベース【50 個まで】を追加費用無料で設定できます。
しかも、サーバー容量は余裕の 42.195GB!
1 つの契約でたくさんのサイトを運営したい方にぴったりのサービスです。








VBS初回解説B

あぁぁぁぁぁおつかれ。

今日も10分に一度は名前を呼ばれるしまつですよ・・・・
もぉ自分でやってよねー・・・・ぶちぶちぶちヾ(●ε●)ノ”ぶーぶー


週末に焼肉パワーをつけたかったのだが・・・・今週は仕事で無理やぁぁ・・・
まぁええねん。再来週に期待や。そのうちうまい飯のガゾーなんかもぺたぺたしていくよ^^

では解説へ。




こっからあれやね。accessで作ったテーブルを参照しにいくねんな。
テーブル自体は簡単なもので、xlsのセルにデータが列挙されてるイメージ。
実際、2列しか使わないし。

*****************************************
(例)
利用者ID  利用者漢字氏名
----------------------------------------------
1111     総理大臣
2222     大統領

以下略

*****************************************










****************************************************************************************************
’ここから認証しょりね
sql="select 利用者一覧.利用者ID,利用者一覧.利用者漢字氏名情報 from 利用者一覧 where 利用者一覧.利用者ID='"&input&"';"
****************************************************************************************************

↑accessの利用者一覧テーブルから利用者ID、利用者漢字指名情報を抽出する命令を変数sqlに格納してるよ。
ただし、最初に手入力させたinputでレコードを絞りあげてるよ。
(クエリと同じね。)


rs.open(sql)   でSQL実行ね。


if rs. EOF=false then  は最終レコードに到達しなかった場合(つまり、inputに格納されているIDがDB検索してヒットしたらってことやね)




*********************************************************************
set optxt = createobject("scripting.filesystemobject")
set ovjtextfile = optxt.opentextfile(logtxt,8)
*********************************************************************

↑でテキストファイルを定義して、追記で開いてるよ。(8が追記ね)




*****************************************************************************************************
ovjtextfile.writeline now & " " & rs.fields("利用者ID").value & " " & "の認証に成功しました。" & "利用者氏名:" & " " & rs.fields("利用者漢字氏名情報").value
*****************************************************************************************************

↑ovjtextfile.writeline でテキストに書き込みダ!

now が現在時刻を取得する命令だね。
で、スペース空けて・・・・・・

rs.fields("利用者ID").value  がさっきaccessのテーブルを検索したときにヒットしたフィールドの値(利用者ID(例)の1111)だね。

以下同様に、利用者氏名(これは文字だよ)、rs.fields("利用者漢字氏名情報").value
で利用者漢字氏名・・・(例)の総理大臣 やね。




****************************************************************************************************
else



set optxt = createobject("scripting.filesystemobject")
set ovjtextfile = optxt.opentextfile(logtxt,8) '追記でテキストオープン
ovjtextfile.writeline now & " "& input & " " & "の認証に失敗しました。" 'テキスト書き込み

msgbox "認証失敗。※※セキュリティ台帳に名前等の記載をした後にウイルスチェックを実施して下さい

end if

*******************************************************************************************************
↑で、そうじゃない場合、(EOF、つまり、DB検索にヒットしなかった場合)
同じく、テキストを開いて、オメーの入力したID(inputの中身)はDB上にねーんだよ。と記述するんだね。(認証失敗記述)



rs.close
connection.close
set connection = nothing
set optxt = nothing

end sub

あとはDB接続切って、オブジェクト空っぽにして終わり。






えー・・・・・例のごとく、突貫記述しているので、オブジェクト定義はとばしとります。
次回フルソースを記述しときますんで堪忍してください。

軽く説明文もくわえとくよ。動確済み!!!


ではたぶん明日か明後日更新予定DA!!!!!




よろしくべいびーちゃんたち。↓ドメインは俺も持ってるぜ。まじな話。

急げ!新ドメインは早いもの勝ち!







VBS初回解説A

ばんわー。。。

ふー仕事忙しいね。きっとみんなも忙しいね。がんばるねん。
この解説が終わり次第本気モードで役立つPGでも組みますかね。。。。。解説も予定してるヨ。。

では前回の補足アーンド解説をば。


inputで標準入力から入力した文字を変数inputに格納した後・・・・
↓このisemptyでinput変数の中身が空っぽだった場合、quitでVB処理そのものをおわっているゾ。・・・

****************************************************************************
'キャンセルを押下した場合、処理終了。
if isempty(input) = true then 'キャンセル押下時にVB処理終了。
wscript.quit
end if
****************************************************************************

ここまでが、nyuryokuプロシージャ。



ここから・・・sub main()  の開始。(要するにメイン処理の開始ね。)
まずは、バスターのアイコンをクリックすると、ID入力が発生するようにつくりたいので・・・

***************************************************************************************************
while input = "" '入力画面で空白のままOKを押すと入力画面を繰り返し表示させる。
nyuryoku 'プロシージャ再コール
wend  '失礼前回wが抜けていた。
***************************************************************************************************

↑プロシージャを呼びますた。
ポイントは入力画面を空白のままOKをおしても、終了するわけではないという点。
ここは、戻り値がデバッグするまで、わからなかった・・・・
どうやら、ホントウの空白だった気がする。(ちょっとうろ覚え 汗)


認証処理部はちょっとsql使うので、初めての人はわからないかと。
平日はちょっとキツイネ。次回解説しまつね。たぶん明日予定。


前回記述したソースのスペルミスがあったです。すまんです。
end→wend

次の次ぐらいに(さらに次かも。解説がおわったら)
動作確認済みのソースをあげとくよー。。。^^


ケータイ使う人はどうだい???








    >>次へ
×

この広告は30日以上新しい記事の更新がないブログに表示されております。