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