2016年5月24日火曜日

[WSH]Administratorsグループのメンバーをリストアップ

使用中のPCでAdministratorsグループに登録されているメンバーを表示するサンプル。
これなんてJScriptの存在意義あるの?と思いそうなサンプルだけど、これに関してはJScriptで出来るのはコレだけだったという記録のために入れてあります。

VBScriptが苦手なのでできれば使いたくなくて、JScriptだけ使いたいのですがGetObjectもFor EachもVBScriptでなければ動作しなかったんです。。
JScriptではfor inとかEnumeratorとか使ってみたんですが、駄目でした。

VBScriptはWindowsに対して特権がある…けど好きになれません。
<job>
<script language=VBScript>
function a()
' JScriptとVBScriptではGetObjectで得られるものが違うっぽい。
' JScriptでGetObjectしたのを引数で渡すとMembersが無いエラーになる。
Set objGroup = GetObject("WinNT://" & objNet.computerName & "/Administrators")
For Each objUser in objGroup.Members
str = str & objUser.name & vbLF
Next
a = str
end function
</script>
<script language=JScript>
objNet = new ActiveXObject('WScript.Network')
WScript.Echo(a())
</script>
</job>
view raw admin.wsf hosted with ❤ by GitHub

0 件のコメント:

コメントを投稿