1

在我的 Powershell 提供程序中,它是 SQL 数据库上的业务逻辑层,Powershell 驱动器等同于数据库连接设置。此连接设置集合保存在本地计算机上的加密 XML 文件中。管理员可以在计算机上添加这些 PS 驱动器,提供 SQL Server 凭据,供其他 Powershell 用户在编写脚本时使用。当管理员运行 New-PSDrive 时,我将一个驱动器添加到集合中并将其保存到 XML。当他们 Remove-PSDrive 时,我从持久 XML 中删除了驱动器。这工作正常。但是,当 Powershell 主机退出时,它会为每个现有驱动器调用 RemoveDrive()。在这一点上,我不想删除驱动器,因为我需要它们保留在计算机上。

如何确定是手动执行 Remove-PSDrive 的用户调用了 RemoveDrive(),还是主机退出了?

此外,我创建了运行良好的自定义驱动器信息参数,但我还编写了一个自定义 cmdlet,用于添加和删除驱动器。如何从我的 cmdlet 创建(和删除)psdrive?

4

1 回答 1

0

您可能希望为此使用InitializeDefaultDrives覆盖。这确实意味着您将需要拥有连接字符串的持久存储,以便您可以在提供程序初始化时创建所有适当的驱动器。您应该能够覆盖 Stop 虚拟方法来保存此信息。

于 2009-08-11T21:12:31.330 回答