ようこそ!
答えてねっと for Businessは、
マイクロソフトが運営する
ビジネスで使うパソコンや
ITに関するQ&Aサイトです。

質問

ユーザの追加/削除を行うコマンド

製品名:デスクトップ OS、サーバー OS/Windows XP

現象:知りたい/機能

懸賞ポイントが設定されています。 100

この質問は解決で締め切られています

お世話になっております。Windows XP について質問です。
管理コンソール「ローカルセキュリティー設定」の「サービスとしてログイン」からユーザの追加/削除ができますが、これをバッチ処理することを考えています。
ついては、上記「ユーザの追加/削除」を行うコマンドを探しているのですが見当たりません。どなたかご存じでしょうか?

質問者からのコメント

  • 投稿日時:2007/06/26 14:42

皆さん、詳細な回答ありがとうございます。
頂いた情報を元に試してみたいと思います。
情報ありがとうございました。

回答1 (この回答は質問に対する回答です)

  • 投稿ID:A2007202216
  • 投稿日時:2007/06/20 22:59
  • 最も役に立った投稿として評価されました

ActiveDirectoryであればCSVDEも使用できますが、それ以外の環境ではAddUser.exeで行うことが出来ます。
フリーソフトでAddUserJなるものも存在しています。

[参考資料]
・Windows Serverにおけるユーザアカウントとアクセス権を一括で設定する方法 http://www.aichi-c.ed.jp/contents/network/waccount/index.htmマイクロソフト以外のサイトへ移動する
・AddUsers による大量のユーザーの自動作成 http://support.microsoft.com/kb/199878/ja

[ダウンロード]
・AddUser ftp://ftp.microsoft.com/bussys/winnt/winnt-public/reskit/nt40/i386/addusers_x86.exe
・AddUsersJ http://www.vector.co.jp/soft/winnt/util/se073108.htmlマイクロソフト以外のサイトへ移動する

※AddUserのダウンロードはリンクが切れているようです。


別の手法として以下のようなVBSでも可能です、以下のソースを拡張子VBSで保存して実行すればtestuser1,testuser2,testuser3が作成されます。

Dim objNetwork 'ネットワークオブジェクト
Dim objDomain 'コンピュータオブジェクト
Dim objGroup 'グループオブジェクト
Dim objUser 'ユーザーオブジェクト
Dim ComputerName 'コンピュータ名

'開始メッセージ
If MsgBox("処理を開始しますか", vbQuestion + vbYesNo, "ユーザーアカウント作成") = vbNo Then
WScript.Quit
End If

'オブジェクト作成
Set objNetwork = CreateObject("Wscript.Network")
ComputerName = objNetwork.ComputerName
Set objDomain = GetObject("WinNT://" & ComputerName)

'ユーザーアカウント作成
UserAdd "testuser1", "testpass1", "Users"
UserAdd "testuser2", "testpass2", "Users"
UserAdd "testuser3", "testpass3", "Users"

'オブジェクト削除
Set objUser = Nothing
Set objGroup = Nothing

'終了メッセージ
MsgBox "処理終了"

'-----------------------------------------------------------
'ユーザーアカウント作成SUB
Sub UserAdd(pUserName, pPassword, pGroupName)
'ユーザー作成
Set objUser = objDomain.Create ("user", pUserName)
objUser.SetPassword pPassword
objUser.SetInfo

'グループ追加
Set objGroup = objDomain.GetObject("group", pGroupName)
objGroup.Add ("WinNT://" & ComputerName & "/" & pUserName)
End Sub

  •  

回答2 (この回答は質問に対する回答です)

  • 投稿ID:A2007202279
  • 投稿日時:2007/06/21 00:29

こんにちは。

最近のWindowsではコマンドが充実してきていますが、
ご希望の機能は標準では付いてないようですね。

ユーザー権利の割り当てコマンドはリソースキットにあります。
残念ながら、XP用のリソースキットはなさそうですので、
Server 2003のものを使えばよいと思います。
一応、試してみましたが問題なく使えました。

「Windows Server 2003 Resource Kit Tools」
http://www.microsoft.com/downloads/details.aspx?FamilyID=9d467a69-57ff-4ae7-96ee-b18c4790cffd&DisplayLang=en

ユーザー権利の割り当ては、NTRightsコマンドを利用します。

権限を割り当てる場合は
C:\>NTRights -u ユーザー名 +r 権限名

権限を削除する場合は
C:\>NTRights -u ユーザー名 -r 権限名

権限名は「サービスとしてログイン」はSeServiceLogonRight です。
詳しくは、コマンドのヘルプか、下記をご参照ください。

「NTRights ユーティリティを使用してログオン ユーザーの権限を設定する方法」
http://support.microsoft.com/kb/315276/ja

御承知かと思いますが、バッチを実行するユーザーが
管理権限を持っていないといけないと思いますので、ご注意を。

  •  

回答3 (この回答は質問に対する回答です)

  • 投稿ID:A2007202290
  • 投稿日時:2007/06/21 00:54

チャブーンです。

Windows 標準の方法で行いたい場合ですが、変更点を記載したセキュリティテンプレートを事前に作ったうえ、secedit /configure コマンドでその部分を追加適用、ということができますね。

Windows XP のコマンドプロンプトで secedit と入力実行すると、ヘルプを見ることができます。
セキュリティテンプレートは MMC スナップインの "セキュリティテンプレート" から作成できます。

ちなみに Windows XP の secedit にはこういう問題があって、一筋縄でいかない部分はありますが。

http://support.microsoft.com/kb/897327/en-us

  •