Microsoft XPS Document Writer
.NET Framework 3.0をインストールすると、プリンタとして"Microsoft XPS Document Writer"が追加されます。
.NET Framework 3.0をインストールした時には、気がつきませんでしたが、年賀状を印刷するためにプリンタ関係を設定していて気がつきました。
このXPS(XML Paper Specification)は・・・と説明を書こうとおもいましたが、keywordページを見たほうがはやいですね。
"一言で言ってしまうとMicrosoft製のPDF"この言葉につきます。
Visual Studio 2005 Express Edition SP1
Visual Studio 2005 Express Edition用のService Pack1が出ていますね。
Microsoft Visual Studio 2005 Service Pack 1
Express Edtion以外のSP1はこちら、
Microsoft® Visual Studio® 2005 Standard, Professional, Team Editions 用の Service Pack 1
当面、Express Edition以外を利用する機会はなさそうですが・・
IISのASPデバッグの有効/無効をvbscriptから切り替える
先日ASPの開発をやっていて、ASPデバッグの有効/無効の切り替えを頻繁に実行する必要がありました。
そのときは、めんどくさいと思いながら手動で切り替えていました。
しかし、やっぱりこんな作業は自動でやるべき!と思い、スクリプトを作成しました。
Option Explicit Dim iisObj Set iisObj = GetObject("IIS://localhost/w3svc/1/root") If iisObj.Class = "IIsWebVirtualDir" Then If iisObj.AppAllowDebugging Then WScript.Echo "DebugON→OFF" iisObj.AppAllowDebugging = False Else WScript.Echo "DebugOFF→ON" iisObj.AppAllowDebugging = True End If iisObj.SetInfo() iisObj.AppUnload() End If
これで、http://localhost/の全体のASPデバッグの切り替えが行えます。
特定の仮想ディレクトリだけ設定する場合は、
GetObject("IIS://localhost/w3svc/1/root")
の部分を
GetObject("IIS://localhost/w3svc/1/root/test")
のようにすると、http://localhost/test の設定を変えることができます。
参考:
方法 : IIS で ASP デバッグを有効にする
TDDに挑戦
いい加減に、開発にTDDをとりいれられるように
![WEB+DB PRESS Vol.35 WEB+DB PRESS Vol.35](https://images-fe.ssl-images-amazon.com/images/I/61MHNN3S18L._SL160_.jpg)
- 作者: WEB+DB PRESS編集部
- 出版社/メーカー: 技術評論社
- 発売日: 2006/10/21
- メディア: 大型本
- 購入: 1人 クリック: 21回
- この商品を含むブログ (51件) を見る
を買って読んでる最中。
ただ、メインの開発が.NETなんだけど・・まー役に立つはず
イベントログから指定期間のイベントを取得する方法
イベントログに記録されているイベントについて、期間を指定をして取得する方法を調べました。
Const CONVERT_TO_LOCAL_TIME = True Set dtmStartDate = CreateObject("WbemScripting.SWbemDateTime") Set dtmEndDate = CreateObject("WbemScripting.SWbemDateTime") DateToCheck = CDate("2/18/2002") dtmStartDate.SetVarDate DateToCheck, CONVERT_TO_LOCAL_TIME dtmEndDate.SetVarDate DateToCheck + 1, CONVERT_TO_LOCAL_TIME strComputer = "." Set objWMIService = GetObject("winmgmts:" _ & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2") Set colEvents = objWMIService.ExecQuery _ ("Select * from Win32_NTLogEvent Where TimeWritten >= '" _ & dtmStartDate & "' and TimeWritten < '" & dtmEndDate & "'") For each objEvent in colEvents Wscript.Echo "Category: " & objEvent.Category Wscript.Echo "Computer Name: " & objEvent.ComputerName Wscript.Echo "Event Code: " & objEvent.EventCode Wscript.Echo "Message: " & objEvent.Message Wscript.Echo "Record Number: " & objEvent.RecordNumber Wscript.Echo "Source Name: " & objEvent.SourceName Wscript.Echo "Time Written: " & objEvent.TimeWritten Wscript.Echo "Event Type: " & objEvent.Type Wscript.Echo "User: " & objEvent.User Wscript.Echo objEvent.LogFile Next
上記の例では、2002/2/18に発生した全てのイベントを取得することができます。
ただし、このスクリプトは、Windows XP 以上でなければ動作しません。
Windows 2000 で実行すると、下記のようなエラーが出て実行できません。
Microsoft VBScript 実行時エラー: ActiveX コンポーネントはオブジェクトを作成できません。: 'WbemScripting.SWbemDateTime'
どうやら、Windows 2000では'WbemScripting.SWbemDateTime'オブジェクトはサポートされていないようです。
調べてみると、'WbemScripting.SWbemDateTime'はローカル時刻をUTCに変換する処理を実行しているようです。
そこで、Windows 2000では下記のような関数を実装してUTC形式に変換してあげる必要があります。
Function FormatUTCDate(dDate) Dim strReturn strReturn = Year(dDate) & Right("0" & Month(dDate), 2) & Right("0" & Day(dDate), 2) strReturn = strReturn & "000000.000000+540" FormatUTCDate = strReturn End Function
最初にあげたコードをWindows 2000用に直すと
DateToCheck = CDate("2/18/2002") dtmStartDate = FormatUTCDate(DateToCheck) dtmEndDate = FormatUTCDate(DateToCheck + 1) strComputer = "." Set objWMIService = GetObject("winmgmts:" _ & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2") Set colEvents = objWMIService.ExecQuery _ ("Select * from Win32_NTLogEvent Where TimeWritten >= '" _ & dtmStartDate & "' and TimeWritten < '" & dtmEndDate & "'") For each objEvent in colEvents Wscript.Echo "Category: " & objEvent.Category Wscript.Echo "Computer Name: " & objEvent.ComputerName Wscript.Echo "Event Code: " & objEvent.EventCode Wscript.Echo "Message: " & objEvent.Message Wscript.Echo "Record Number: " & objEvent.RecordNumber Wscript.Echo "Source Name: " & objEvent.SourceName Wscript.Echo "Time Written: " & objEvent.TimeWritten Wscript.Echo "Event Type: " & objEvent.Type Wscript.Echo "User: " & objEvent.User Wscript.Echo objEvent.LogFile Next Function FormatUTCDate(dDate) Dim strReturn strReturn = Year(dDate) & Right("0" & Month(dDate), 2) & Right("0" & Day(dDate), 2) strReturn = strReturn & "000000.000000+540" FormatUTCDate = strReturn End Function