SSブログ
Windows/ASP/VBScript ブログトップ
前の10件 | -

マイクロソフトが Hyper-V の Linux 向けデバイスドライバを GPL2 で寄贈 [Windows/ASP/VBScript]

http://www.atmarkit.co.jp/news/200907/21/ms.html
http://www.microsoft.com/presspass/features/2009/Jul09/07-20LinuxQA.mspx
むしろ、特別なドライバがなくて Hyper-V 上で Linux が動くことを知らなかった。
FreeBSD のドライバも書いて→マイクロソフト

MSI 形式のファイルのサイレントインストール(msiexec.exe) [Windows/ASP/VBScript]

MSI 形式のインストールイメージが EXE と比べて何処がうれしいのかよく知らなかった。
msiexec.exe というコマンドに /quite /norestart /update とかオプション付けて渡してあげると嬉しい場合があるらしい。なーる。
INSTALLDIR="どこか特別な場所" とかもできる模様。
しかし、 msiexec.exe のバージョンによってオプションは微妙に異なるみたい。
MSI ファイル毎にどういうプロパティ(PROPERTY=プロパティ値)が渡せるか知る方法ってあるのかな?

テキストファイルの「foo」と書かれている行の行数を数える [Windows/ASP/VBScript]

find /C "foo" *.log
みたいな感じでファイル毎の行数が表示される。 find /? でオプション一覧が出る。
単純に行数を数えたいときは /V オプションを併用して
find /V /C "ありえない文字列" *.py
とかする。

正規表現を使いたい場合、 findstr というコマンドがあるみたい。
http://www.atmarkit.co.jp/fwin2k/win2ktips/511findstr/findstr.html
これで、 grep っぽいことはできるけど、行数を数えることはできないなぁ。

SQLServer 2005 に付いてる Management Studio でテープデバイスが認識されない件 [Windows/ASP/VBScript]

