問題タブ [vbscript]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
shell - WScript.Shell とブロック実行?
WScript.Shellを使用して外部プログラムを呼び出すことにより、WScript を使用していくつかのタスクを自動化しています。
ただし、現時点では、外部プログラムが終了するのを待たずに先に進みます。他のタスクが最初に終了することに依存するタスクがあるため、これは問題を引き起こします。
私は次のようなコードを使用しています:
シェル実行プログラムが戻るまでブロックするようにこれを行う方法はありますか?
sql-server - VBScript /ASPClassicおよびADOでのパラメーター化
私はここで少し混乱しています。私が知る限り、Microsoftは、パラメータ化がSQLインジェクション攻撃からデータベースを保護するための最良の方法であると主張しています。しかし、私はここで2つの矛盾する情報源を見つけました。
このページでは、ADOコマンドオブジェクトを使用するように指示されています。しかし、このページには、コマンドオブジェクトはスクリプトに対して安全ではないと書かれています。セキュリティの脆弱性のためにコマンドオブジェクトをVBScriptまたはJScriptで使用すべきではないことをどこかで読んだことを思い出しているようですが、その記事を見つけることができないようです。
私はここで何かが足りないのですか、それともこれら2つの記事は互いに矛盾しているように見えますか?
asp-classic - VBScriptの条件付き短絡の回避策
私は維持しなければならない大規模なクラシックASPアプリを持っていますが、短絡評価機能の欠如に何度も悩まされています。たとえば、VBScriptでは次のことを回避できません。
... Rs( "myField")がnullの場合、2番目の条件でnullを0と比較してエラーが発生するため、通常は代わりにこれを実行することになります。
明らかに、冗長性はかなりぞっとします。この大規模なコードベースを見てみると、私が見つけた最善の回避策は、元のプログラマーが書いたTernaryOpと呼ばれる関数を使用することです。これは、基本的に三項演算子のような機能を移植しますが、それでも一時変数を使用し続けます。よりフル機能の言語で必要です。もっと良い方法はありますか?短絡が実際にVBScriptに存在するいくつかの極秘の方法?
events - COM オブジェクトの VBScript ユーザーにイベント ハンドラーを公開する
次のような呼び出しを介してユーザーがアクセスできる COM オブジェクトがあるとします。
私ができるようにしたいのは、次のように、ユーザーがオブジェクトのイベント ハンドラーを指定できるようにすることです。
これは可能ですか?可能であれば、C++ のタイプ ライブラリ (具体的には BCB 2007) でこれを公開するにはどうすればよいですか?
python - IIS 上の python cgi
asp ページから Python スクリプトを呼び出せるように IIS を設定するにはどうすればよいですか?
わかりましたので、ここでその質問に対する答えを見つけました:http://support.microsoft.com/kb/276494
次の質問に進みましょう: 従来の ASP (VB) コードから CGI スクリプトを呼び出すにはどうすればよいですか? 特に、Web ルート ディレクトリにないもの。
vbscript - 管理者以外の場合、WMI にクラスがありません
Windows XP で限定ユーザーWin32_PhysicalMedia
(管理者権限なし)としてログインしたときに情報を表示できるようにしたいと考えています。Adminとしてログインすると問題なく動作し、クリーンな健康状態を示したばかりで、クラス
は情報を正しく生成しますが、このコードのカウントは 0 になります。WMIDiag
Win32_DiskDrive
Win32_PhysicalMedia
または、物理ドライブのプロパティにあるハード ディスクのシリアル番号SerialNumber
が別のクラスで利用可能で、限定ユーザーとして読み取ることができる場合はお知らせください。WMI を使用してプロパティに書き込もうとはしていませんが、Limited Userとして実行しているときにこれを読み取ることができません。興味深いことに、制限付きユーザーとして実行する場合はアプリケーションに適していますが、管理者アカウントから実行すると存在する
プロパティをDiskDrive
見逃しています。Signature
vbscript - 1 つの HTA に VBScript と JScript を混在させることはできますか?
同じ HTA で JScript と VBScript の両方を使用することはできますか? JScript から VBScript 関数を呼び出すことはできますか? その逆も可能ですか? JScript を最初に実行し、VBScript を 2 番目に実行するなどの「落とし穴」はありますか (従来の ASP ページにはこの問題があります)。
vbscript - 特定のユーザーが開始した VBScript を使用してプロセスを強制終了するにはどうすればよいですか
複数のユーザーが Windows 2003 サーバーで attachemate を実行しています。user_2 が起動した attachemate.exe を強制終了せずに、user_1 が起動した attachemate.exe を強制終了したい。
VBScript を使用したい。
wcf - VBScript/ASP から WCF サービスへの HTTP ポストを実行し、応答を取得するために使用されるメッセージをフォーマットするにはどうすればよいですか?
投稿を行うことは問題ではありません! 応答が得られるようにメッセージをフォーマットすることが問題です。
理想的には、メッセージを作成し、WinHTTP を使用して WCF サービス (IIS でホストされている) への投稿を実行し、応答を取得できるようにすることができますが、これまでのところ、適切に動作するものを作成できませんでした。
これを簡単に行う例はありますか?
2.0 の Web サービスの世界では、これは web.config に設定を入れて、サービスが投稿に応答するようにし、適切なパラメーターを使用して適切な Web メソッドを呼び出すのと同じくらい簡単でした。WCF の世界では、これに相当するものはないようです。
今のところ、コンシューマー (vbscript エンド) を .NET に変換するオプションはありません。
この時点で、エンドポイントで、.NET 3.5 でサポートされているものまで、利用可能なバインディングを使用するように変換できると仮定しますが、同時にこれが WsHttpBinding または BasicHttpBinding を使用して実行できる場合、これに対する適切な答えは次のようになります。 VBScript のコンテキストでこれらのバインディングのいずれかのメッセージをフォーマットする方法を説明するか、それを行う方法がない場合は、それを行うことはできません。これが WebHTTPBinding を使用して実行できる場合、WebInvoke 属性を既に調査しており、適切に機能する VBScript から WCF へのテストを作成できなかったため、それを実現する方法が見つかりませんでした。
投稿されたデータ型が文字列で、応答も文字列であるとします。
また、この質問は WinHTTP 関連ではありません。WinHTTPを使用して投稿を実行する方法はすでに知っています.WCFサービスが応答するメッセージの構築が問題です。
WinHTTP 以外のものを使用して、ASP から XMLHTTP などの WCF サービスへのポストを実行することもできますが、WCF サービスが応答する XML メッセージを作成するという問題がまだ残っています。これのバリエーションを試してみましたが、これを実現するためにどのような形式を使用する必要があるかまだわかりません。
理論的には、WCF サービスが必要とするのは適切にフォーマットされたメッセージだけであることはわかっています。私はメッセージを適切に作成することができません。通常、誰もがメッセージを送信する方法についていくつかの提案をしていますが、誰もが慣れているため、この状況で適切なメッセージ形式がどのようなものになるかについて、誰かが実際の例を示しているのをまだ見ていません。 .NET を使用してメッセージを送信すると、そのコンテキストですべてが完了します。
python - システムのオーバーホールが必要であると判断された場合、それを実行するための最良の方法は何ですか?
プライマリ言語としてVBScriptを使用して、ClassicASP上に構築されたWebアプリケーションを保守しています。私たちは、バックエンド(必要に応じてフレームワーク)が古く、迅速に前進するための適切なツールを提供していないことに同意します。私たちはいたるところにある現在のwebMVCパターンをほぼ受け入れており、現在のテクノロジーでは合理的な方法でそれを行うことはできません。欠けている大きな機能は、とりわけ、適切なディスパッチと継承によるテンプレートです。
現在、2つのパスが議論されています。
- JScriptを使用して既存のアプリケーションをClassicASPに移植します。これにより、問題なく.NET MSJscriptに移行し、最終的に.NETプラットフォームに移行できます(MVCの処理はASPで行われることが望ましいです。私たちの意見では、NETは現在よりもはるかに優れているわけではありません)。これは、少し時間がかかるかもしれませんが、次のオプションよりもリスクが少なく、より安全な方法であると主張されています。
- 他のテクノロジーを使用してアプリケーションを完全に書き直します。現在、パックのリーダーは、カスタムフレームワーク、ORM、および優れたテンプレートソリューションを備えたPythonWSGIです。ここには、djangoやその他の構築済みソリューションのための小刻みに動く余地があります。この方法は、実際の製品の横でベータ版を実行する可能性があるため、最も迅速な解決策になると思いますが、正しく実行できない/実行できない場合は、時間の無駄が大きくなる可能性があります。
これは、私たちが長年にわたって構築してきたものがかなり安定しているため、私たちの論理がなくなったことを意味するものではありません。これは、ストアドプロシージャを多用するSQL Server 2005上に構築されており、もう少し背景を説明するためにIIS6で公開されています。
さて、質問です。上記の2つのパスのいずれかをとった人はいますか?もしそうなら、それは成功したのか、どうすればもっと良かったのかなど。私たちはこれら2つのことのいずれかを行うことから大きく逸脱することは考えていませんが、いくつかの提案や他の解決策が役立つ可能性があります。