VBScript:使用WScript.シェルを実行するコマンドラインプログラムにアクセスで活躍ディレクトリ

StackOverflow https://stackoverflow.com/questions/1050293

  •  20-08-2019
  •  | 
  •  

質問

私は試行を実行する.ネット(3.5)コマンドラインプログラム内からVBScriptファイルは二つの主要なもの:

  • 接続するアクティブディレクトリを作成するには、同じドメインとしてのサーバーのスクリプト開催を取得する属性値とします。私はプロモーション用のコマンドライン引数であるユーザ名です。
  • をDTOそれを用いた属性値は、次のコマンドライン引数を使用し、WCFサービス。

私はアプリケーションの実行を明示的にもます。活動のディレクトリのアクセスし、その属性が取得され、WCFサービスが呼び出され、正しい結果として検証し、データベース

(編集:会員の方はログインしてくだ、忘れたけど、実際に発行しました。)

時スクリプトを実行しまうがないでディレクトリで活躍する純コード(MyProgramていない。

のVBScriptコード:

Dim objResult

Set objShell = WScript.CreateObject("WScript.Shell")    
objResult = objShell.Run("MyProgram " & strUsername & " 0", 1, True) 

なWScript.シェルオブジェクトには特別の権限のファイルとは何ですか?思を確認し、実行許可がございます。通常は、第二引数に渡しになります。Run()メソッドが6と思っています1デバッグしやすくなります。

しおりを付けることができ私にとってプログラムを実行し、VBScript?

役に立ちましたか?

解決 2

の発行する証明書にします。は、WCFサービスから呼び出されるコンソールアプリを使用してX509証明書で認証し、設置のサーバがこのスクリプトが開催され、実行す。

その他のサーバーが同じサービスが消費され、証明書が設定されて

winhttpcertcfg.exe -g -c LOCAL_MACHINE\My -s "certificate-name" -a "NETWORK SERVICE"

などのコンテキスト内のIIS.しかし、スクリプトを実行されていたという、生産でのコンテキストのユーザーです。なので、スクリプトを修正することを

winhttpcertcfg.exe -g -c LOCAL_MACHINE\My -s "certificate-name" -a "USERS"

その変化は、すべてのたします。皆さん、ありがとうござ方が案内もあります。

他のヒント

この応答(皆さんコメント)、ランダムなアイデアもご提供いただきました。残念ながら私は一度も対応citrixは、通常のwindowsサーバー

_0.を確保しませんの被害者にWindowsファイアウォール、またはその他のパーソナルファイアウォールを選択的にブロックプロセス。

追加10分Sleep()の最初の行のおります。NETアプリを作成し、そこに両方のVBScriptファイルやスタンド-アプリケーション、sysinternals過程で新たなクラウドシステムを比較し2ます。

_1.同じタブ"コマンドライン"と"現在のディレクトリ"です。ているか確認してください。

_2."環境"タブを開いてください。ているか確認してください。通常、子プロセスを受け継ぐ環境が、この行動が簡単に変更されます。

以下のチェックが必要な場合は"ラマスクリプト"を意味するとか何をダブルクリックします。VBSファイル:

_3.画像タブの"ユーザー"との場合と異なる場合があ均ユーザーがネットワークへのアクセスなどlocalsystem)、またはユーザーのトークンの制限を委譲しでアクセス資源の場合にはIIS NTLM認証、ユーザがアクセスできない一部のファイルもついてお聞きしましょう。

実際のWScript.シェルが現地のシステムのアカウントのこのアカウントが全ての権利の機械がない権利にアクティブディレクトリです。

http://support.microsoft.com/kb/278319

をシラーズの考えに走っ...

お申し込み、明示的に定義されるドメインのユーザーアカウントとパスワードをアクセスしない。

きのアプリケーションの実行時に明示的で本質的にご利用資格(は現在ログイン中のドメインのアカウント)を尋問することです。しかし、呼び出し時に本規約の準拠法は日本法とのスクリプトだけがある場合、アプリケーションシステムのコンテキスト

一致することができて

  Dim objConnection As ADODB.Connection
    Set objConnection = CreateObject("ADODB.Connection")
    objConnection.Provider = "ADsDSOObject"
    objConnection.Properties("User ID") = "MyDomain\MyAccount"
    objConnection.Properties("Password") = "MyPassword"
    objConnection.Open "Active Directory Provider"

この作品はもちろんこのベストプラクティスの作成と利用サービスのアカウントを具体的にこのようなことを拒否する対話へのログインする。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top