1

SQL データベース上のビジネス ロジック レイヤーである私の Powershell プロバイダーでは、Powershell ドライブはデータベース接続設定と同等です。この接続設定のコレクションは、ローカル コンピューター上の暗号化された XML ファイルに保持されます。管理者は、これらの PS ドライブをコンピューターに追加して、別の Powershell ユーザーがスクリプトを作成するときに使用できる SQL Server 資格情報を提供できます。管理者が New-PSDrive を実行すると、ドライブがコレクションに追加され、XML に保存されます。彼らが PSDrive を削除すると、永続的な XML からドライブが削除されます。これはうまくいきます。ただし、Powershell ホストが終了すると、既存のドライブごとに RemoveDrive() が呼び出されます。この時点では、ドライブをコンピューターに保持する必要があるため、ドライブを削除したくありません。

Remove-PSDrive を手動で実行しているユーザーから RemoveDrive() が呼び出されているか、またはホストが終了しているかどうかを確認するにはどうすればよいですか?

また、うまく機能するカスタム ドライブ情報パラメーターを作成しましたが、ドライブの追加と削除に使用するカスタム コマンドレットも作成しました。コマンドレットから psdrive を作成 (および削除) するにはどうすればよいですか?

4

1 に答える 1

0

これには、 InitializeDefaultDrivesオーバーライドを使用することをお勧めします。これは、プロバイダーの初期化時に適切なドライブをすべて作成できるように、接続文字列の永続的なストアが必要であることを意味します。この情報を保存するには、Stop 仮想メソッドをオーバーライドできるはずです。

于 2009-08-11T21:12:31.330 に答える