SQLの窓 イラストAC フリー素材

2009年10月06日

VBScript:IIS7の仮想ディレクトリ登録


VBScript : IIS7 の 仮想ディレクトリ登録


VistaのIISなんて使う事も無かったので知らなかったんですが、IIS6 と全く違うのでびっくり。
そもそも、IIS6 用に作ったIIS 仮想ディレクトリを作成する VBScript( WSH )がエラーになります。
XPが乗ってるPCの調子が悪いので、Vista を使ってるのですが、日々何かをするたびに、
問題が発生します・・・・

とにかくこの件はなんとかなりましたが、まだ未調査なものも。
で、元々 Vista に諦めてる人が多いせいなのか、結構情報少ないという感触です。

今日一つ解った事で、Rundll32.exe に渡す引数のファイルがカレントディレクトリのファイル
がXPで動いてたのが、Vista で動きませんでした。





posted by at 2009-10-06 21:44 | VBScript | このブログの読者になる | 更新情報をチェックする

2009年08月27日

パスが通るフォルダに置いて、コマンドとして利用できる、数メガの比較的小さなファイルをダウンロードするhttpget.vbs


WEBのファイルをコマンドラインからダウンロードするスクリプト : httpget.vbs ( 2〜3メガまでが目安 )


vbs をパスの通るディレクトリに置くというのはなかなか誰もやらないと思うのですが、コマンドが増えると思えば、内容によっては使ってみてもいいのでは無いのでしょうか。

それでも、既存の PATH 環境変数にあるディレクトリと言えば、windows のディレクトリだったりするので、避けたい気持ちは良く解ります。そういう場合は、専用のディレクトリを作って、そこに PATH を通せはいいのですが、これが一般的に言って面倒なはずです。

PATH 環境変数について知っていても面倒ですから、PATH 環境変数メンテナンス : Redmond Path という選択肢も微妙ではあります。で、最近作ったのがパッチ処理支援パッケージで、httpget.vbs のような自作コマンドをインストールできるディレクトリを作成して、PATH 環境変数にも自動登録してしまおうというものになっています。(スクリプトが存在するディレクトリをユーザ環境変数の PATH へ登録)

これからちょいちょいコマンド増やして行こうと思っています。転載が可能なフリーソフトなんかも、オンラインでインストールしたり、自作の exe や vbs や bat や hta なんかいっぱいありますので。インストールフォルダである、Program Files と同じドライブの laylaClass というディレクトリは、手書きブログのカスタムパレットツールで使用しているのですが、これはユーザさんとのやりとりで紆余曲折の上この場所になったので、vista でも比較的動作が信頼できる事を想定しています。
( vista のテストは常に一番最後ですけれど )


以下はファイルのダンプ中です( all vbscript )
Usercmd
laylaClass バッチ処理支援パッケージ 


とにかく、PATH が通ってる ユーザディレクトリがあると何かと都合のいい事が多いです。単純なフリーソフトならば、全部そこへコピーしてしまえば良いですし、PHP ですらそのままコピーしてしまうと、さらにコマンドの出来る幅が無茶苦茶増えます。

まず手始めに、今日調べたのはコマンドライン用のメール送信ソフトです。Basp21 でスクリプトを作成する手もあるのですが、パスワードがバレバレになるので、SMAIL 4.09 が良さそうです。検証は明日以降になりますが、ドキュメントや作者さんのHP 見た限りでは、ほぼ完璧なツールに思えますね。

コマンドラインで実行できるメールの用途は、一般的にバッチジョブのログや結果の通知です。業務でいろいろやる場合では欠かせないもので、これらの処理をできるかできないかでは会社レベルでの作業効率に雲泥の差がでます。多少無理してでも導入すべきですね。



posted by at 2009-08-27 20:15 | VBScript | このブログの読者になる | 更新情報をチェックする

2009年06月28日

ExecuteGlobalを使用して文字列内の定義文を有効にして、httpで取得した関数ライブラリを使う

