特定ディレクトリ以下のファイルオブジェクトを取得する #VBScript #WSH
特定ディレクトリ以下のファイルオブジェクトを取得するサンプルコードです。 [gist]https://gist.github.com/2716715[/gist] 再帰関数内でオブジェクトを新規に作成してそれを返り値として返すことがなかなかうまくいかなかったので、外部のスコープで定義したScripting.Dictionaryオブジェクトに値を追加する実装で妥協しました……。
特定ディレクトリ以下のファイルオブジェクトを取得するサンプルコードです。 [gist]https://gist.github.com/2716715[/gist] 再帰関数内でオブジェクトを新規に作成してそれを返り値として返すことがなかなかうまくいかなかったので、外部のスコープで定義したScripting.Dictionaryオブジェクトに値を追加する実装で妥協しました……。
ローカルの管理者権限の有無をnet.exeを使って確認します。 [gist]https://gist.github.com/2716207[/gist] 元ネタはこちらです。 - [PowerShell: ◆ローカルのAdministrator権限が有るか確認する](http://mtgpowershell.blogspot.jp/2012/05/administrator.html) - [2012 Scripting Games Commentary: Those Who Forget The Past... - Don Jones - Powershell.com – Powershell Scripts, Tips and Resources](http://powershell.com/cs/blogs/donjones/archive/2012/04/19/2012-scripting-games-commentary-those-who-forget-the-past.aspx) ただし、元ネタだとドメインユーザーがローカル管理者権限を持っているときにそれを判定できなかったのでその部分のロジックを追加しました。
レジストリへの値設定スクリプトです。事前に値を確認し、変更の必要があることを確認し、書き込み、きちんと書き込めたかどうか確認しています。 WindowsVista, 7, 2008, 2008 R2でUACが有効な場合には管理者権限があっても書き込みに失敗してしまうので、事前に昇格をおこなってから実行させる必要があります。 - [Windows VistaでのWSH(VBScript)の管理者権限への昇格方法 - ebi's diary(2008-08-13)](http://ebi.dyndns.biz/diary/20080813.html#p01) [gist]https://gist.github.com/2601725[/gist]
VBScriptでちょっとしたスクリプトを書き捨てることは今までにかなりしてきましたが、そろそろPowerShellに本格的に移行できる感じになってきました。とはいえまだまだVBScirptの出番もあると思いますので、今まで書き捨ててきたスクリプトの中で特に「毎回同じこと書いてるなー」と感じるような処理についてgistに上げつつ共有できるようにして行きたいと思います。 まずは、どのスクリプトでもほぼ必ず行うファイルへのログ出力処理です。 [gist]https://gist.github.com/2586011[/gist]