Scripting Weblog

むたぐち(牟田口大介)が、Windows上で動作するスクリプティング環境(Windows PowerShell、IronPython、Windows Script Host(WSH)、HTML Application(HTA)、Windowsサイドバー ガジェットetc)に関するニュースやサンプルコードなどを紹介します。

ホーム 連絡をする 同期する ( RSS 2.0 ) Login
投稿数  167  : 記事  1  : コメント  375  : トラックバック  36

ニュース

拙著「Windows PowerShellポケットリファレンス」が4/11に発売になりました!
自宅Webサーバー「winscript.jp」本格稼働

自己紹介

プログラマー兼ライターでMSMVP for Data Center Management - Admin Frameworks のむたぐち(牟田口大介)です。

MVP Logo

Microsoft MVP for Visual Developer - Scripting July 2004-June 2007
Microsoft MVP for Data Center Management - Admin Frameworks July 2007-June 2008

広告

RSS表示パーツ

最新の記事リスト

RSS表示パーツ

書庫

日記カテゴリ

My Sites

コミュニティ

2008年8月12日 #

Const olFolderContacts = 10
Set Outlook = CreateObject("Outlook.Application")
Set Fs = CreateObject("Scripting.FileSystemObject")
Set ts = Fs.CreateTextFile("Address.lst")
For Each oItem In Outlook.GetNamespace("MAPI").GetDefaultFolder(olFolderContacts).Items
	If oItem.Email1Address<>"" Then
		ts.WriteLine oItem.Email1Address & vbTab & oItem.FullName
	End If
	If oItem.Email2Address<>"" Then
		ts.WriteLine oItem.Email2Address & vbTab & oItem.FullName
	End If
	If oItem.Email3Address<>"" Then
		ts.WriteLine oItem.Email3Address & vbTab & oItem.FullName
	End If
Next
ts.Close

さくっと。他のメーラーにも無論カスタマイズして使ってください。npopqのアドレス帳ほどシンプルなのはたぶんないと思いますがw(メールアドレス<タブ>名前)

posted @ 23:12 | Feedback (0)

2008年7月3日 #

Function GetPubDate(dDate)
	days = Array("","Sun","Mon","Tue","Wed","Thu","Fri","Sat")
	months = Array("","Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec")
	GetPubDate = days(WeekDay(dDate)) & ", " & Right("0" & Day(dDate),2) & " " & months(Month(dDate)) & " " & Year(dDate) & " " & Right("0" & Hour(dDate),2) & ":" &  Right("0" & Minute(dDate),2) & ":" & _
Right("0" & Second(dDate),2) & " +0900"
	'Wed, 05 Oct 2005 19:08:12 +0900
End Function

探してもなかったので書いてみました。ついでにRSS1.0のdc:Dateも

Function GetDCDate(dDate)
	GetDCDate=Year(dDate) & "-" & Right("0" & Month(dDate),2) & "-" & Right("0" & Day(dDate),2) & "T" & _
	Right("0" & Hour(dDate),2) & ":" &  Right("0" & Minute(dDate),2) & ":" & _
	Right("0" & Second(dDate),2) & "+09:00"
	'2005-10-06T10:31:58+09:00
End Function
posted @ 13:47 | Feedback (1)

2008年7月2日 #

Twitterに発言する最も簡単なスクリプトです。twitterPost.vbsと名前を付けて保存してください。

sUser = "*****" 'ユーザーID
sPassword = "*****" 'パスワード
sURL = "http://twitter.com/statuses/update.json"

Set oHTTP = WScript.CreateObject("Msxml2.XMLHTTP")
Set sc = CreateObject("ScriptControl")
sc.Language = "JScript"
Set js = sc.CodeObject

oHTTP.Open "POST", sURL, False, sUser, sPassword
oHTTP.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
oHTTP.setRequestHeader "X-Twitter-Client", "twitterPost.vbs"
oHTTP.setRequestHeader "X-Twitter-Client-Version", "1.0"
oHTTP.send "status=" & js.encodeURIComponent(WScript.Arguments(0))

使い方

twitterPost.vbs "テスト投稿"
posted @ 20:48 | Feedback (2)

2008年7月1日 #

させていただきました。 Microsoft MVP for Data Center Management - Admin Frameworks July 2008-June 2009 今年度もよろしくお願いします。 ちなみに6月に大阪でIT系の会社に就職しました。 C#で開発やってますー 近況はブログなどで・・・http://winscript.jp/blog/

