2017-05-16 22 views
2

Ich habe ein Skript in Powershell ISE, die ich zu meinem ISE-Profil (das einzige Profil, das ich habe) durch Dot-Sourcing hinzugefügt habe. Jedes Mal, wenn ich ISE öffne, ist die Version des geladenen Skripts 3.7.2. Die aktuelle Version des Skripts (auf die der Pfad für das Dot-Sourcing verweist) lautet jedoch 5.3. Wenn ich die Punktquellenzeile in meinem Profil kopiere und sie in ISE einfüge und ausführe, wird das Skript korrekt als 5.3 angezeigt. Ich habe sogar die Zeile aus meinem Profil entfernt, und der Befehl wird immer noch angezeigt, wenn ISE geladen wird.Powershell ISE Laden alte Version von Skript

Jetzt scheint es, als ob das Skript irgendwo zwischengespeichert wird. Ich habe in meinem WindowsPowerShell \ Modules-Ordner eingecheckt, aber ich habe nur Module für ImportExcel und WASP. Ich habe es nie in ein Modul geschafft, und ich sehe es nirgendwo in Get-Module aufgeführt. Derzeit wird die Zeile, die auf das Hinzufügen meines Skripts verweist, aus meinem Profil entfernt, und die Prüfung $profile.Contains("Create-Cert") gibt False zurück, was für mich bedeutet, dass die richtige Datei geladen wird. Eine andere Sache, die ich versuchte, war Dot-Source meine $profile in ISE, die schien erfolgreich zu laufen, aber immer noch nicht die aktuelle Version, ob das Dot-Sourcing innerhalb $profile war dort nicht.

Gibt es woanders, wo Powershell diese alte Version dieses Skripts speichern könnte? Ich habe meinen Computer nach Verweisen darauf durchsucht, aber ich kann nicht einmal eine alte Version finden, die 3.7.2 entspricht.

Bearbeiten: Ein weiterer Fehlerbehebungsschritt, den ich gerade versucht habe, war, mein Profil umzubenennen und dann ISE zu öffnen. Als ich dies tat, erschien der Befehl nicht mehr in meiner Befehlsliste und Get-Help Create-Cert kam mit einem Fehler zurück, da er nicht gefunden werden konnte. Ich habe dann den Namen meines Profils wieder in Microsoft.PowerShellISE_profile.ps1 geändert, ISE wieder geschlossen und geöffnet und den Befehl mit der Version 3.7.2 erneut geladen. Es ist fast so, als wäre der Befehl in das Profil selbst eingebettet, was meiner Meinung nach nicht möglich sein sollte.

Eine weitere Sache, die ich beachten möchte, ist, dass dieses Skript auf einem Server und nicht lokal auf dem Computer vorhanden ist. Ich denke nicht, dass das wichtig sein sollte, da der Server die ganze Zeit erreichbar ist, aber vielleicht gibt es da etwas, das zwischenspeichert.

Edit 2: Auf Empfehlung von Tom Collins, habe ich ein neues Profil erstellt und fügte nur die Zeile zu meinem Skript hinzu, und dieses Mal funktionierte es. Wenn ISE geladen wurde, wurde die Version 5.3 korrekt geladen. Ich habe dann die Benennung meines alten und neuen Profils getauscht und plötzlich wieder die korrekte Version geladen. Ich habe das Schließen und Öffnen ein paar Mal getestet und lade jetzt jedesmal 5.3. Ich habe immer noch einen vollständigen Verlust für das, was es tatsächlich gelöst hat, und wenn jemand bereit ist, eine tiefere Erklärung zu geben, wäre ich bereit, mehr zu erfahren.

+0

Haben Sie versucht, den Ordner "commandanalysis" zu löschen? Ich bezweifle, dass dies das Problem ist, aber es ist einen Versuch wert. Es befindet sich unter: 'C: \ Users \ YOURUSERNAME \ Anwendungsdaten \ Local \ Microsoft \ Windows \ PowerShell \ CommandAnalysis. – Robin

+0

@Robin hatte ich vorher noch nicht, gerade jetzt geklärt, ISE wieder geöffnet, immer noch '3.7.2'. Danke trotzdem. – Malil

+0

Nächster Schritt wäre, das ursprüngliche Profil umzubenennen, ISE zu laden, um zu bestätigen, dass es nicht geladen wird, und dann manuell eine neue ISE-Profildatei mit nur dem Skript (und minimalen Voranforderungen) neu zu erstellen. Speichern Sie das als neue Profildatei und führen Sie es erneut aus.Wenn das funktioniert, ist in Ihrem ursprünglichen Profil etwas vorhanden, das das alte Skript lädt. –

Antwort

0

Hinzufügen meiner Triage als Antwort.

Als nächstes würde ich das ursprüngliche Profil umbenennen, ISE laden, um zu bestätigen, dass es nicht geladen wird, und dann manuell eine neue ISE-Profildatei mit nur dem Skript (und minimalen Voranforderungen) erstellen. Speichern Sie das als neue Profildatei und führen Sie es erneut aus. Wenn das funktioniert, ist in Ihrem ursprünglichen Profil etwas vorhanden, das das alte Skript lädt.

Verwandte Themen