Powershell ISE加载旧版脚本

时间:2017-05-16 15:51:23

标签: powershell

我在Powershell ISE中有一个脚本,我通过点源添加到我的ISE配置文件(我唯一的配置文件)中。每当我打开ISE时,加载的脚本版本为3.7.2。但是,脚本的当前版本(点源指向的路径)是5.3。如果我在我的个人资料中复制点源代码行并将其粘贴并在ISE中运行,则该脚本将正确显示为5.3。我甚至从我的个人资料中删除了该行,并且在加载ISE时该命令仍会显示。

现在,似乎脚本正在某处缓存。我已经检查了我的WindowsPowerShell \ Modules文件夹,但我只有ImportExcelWASP的模块。我从来没有把它变成一个模块,我没有在Get-Module的任何地方看到它。目前,添加我的脚本的行引用已从我的个人资料中删除,并且检查$profile.Contains("Create-Cert")会返回False,这对我来说意味着它正在加载正确的文件。我尝试的另一件事是在ISE中点击我的$profile,这似乎运行成功,但仍然没有当前版本,无论是否在$profile内点源在那里。

还有其他地方Powershell可以存储此脚本的旧版本吗?我已经在我的计算机上搜索了它的引用,但我甚至找不到与3.7.2匹配的旧版本。

编辑:我刚试过的另一个问题排查步骤是重命名我的个人资料,然后打开ISE。当我这样做时,命令不再显示在我的命令列表中,并且Get-Help Create-Cert返回时出现错误,因为它无法找到它。然后我将我的个人资料的名称更改回Microsoft.PowerShellISE_profile.ps1,关闭并再次打开ISE,并且命令再次加载版本3.7.2。它几乎就像命令被嵌入到配置文件本身中,我甚至认为这不可能。

我要注意的另一件事是这个脚本存在于服务器上,而不是计算机本地。我不认为这应该是重要的,因为服务器可以在整个时间内访问,但是由于这个事实可能还有一些缓存。

编辑2: 在Tom Collins的推荐下,我创建了一个新的配置文件,并添加了关于我的脚本的行,这次它起作用了。加载ISE时,它正确加载版本5.3。然后我交换了我的新旧配置文件的命名,突然它再次加载了正确的版本。我已经测试了几次关闭并打开它,现在它每次都加载5.3。对于实际修复它的内容,我仍然完全失去了,如果有人愿意提供更深层次的解释,我愿意更多地了解。

1 个答案:

答案 0 :(得分:0)

添加我的分类作为答案。

下一步我要重命名原始配置文件,加载ISE以确认它没有加载,然后只用脚本手动重建一个新的ISE配置文件(和最小的pre-reqs) 。将其保存为新的配置文件并重新运行。如果可以,那么原始配置文件中的某些内容正在加载旧脚本。