普段テープデバイスの付いたサーバーを自分で扱うなんてことがないのですが、
SQLServer 2005 についてる Management Studio で試しにデーターベースをバックアップしたかったのだが、バックアップ先の「テープ」のチェックボックスが選択できない。
USB テープドライブ`↓でもないのに
http://support.microsoft.com/kb/927797/
デバイスマネージャーから見ると、SCSI のテープドライブで、TAPE0 として認識されているみたいなんですが・・・

とりあえず、こんなの↓を発見
A tape device is not detected by SQL Server Management Studio in SQL Server 2005 or by SQL Server Enterprise Manager in SQL Server 2000
http://support.microsoft.com/kb/953122/en-us
下の方に、 T-SQL で、こんな↓感じでバックアップ、リストアできると書いてある
>The following statements are examples:
>BACKUP DATABASE AdventureWorks TO TAPE='\\.\TAPE0'
>RESTORE DATABASE AdventureWorks FROM TAPE='\\.\TAPE0'

もうひとつ発見、バックアップデバイスの追加
http://msdn.microsoft.com/ja-jp/library/aa259603.aspx
USE master
EXEC sp_addumpdevice 'tape', 'tapedump1', '\\.\tape0'

これで、バックアップデバイスとして「tapedump1」が出現、Management Studio から操作できるようになった。引き続き、テープデバイスは認識されないのですが、まぁとりあえず使えるようになったからよしとします。

しかし、色々調べてみるとマイクロソフトはデーターベースのバックアップはディスクに取るようにして欲しいみたい。テープに取って保管するのは、ディスクのスナップショットから、ということらしい。確かに、ビット単価でテープメディアだけで考えても HDD より高くなっている昨今では、ディスクの中身を全部テープに取っておくっていう時代ではないんだろうなぁ。

レジストリ・ハイブ [Windows/ASP/VBScript]

「レジストリにこの値を設定するといいよ、他のユーザーも同じようにしたいなら、レジストリ・ハイブに・・・」と説明された。
初めてレジストリ・ハイブというレジストリの元になるデータが存在するのを知った。


たまたま、最近公開されたこれ↓が分かりやすいように思う。
http://www.atmarkit.co.jp/fwin2k/win2ktips/1117ldreghiv/ldreghiv.html

バイナリ解析してるひともいる。すげーけど危険。
http://wiki.higaitaisaku.com/wiki.cgi?page=%A5%EC%A5%B8%A5%B9%A5%C8%A5%EA%A1%A6%A5%EC%A5%B8%A5%B9%A5%C8%A5%EA%A5%CF%A5%A4%A5%D6%A5%D5%A5%A1%A5%A4%A5%EB%A4%CE%C6%E2%C9%F4%B9%BD%C2%A4

ここ↓は、レジストリの解説としてもわかりやすい
http://blog.lucanian.net/archives/50581962.html

Microsoft Open License [Windows/ASP/VBScript]

Open License なんて自分にはまったく関係ないと思っていたけど、気がついたら3ライセンスから買えるようになってる。
さらに、3ライセンス=3台以上じゃないと無駄になるライセンスがある、と思ってたけど1台に OS と Office と Visio って買い方でもいいらしい。
http://www.microsoft.com/japan/licensing/open/default.mspx
OS については、ベースライセンスを持ってる場合のアップグレード権ということらしいので、購入の可能性があるのは OS がついてくるノート PC を買った時かなぁ。
Vista が当たり前の今のご時世ダウングレード使用権で XP を使いたい(アップグレードしたりダウングレードしたりややこしい) というような場合に・・・ま、うちでは買わないか。
それにしても、以前は SA も一緒に付けてバージョンアップに備えるためって感じだったのに、今はダウングレードのために Open License を検討する現実。世の中の変化は激しいなぁ。

もし、検討することになったら Enterprise Watch の記事を見よう
http://enterprise.watch.impress.co.jp/cda/special/2007/01/22/9127.html
http://enterprise.watch.impress.co.jp/cda/special/2007/01/23/9131.html
http://enterprise.watch.impress.co.jp/cda/special/2007/01/24/9143.html
(ただし、Open License の条件はコロコロ変わるので注意)

(追記)
2008/10/01 から Select Plus というボリューム・ライセンスが追加されたことを発見
http://itpro.nikkeibp.co.jp/article/NEWS/20081001/315898/
http://enterprise.watch.impress.co.jp/cda/foreign/2008/07/02/13312.html
http://www.microsoft.com/japan/licensing/selectplus/default.mspx
関連会社も含んで 250 ライセンス以上なら対象になる。
親会社、関連会社が別々に購入してもグループ会社全体の ID を使ってカウントできる。
契約期間の「無期限(永続的)」っていうのがよく分からんけど、3年間よりお得そうなのはわかる。

VBScript でファイル選択ダイアログ(再び) [Windows/ASP/VBScript]

以前、 VBScript でファイル選択ダイアログを出す方法を知って、
http://nakagami.blog.so-net.ne.jp/2006-07-04
早速使わせてもらっていた。
・・・が、 OS と Office のバージョンが上がったら動かなくなってしまった。

こりゃやばい、と思って何とか策を探そうとしたら、発見。
http://www.tek-tips.com/faqs.cfm?fid=5310
Set objDlg = CreateObject("UserAccounts.CommonDialog")
If objDlg.ShowOpen = True Then
    strFileName = objDlg.FileName
End If

これなら動く。よかった。
表示するファイルの種類のフィルターもかけられるみたい。

Windows XP から、コモンダイアログの機能が使えるようになったらしい。すばらしい。
http://www.microsoft.com/japan/technet/scriptcenter/resources/qanda/jan05/hey0128.mspx

Python で mdb ファイルを作ってテーブルを作る [Windows/ASP/VBScript]

http://d.hatena.ne.jp/Fio/20081119/p1
http://d.hatena.ne.jp/Fio/20081120/p1

おおっ、MS Access なくても出来るのか。むしろ VBScript でやりたい気分。
とりあえずメモっておく


(追記)IronPython で OleDb を使って Access を操作する話
http://nakagami.blog.so-net.ne.jp/2007-05-22-1

XCACLS.vbs [Windows/ASP/VBScript]

http://nakagami.blog.so-net.ne.jp/2008-04-21 の続き

結局、cacls.exe でできることは xcacls.vbs できて、今後も xcacls.vbs だけが
メンテナンスされていきそうな勢いなので、こっちをいろいろ試してみる。
ソースを見て理解して、必要な部分だけ切り出して使用するプログラムを書くのは
難しそうなので、早々に挫折して VBScript を呼ぶ方向で検討。

CScript XCACLS.vbs /?

で使い方を見ることができるが、正直よくわからんのでいろいろ試行錯誤してみる。

/E を指定すると、既存のアクセス権はそのままになるが、指定しないと
一旦チャラにしてパラメータで指定したアクセス権を設定するので、
意図せずアクセス権が削除されちゃう可能性があって危険。

基本は /G でアクセス権を設定し、 F がフルアクセスなので、テスト中は
パラメータに常に /G Everyone:F を付けておくようにしたほうが良い。
そうしないと、やっぱり意図せずアクセス権が削除されちゃう可能性があって危険。

アクセス権は F のほかは RWX とかなってるので chmod を意識したもの?
アクセス権の後ろにセミコロンで区切って Spec というのを指定できて
/G Everyone:WX;7
とかするみたいだけど、かなり微妙なアクセス権になるので普通は使わない気がする。

コマンドラインに /SPEC オプションを指定しないと、 /SPEC B と指定したのと同じことになって、アクセス権がサブフォルダに継承される。/SPEC A を指定すると、アクセス権がサブフォルダに継承されないフォルダができるが、その中にフォルダーツリーをコピーしてみると、(仕様どおりではあるんだけども、使ってみると「ん?」と)アクセス権設定が微妙な状態になるので、 /SPEC A のフォルダを作る場面は少ない気がする。

結局、アクセス権は継承させるようにして継承したくないフォルダでは /E を付けてアクセス権を付け直すとか、 /R を付けて継承させたくないアクセス権を削除するとかすることにした。

Windows のグループとアクセス権について [Windows/ASP/VBScript]

Windows のグループってなんだかよくわからない、と思い続けていたが、
ちょっと真面目にさがして、こんな記事↓発見。
http://www.atmarkit.co.jp/fwin2k/win2ktips/737groups/groups.html
さらに、もうちょっと基本的な話の↓も勉強になった
http://www.atmarkit.co.jp/fwin2k/win2ktips/734lgroup/lgroup.html

セキュリティ設定を記述する SDDL 文字列というのがあるらしい・・・
http://www.atmarkit.co.jp/fwin2k/win2ktips/725sddl/sddl.html
んー、難しい。

NTFS 上のファイル、ディレクトリのアクセス権を見たり設定したりするのに
cacls.exe コマンドを使えば良いことも、いまさら知る。
http://www.atmarkit.co.jp/fwin2k/win2ktips/718edtcacls/edtcacls.html
http://www.monyo.com/technical/windows/20.html

ファイル名の後に T オプションをつけると再帰的にアクセス権を表示してくれる
カレントディレクトリ以下のファイルのアクセス権を再帰的に取得する場合は
cacls * /T

という感じ。

ACL を変更することもできて、カレントディレクトリ以下のフォルダ・ファイルを
再帰的に見て行って誰でも読めるようにするのは、
cacls * /T /E /P everyone:R

という感じ。/E を忘れると大変なことが起こるので注意。

cacls.exe は、デフォルトで入ってるけど、それの機能強化版(?)で
VBScript で書き直した xcacls.vbs というのがあるらしい。
http://support.microsoft.com/kb/825751/ja
これのソースを見たら、色々 VBScript 上でできるようになるのかもしれないけど、
とりあえず難しそうなので保留。


(追記 2008/4/24)関連エントリ書いてたのをすっかり忘れてる
http://nakagami.blog.so-net.ne.jp/2007-03-16-1
前の10件 | - Windows/ASP/VBScript ブログトップ