ExecuteGlobal は、ほとんど反則のようなステートメントですが、運用して3年近くなるので
もっと WEB で使えばと思うのです。これ使うと、ASP で、他ドメインにある関数定義使えたり
しますし、なんと言ってもメンテするのに一箇所でいいのが最高です。

VBScript : MDB作成 / http 経由で関数ライブラリを読み込む
ASP : 別ドメインにある関数ライブラリを使用して Mdb を作成する

スクリプトタグで外部参照できる wsf( WSH ) や HTA では、普通に src 属性で読み込めばいいのですが、
以下のルールを守って作っておくと、ASP で使えるだけでなく、ローカルで動的に変更してから関数化できます。
REM **********************************************************
REM ■ 動的にローディングする為の注意
REM 1) UTF-8N で保存する
REM 2) コメントは REM を使用する
REM 3) 条件式として = を使わない
REM ■ 問題回避の対策
REM .htaccess 
REM AddType "text/plain" .vbs
REM **********************************************************


posted by at 2009-06-28 20:25 | VBScript | このブログの読者になる | 更新情報をチェックする

2009年06月12日

IEのツールメニューにアドオンとして追加する実行形式

Ie_toolmenu

IEのツールメニューにアドオンする

実際は、実行できる種類には3種類あって、レジストリのエントリとしては、
Exec : 実行ファイル
Script : IE拡張メニューで実行できるスクリプト( なので、サンプルは .htm で中は VBScript )
ClsidExtension : C++ で書かれた dll

があります。


基本、IE拡張メニューと同じですが、マウスカーソル下のオブジェクトには
ツールメニューなのでアクセスできません。( ページ全体に対する処理になります )


 

posted by at 2009-06-12 17:11 | VBScript | このブログの読者になる | 更新情報をチェックする

たま・・・にGUIDが必要になりますが、手近なのはこれでしょう

WSH : GUID取得


IE のツールメニューにアドオンする場合、
とにかくユニークキーとしての GUID が必要になるのですが、

Microsoft ですし、これが一番いいと思います。

Guid

posted by at 2009-06-12 15:09 | VBScript | このブログの読者になる | 更新情報をチェックする

2009年04月24日

指定時間経過後強制ログオフ

Windows オリジナルでは、指定時間帯( ログオン時間 )をこえるとログオフさせる事が
できるようですが( Net User で時間設定してローカルセキュリティポリシーで機能を有効にする )、
未検証で、世間的にもあまりやってないようです。

スクリーンセーバーの機能を利用すると、一定時間放置した時にログオフとかするような情報
もありましたが、電源オプションのほうが現実的です。

これは、目的はたまたまログオフですが、
WMI のイベントのサンプルとして他でも使える場合があると思い、作成しました。
dtBase = Now()
dtTarget = dtBase

' 30 秒後に強制ログオフ
dtTarget = DateAdd( "s", 30, dtTarget )
TargetH = Hour( dtTarget )
TargetM = Minute( dtTarget )
TargetS = Second( dtTarget )

Set obj = GetObject("winmgmts:\\.\root\cimv2")
Set objEvents = obj.ExecNotificationQuery( _
	"select * from __InstanceModificationEvent " & _
	"where TargetInstance isa 'Win32_LocalTime' " & _
	"and TargetInstance.Hour = " & TargetH & " " & _
	"and TargetInstance.Minute = " & TargetM & " " & _
	"and TargetInstance.Second = " & TargetS & " " _
)

Set objLatestEvent = objEvents.NextEvent 

Set colOperatingSystems = _
GetObject("winmgmts:{(Shutdown)}").ExecQuery( _
"Select * from Win32_OperatingSystem") 
For Each objOperatingSystem in colOperatingSystems 
	' 0:通常( マニュアル上4は強制とあるが、通常でも強制ログオフ )
	ObjOperatingSystem.Win32Shutdown(0) 
Next 
posted by at 2009-04-24 23:40 | VBScript | このブログの読者になる | 更新情報をチェックする

