問題タブ [metabase]

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.

0 投票する
2 に答える
952 参照

iis - C# で IIS のメタベースをどのようにバックアップしますか?

正確なコードが役立ちます。DirectoryServices 名前空間がそれを行うと思いますが、それを行うメソッドが見つかりません。


実際の C# コードが必要です。これまでに見つけたサンプルはすべて VB または VBScript です。私が見つけた C# の例は、ADSI プロパティの読み取り/設定用です。backup のようなコマンドには、特定の .NET 構文があるようですが、その使用方法が明確ではありません。VB には、単純なバックアップ コマンドがあります。.NET で同等のものが必要です。

0 投票する
2 に答える
7837 参照

asp.net - IIS エントリのメタベース パスを取得します (指定されたパスが有効な Web アプリケーションではないため、インストールは中止されました)

私は決してシステム管理者ではないので、間違っている場合は修正してください。

aspnet_regiis.exe -s を実行したい。これには、私の Web サイトのメタベース パスが必要です。

このメタベース パスを見つけるにはどうすればよいですか?

0 投票する
3 に答える
923 参照

.net - IIS メタベースと対話/編集するための .NET ライブラリまたは API はありますか?

...または、独自の「XML チョッピング」機能をロールバックして立ち往生していますか。小さなタスクトレイ アプリを作成して、仮想ディレクトリをハード ディスク上のいくつかのフォルダーの 1 つにすばやく再ポイントできるようにしたいと考えています。

背景のビット:

私の開発マシンには、コードベースの 3 つの異なる svn ブランチがあります。

私たちのアプリは、私がインストールしたサードパーティの CMS と統合されています

アプリが機能するためには、同じルート ディレクトリに存在する必要があります。それで:

/app/作業しているブランチに応じて、 IIS マネージャーに移動して、上記の 3 つのパスのいずれかにディレクトリを再指定しています。私のためにそれを行うためのクイックアプリがあれば便利だと思いました.

0 投票する
2 に答える
18400 参照

iis - あるサーバーから別のサーバーにすべての IIS 設定を安全にエクスポートする方法は?

Web アプリケーションの実稼働インスタンスで使用されるサーバーの 1 つを複製する仮想マシンを構築して、展開テストを実行できるようにしようとしています。

必要なファイルをすべて取得し、IIS をインストールし、データベースを稼働させました。私の目には、すべての IIS 設定を運用環境から仮想マシンにコピーするだけです。過去に、同様の状況で、メタベースをバックアップし、ファイルを見つけて、それを新しいマシンに移動し、復元したことがあります。ただし、これはより困難なシナリオであり、これを実行しようとすると、ターゲット マシンはメタベース ファイルに「無効な署名」があることを通知します。

しばらくグーグルで調べてみると、これには iiscnfg.vbs /export を使用することをお勧めしますが、これに関する msdn ページではiiscnfg.vbs /copyを使用することをお勧めしています(ただし、リンクはそれ自体を指しています)。

したがって、コピーのすべての手順に従うと、次の出力が得られます。

これは問題ないように見えますが、ターゲット コンピューターでは何も変わっていないように見えます。何を与える?これを行う別の方法はありますか?

0 投票する
2 に答える
1568 参照

iis-6 - メタベース IIS6 から etag サフィックス (変更番号) をプログラムで削除する

IIS 6.0 は、"hash:changenumber" の形式で eTag 値を生成します。変更番号は IIS がリセットされるたびに増加するため、eTag は IIS プロセスの存続期間中のみ有効です。再起動、番号が上がり、hash:changenumber != hash:changenumber+1.

これを修正するには、 changenumber をハードコーディングします。これは、メタベースを編集するための .NET ユーティリティである Metabase Explorer を使用するか、IIS サービスが停止しているときに XML ファイルを編集することで可能です。

ADSI または WMI のいずれかを使用して他のすべてのメタベース プロパティを設定できるように、サーバーを実行してプログラムでこれを行いたいと考えています。これについては、プロパティ (MD_ETAG_CHANGENUMBER として内部的にのみ参照される) が一致するプロパティ名を持っていないように見えるため、可能ではないようです。

VBScript の問題の例を次に示します。

出力:

この値を C# で設定できるようにしたいと考えています。IIS を停止し、XML で値を設定して、再度開始する以外に、この値をプログラムで設定する方法はありますか?

私の最善の考えは、Metabase Explorer に付属の IISMbLib.dll を (ab) 使用することです。したがって、これを使用した経験のある方がいらっしゃいましたら、ぜひお聞かせください。

参考文献:

0 投票する
2 に答える
26177 参照

iis - C:\ Inetpub \ AdminScripts \ ADSUTIL.VBSへの相対パスを見つける方法は?

IIS 6以前には、 ADSUTIL.VBSというユーティリティスクリプトが付属しています。

Adsutil.vbsは、Active Directoryサービスインターフェイス(ADSI)を備えたMicrosoft Visual Basic Sc​​ripting Edition(VBScript)を使用してIIS構成を操作するIIS管理ユーティリティです。このスクリプトは、WindowsScriptHostとともにインストールされるCScriptを使用して実行する必要があります。

