問題タブ [web-administration]
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.
c# - サイト アプリケーション リストで既に削除されたアプリケーションを取得する
IIS の既定のサイトの下に、削除されたサイトと現在のサイトの両方のリストを取得しています。以下は私のコードです。
ここの applst では、削除されたアプリケーションと現在のアプリケーションの両方のリストを取得しています。なぜそれが起こっているのか理解できません.IISはすでに削除されたアプリケーションもキャッシュしますか.
c# - asp.net の Web 管理ツールの実行中にエラーが発生しました
Web 管理ツールを実行して、さまざまなユーザーの役割を設定したいと考えています。次のコマンドを使用して、cmd から IIS Express を実行しました。
コマンドを実行すると、IIS が正常に動作し始めました。
次に、 を開きたいweb administration tool
ので、URLにこれを入力しました。
しかし、このコンパイルエラーが発生しました。
StringUtil
いくつかの検索の後、独自のファイル内ではアクセスできないことがわかりました。したがって、ここで利用可能なソリューション
CS0122: 'System.Configuration.StringUtil' is inaccessible due to its protection level (1 番目と 3 番目の回答の両方を試しました) に正確に従いました。
しかし、まだコメントした行番号 ( 989 ) を指す同じコンパイル エラーが発生し、上記の回答リンクで提案された文字列値に置き換えられます。
WebAdminPage.cs
私はそれを更新し、保存し(変更を保存するために管理者として実行しました)、最初の回答で示唆されたようにプロジェクトをアンロードしましたが、コンパイラはまだ古いバージョンの を認識しているようです。古いバージョン。
誰でもこの問題を解決する方法を教えてもらえますか?
ありがとう。
powershell - Powershell WebAdministration モジュールの Restart-WebAppPool の失敗
特定の問題:
検証可能に存在する Web アプリケーション プールの名前で Restart-WebAppPool を呼び出しています。スクリプトのコンテキストでそのコマンドを実行すると、エラーが発生しCannot find path 'IIS:\AppPools\AppPoolName' because it does not exist.
ます。PowerShell コンソールでまったく同じコマンドを実行すると、魅力的に動作します。
環境:
を使用して、スクリプトの先頭で WebAdministration モジュールをロードしますImport-Module WebAdministration
。スクリプトの多くの場所で、そのモジュールの他のコマンドに依存していますが、それらはすべて正常に動作します。コマンドを呼び出す直前に、再起動しようとしているアプリ プールの名前をログ ファイルに記録しています。その名前は正しいだけでなく、エラー メッセージでも正しいです。(Get-ItemProperty -Path $SitePath).ApplicationPool
問題のサイトを操作するためにスクリプト全体で $SitePath が使用されているアプリケーション プール名を取得しています。
非常に厄介なことに、アプリケーション プールを再起動しようとする直前に、問題のアプリケーションのルート ディレクトリを を使用して新しい物理パスにリセットしました(Set-ItemProperty -Path $SitePath -Name "PhysicalPath" -Value $fullAppPath )
。これは完全に機能するため、WebAdministration がロードされていることがわかります (見つからない最も明白な理由は私が知っているアプリプールのパス)。
再起動しようとしているアプリ プール名 (powershell コマンド プロンプトでの再起動は別として) が表示されますGet-ChildItem -Path "IIS:\AppPools"
WebAdministration がそのアプリ プールを見つけられない原因となる他に何が欠けていますか?
powershell - Set-ItemProperty が Windows 10 の IIS アプリケーションに影響しないのはなぜですか?
ほとんどの Web アプリケーションには、Deploy.ps1 Powershell スクリプトが含まれています。Octopus Deploy はこれを使用して、本番デプロイ中にアプリを構成しますが、開発者のローカル IIS 設定をセットアップするためにも使用します。Windows 7、Windows 8.1、およびすべての Win2012 運用サーバーで問題なく動作します。
Windows 10 では動作しません。これは、Set-ItemProperty
コマンドレットが効果を発揮しないことが原因のようです。エラーメッセージなどはありません。何もしません。
IIS サイト api.example.com は既に存在し、Powershell を使用して /myapp アプリケーションを作成し、アプリケーションの物理パスを D:\Projects\Demo に変更します。
Windows 7 でまったく同じ一連のコマンドを実行すると、同じ出力が得られますが、最後の手順で PhysicalPath プロパティが期待どおりに変更されています。
何が起こっているのか分かりますか?IIS10 に新しい管理者制限はありますか? 既存の Web アプリケーションなどの設定を変更するために必要な、ある種の特別な昇格された権限はありますか?
更新: アイテムが IIS サイトの場合は正常に動作するようですが、アイテムが Web アプリケーションの場合は失敗します。これはプロバイダーのバグではないかと思います。何か案は?
powershell - WebAdministration モジュールはコマンドレットを公開しません
MS Server 2008 r2 の場合、IIS 7.0 は 7.5 にアップグレード Powershell 2.0 は 3.0 にアップグレード
コマンドを実行import-module WebAdministration
エラーなしで完了します。次にget-command -module WebAdministration
、モジュールによって公開されているコマンドが 2 つだけであることを検出します。
CommandType 名
----------- ----
エイリアス Begin-WebCommitDelay
エイリアス End-WebCommitDelay
Get-WebSite
したがって、たとえばのような他の方法はありません。
WebAdministration に含まれている必要がある使用可能なすべてのコマンドレットが powershell に表示されないのはなぜですか?
私は開発用の Win7 マシンを持っていますが、すべて正常に動作しています。必要なものすべてにアクセスできます。
debug
コメントで提案されたUPDは、スイッチを使用して実行をインポートした出力を提供します。
UPD2: Powershell のバージョン、つまり 3.0 に関連する問題のようです。-version 2
WebAdministration のコマンドレットで powershell を実行すると、正常に動作します。しかし、なぜ 3.0 が WebAdministration のコマンドを欠いているのか、それは疑問です。
powershell - パススルーを使用して、コマンドレットが完了していることを確認します
どのように機能するか混乱して-Passthru
います。
私の理解では-Passthru
、コマンドレット自体が結果を生成しなくても、コマンドレットの結果をパイプラインに渡すためにパラメーターが使用されます。
Restart-WebAppPool
最初にこれらのコードを記述しようとしました: (コマンドレットを使用せずに IIS アプリケーション プールをリサイクルしようとしています)
予想どおり、IIS ApplicationPool を停止するには時間がかかります。また、PowerShell はコマンドレットがジョブを完了するのを待たないためStop-WebAppPool
、アプリケーション プールを停止して戻ります。アプリケーション プールを開始する準備ができていないため、Start-WebAppPool
が呼び出され、エラーがスローされます。
そこで、コードを次のように変更しました。
それは機能しますが、非常に優雅で柔軟ではありません。
次に、両方のコマンドレットに追加-Passthru
すると、次のようになります。
すべてがうまくいき、エラーはスローされません。
私の場合、次のようになります。
アプリケーション プールが実際に停止または開始されるまで、Stop/Start-WebAppPool コマンドレットは結果を生成しません。パイプラインに何かを渡す必要があるため-Passthru
、PowerShell はコマンドレットが結果を生成するのを待ちます。この場合、アプリケーション プールが停止/開始され、次のものが実行されます。
-Passthru
またはのどちらにも有用なマニュアルが見つからStop-WebAppPool
ないので、この場合はそうしてもよろしいですか?