2009年04月06日

IE拡張メニュー用アプリケーションのスケルトン

IE 拡張メニューを作成するにあたって、手書きブログ用カスタムパレットツールでいろいろ
やってきた事をまとめ直して新たに、雛型を作成しました。

こちからダウンロードできます。


このサンプルスケルトンでは、カーソルの下のテキストを取得するというものですが、

  1) カーソル下のテキストを取得
  2) 選択状態のテキストがあれば、それを取得
  3) リンクの場合は、テキストと URL を取得
  4) HTML タグによっては( PRE など ) その範囲内のテキストを取得

取得してテキストを開いたウインドウ内にあるテキストエリアにセット
して表示するまでの機能を持っています。


Get_text

実際は、このウインドウ上でテキストを加工して何かをするといったアプリケーション
を想定しています。次のアーティクルでは、サーバーサイドの力を借りて、
ブラウザ上で取り込んだ文字列をその場でメールしてしまうアプリケーションの説明をします。


posted by at 2009-04-06 20:50 | VBScript | このブログの読者になる | 更新情報をチェックする

2007年03月16日

【スクリプトオンライン】サービス一覧:スタートモードの表示

サービスを自動で開始するか、手動にするかの設定の一覧です。
それ以外にも、【無効】というモードがあります。
これにしないと、手動であっても勝手に起動される場合があるので、
【無効】にしてしまう場合があります。

【無効】といっても、サービス上の問題なのでアプリケーションに
影響は出ません。必要な時にまた戻す事によって利用できます。

でも、ま、後のフォローに自信が無いのであれば
触らないほうがいいでしょう。


http://lightbox.matrix.jp/ginpro/patio.cgi?mode=view2&f=11&no=7&w=910


posted by at 2007-03-16 12:20 | VBScript | このブログの読者になる | 更新情報をチェックする

2007年03月13日

氏名作成スクリプト

いまどきの名前が欲しい場合や、会社名や、それっぽい熟語など
その人のセンスで元の文字列を作るだけ。

ま、多少スクリプト書けないと応用は無理ですけど・・・

意味不明な歌詞・・・・

とかもいけるかもです。


http://lightbox.matrix.jp/ginpro/patio.cgi?mode=view2&f=14&no=0&w=910



 

 

 

posted by at 2007-03-13 22:21 | VBScript | このブログの読者になる | 更新情報をチェックする
Seesaa の各ページの表示について
Seesaa の 記事がたまに全く表示されない場合があります。その場合は、設定> 詳細設定> ブログ設定 で 最新の情報に更新の『実行ボタン』で記事やアーカイブが最新にビルドされます。

Seesaa のページで、アーカイブとタグページは要注意です。タグページはコンテンツが全く無い状態になりますし、アーカイブページも歯抜けページはコンテンツが存在しないのにページが表示されてしまいます。

また、カテゴリページもそういう意味では完全ではありません。『カテゴリID-番号』というフォーマットで表示されるページですが、実際存在するより大きな番号でも表示されてしまいます。

※ インデックスページのみ、実際の記事数を超えたページを指定しても最後のページが表示されるようです

対処としては、このようなヘルプ的な情報を固定でページの最後に表示するようにするといいでしょう。具体的には、メインの記事コンテンツの下に『自由形式』を追加し、アーカイブとカテゴリページでのみ表示するように設定し、コンテンツを用意するといいと思います。


※ エキスパートモードで表示しています

アーカイブとカテゴリページはこのように簡単に設定できますが、タグページは HTML 設定を直接変更して、以下の『タグページでのみ表示される内容』の記述方法で設定する必要があります

<% if:page_name eq 'archive' -%>
アーカイブページでのみ表示される内容
<% /if %>

<% if:page_name eq 'category' -%>
カテゴリページでのみ表示される内容
<% /if %>

<% if:page_name eq 'tag' -%>
タグページでのみ表示される内容
<% /if %>
この記述は、以下の場所で使用します