http://winscript.jp/blog/diary.asp?id=31

posted @ 20:43 | Feedback (16)

2008年5月24日 #

第11回 Admintech.jp勉強会 - Admintech.jp
http://itpro.admintech.jp/wiki/wiki.cgi?page=%C2%E811%B2%F3+Admintech%2Ejp%CA%D9%B6%AF%B2%F1

PowerShellを使った初級システム管理術

今回はWindows Server 2008に搭載された新しいシェルであるWindows PowerShellを 使ってWindows Server システム管理をするための基本についてレクチャーします。

というわけで、やります。内容としてはシステム管理者よりにする、というかしたいです。基本はもちろん私が話すのですが、質疑応答の時間を少し多めに取って、現場でどういう風に使いたいか、とかどういうタスクを自動化したいか、とかをディスカッション形式で聞いてみたいとか思っています。

posted @ 15:38 | Feedback (2)

2008年5月19日 #

PowerShellでWMIを使ってWindowsUpdateなどで当たったセキュリティパッチ一覧を取得する方法

Get-WMIObject Win32_QuickFixEngineering

応用としてKB936330が当たってるかどうかを調べるには

PS C:\Users\daisuke> gwmi Win32_QuickFixEngineering |?{$_.HotFixID -eq "KB936330
"}


Description         : Service Pack
FixComments         :
HotFixID            : KB936330
Install Date        :
InstalledBy         : S-1-5-18
InstalledOn         : 01c896d3d9a071f6
Name                :
ServicePackInEffect :
Status              :

値が帰ってきたら適用済み。さらに応用すると、Vista SP1を当てるために必須のKB935509 、 KB938371 、 KB937287 が当たってるかどうか調べる方法

PS C:\Users\daisuke> gwmi Win32_QuickFixEngineering |?{"KB935509","KB938371","KB
937287" -contains $_.HotFixID}
posted @ 22:53 | Feedback (0)

PS C:\Users\daisuke> $a=new-object System.Management.ManagementObject "\\.\root\
cimv2:Win32_LogicalDisk.DeviceID='D:'"
PS C:\Users\daisuke> $a


DeviceID     : D:
DriveType    : 3
ProviderName :
FreeSpace    : 139523874816
Size         : 237961736192

こんな感じ。Get-WMIObjectではできない気がします。

keyを指定する場合

PS C:\Users\daisuke> $a=new-object System.Management.ManagementObject "Win32_Log
icalDisk.DeviceID=""D:"""
posted @ 19:07 | Feedback (6)

2008年5月15日 #

FileSystemObjectオブジェクトを利用する(2) - @IT http://www.atmarkit.co.jp/fwin2k/tutor/cformwsh17/cformwsh17_01.html

posted @ 20:48 | Feedback (0)

2008年5月14日 #

PS D:\script> $a=1,2,3,4,5
PS D:\script> $a
1
2
3
4
5
PS D:\script> $a[1]=100
PS D:\script> $a
1
100
3
4
5
PS D:\script> Set-Variable a -Option ReadOnly
PS D:\script> $a=100,99,98,97
変数 a は読み取り専用または定数であるため、上書きできません。 ←これはいいんだけど
発生場所 行:1 文字:3
+ $a= <<<< 100,99,98,97
PS D:\script> $a[1]=150 ←要素書き換えできるじゃん!
PS D:\script> $a
1
150
3
4
5
PS D:\script>

というわけで困ります。

posted @ 0:47 | Feedback (3)

2008年5月7日 #

マイミクさんからの情報

ダウンロードの詳細 : Japanese ClearType fonts for Windows XP
http://www.microsoft.com/downloads/details.aspx?FamilyID=f7d758d2-46ff-4c55-92f2-69ae834ac928&DisplayLang=ja

メイリオフォントはVistaに標準搭載のクリアータイプな(拡大縮小してもぎざぎざしない)フォントですが、XP用のは公式にはありませんでした(Visual C# 2008 Express Editionを入れるとなぜか入ったりしましたが)。それがXPでも使えるように!

最近はWebページでもメイリオフォント指定のところが増えてますのでXPユーザーの方は入れておいて損はないかと。個人的にきれいなフォントだと思います。

posted @ 21:36 | Feedback (0)