つまり、このツールを使用すると、コマンドラインからプログラムでIISメタベース設定を変更できます。

IISの構成を変更するために、InstallShieldプロジェクトからこのツールを呼び出したいと思います。スクリプトを再配布することが合法であるか(ソース内に合法的な表現がない)、または単に次の方法でコマンドを起動することが合法であるかどうか、私は興味があります。

スクリプトがその場所のディスクに存在することを期待します。

だから私の質問は-マシン上の他のウェブサイト(inetpubルート)がシステム以外のドライブにある場合でも、それは常に上記のパスに存在しますか?ADSUTILツールを参照しているすべてのMSDNおよびその他のMicrosoftKB記事は、上記の%SYSTEMDRIVE%パスを使用してこれを行っているようです。

InstallShieldプロジェクトでcscript.exeとadsutil.vbsの両方を配布することにより、これに対処するための少なくとも1つの他の試みが見られます。

おそらく、Inetpub \ AdminScriptsパスの場所を取得するためのレジストリキーまたは他の方法がありますか?

たぶん、値または自分のVBScriptを変更するC#アプリケーションを作成し、代わりに自分の小さなアプリで配布する必要がありますか?

0 投票する
3 に答える
1518 参照

c# - asp.netiisメタベースはすべてのサイトを返すわけではありません

ASP.Netで次のようなコードを使用して、IISのWebサイトを列挙します。

ただし、16サイトのうち最初の11サイトのみが処理されていることがわかりました。私はこれと数時間戦いましたが、IISの最初の11サイトを通過する方法を見つけることができません。再帰的に検索してみましたが、DirectorySearcherを使用しても無駄になりました。複数回列挙したり、なんらかのフィルターを使用したりしましたが、うまくいきませんでした。

何か案は?

ありがとう!

〜mellamokb

0 投票する
1 に答える
683 参照

c# - C# を使用して IIS メタベースのバックアップを復元する方法

ここで、C# で IIS メタベースをバックアップする方法を説明しているスタック オーバーフローの質問を見つけまし。ただし、C# コードを使用してこれらのバックアップ (または IIS で手動で作成されたバックアップ) を復元するのは困難です。

誰かがこれを行う方法を知っていますか、それができるかどうかさえ知っていますか? バックアップ自体とは異なり、Web 上でこの例を見つけることができませんでした。

次のコードを試しましたが、「呼び出しのターゲットによって例外がスローされました」というエラーが表示されます

間違った名前やオブジェクト構造でメソッドを呼び出していることは確かですが、どこでも正しい呼び出し方法を見つけることができませんでした....

誰かが私を正しい方向に向けることができますか?

0 投票する
1 に答える
733 参照

c# - リモート 2008 サーバー上の IIS メタベースに接続する

iis メタベースを検査して、どのサイトがインストールされているか、およびそれらの仮想ディレクトリがどこに保持されているかを確認するコードを少し書きました。このコードは、サーバー上でローカルに実行すると問題なく実行されます。

リモートで動作するように拡張しようとしています。認証するのに苦労していること。現在LogonUserAPI を使用していますが、これはログオン時に常に false を返します

  • 私は自分が持っている資格が優れていることを知っています
  • サーバーとの間にファイアウォールがありません
  • LogonUserコマンド ラインから API 呼び出しとユーザー runas を使用せずにアプリを実行すると、次のエラーが表示されます。COMException (0x80005000)

任意の考えをいただければ幸いです。

0 投票する
2 に答える
1488 参照

cookies - 仮想ディレクトリがファイルからインポートされると、IIS 6 は AppRoot/Starting Point を強制的に大文字にします

私はこれをウェブで検索しましたが、何も見つかりませんでした (リモートで関連する投稿が 1 つありました)。

IIS 6 には複数の ASP.NET アプリがあり、各アプリに専用のパスを持つフォーム認証を使用しています。パスは大文字と小文字が区別されるため、URL のパス セクションと正確に一致する必要があります。ただし、IIS 6 メタベースの AppRoot (または IIS UI の開始点) の大文字と小文字が正しくないため、以前に URL がサーバー上で解決され、正しくないケースでクライアントに送信されると、クッパはサーバーにフォーム Cookie を送信しません。

例:
アプリ URL = 「https://Test.net/Application1
Cookie パス= /Application1
メタベース AppRoot = /LM/W3SVC/ 1393818691 /ROOT/APPLICATIONPATH1
解決済み URL = 「https://Test.net/APPLICATIONPATH1

根本的な原因...
特定のケースで手動でテスト サーバーに仮想ディレクトリを作成します (各アプリケーションのパスに一致します)。次に、UI を使用して仮想ディレクトリを XML ファイルにエクスポートし、それを別のサーバー (たとえば、運用サーバー) にインポートします。この時点で、IIS はメタベースの AppRoot 要素を大文字にすることを決定します。

誰でもこれに光を当てることができますか?認識していない IIS の設定はありますか? インポート後にメタベースを手動で編集しないようにしています。それはバグですか?