Der Grund für diese Arbeit ist Umfang ...
Es gibt vier Bereiche: lokale, Skript, privat, und global
Die Regeln für Variablen, Funktionen und Aliase sagen, dass PowerShell die übergeordneten Bereiche durchsuchen wird, wenn sie nicht im aktuellen Bereich definiert sind.
Der Standardwert für einen Alias ist allscope, wodurch er von allen untergeordneten Bereichen sichtbar gemacht wird und auch in jeden neuen untergeordneten Bereich übernommen wird (ich denke, das wäre eine faire Definition).
Get-Alias -Name wget | select Name,options
Name Options
wget AllScope
Sobald Sie den Alias entfernen, die der Skriptbereich (scope 0) ist, wird es dann den Alias aus dem globalen/geordneten Bereich (Scope 1) finden.
Wenn Sie die Quelle dot angeben, sagen Sie nur, dass Sie das Skript zuerst im aufrufenden/globalen Bereich ausführen, sodass Sie den globalen Alias standardmäßig entfernen.
Versuchen Sie diese ...
Beispiel # 1.
1,1) die Aliasnamen aus dem globalen Bereich entfernen.
Remove-Item -Path Alias:\wget
1,2) Erstellen Sie einen neuen eine (global scope) und es privat machen.
New-Alias -Name wget -Value dir -Scope private
1,3) Jetzt ist der Alias nicht sichtbar aus dem verschachtelten Bereich. Also versuchen Sie das Skript auszuführen und es wird nicht gefunden.
Beispiel # 2.
2,1) die Aliasnamen aus dem globalen Bereich entfernen. Remove-Item -Path Alias: \ wget
2,2) einen neuen erstellen und macht es AllScope
New-Alias -Name wget -Value dir -Option AllScope
2,3) nun Ihr Skript ausführen, und es wird gut funktionieren (mit dem neuen alias dir aus dem übergeordneten Bereich)
Sie könnten das gleiche auch mit Variablen versuchen. Sie sollten einfacher zu demontieren sein (und damit spielen), da Sie leichter mit dem Bereichsparameter spielen können, wenn Sie Neu/Abrufen/Festlegen/Entfernen-Scope 1 oder Bereich 0 verwenden oder die Bereichsmodifikatoren verwenden, z. B. $ global: ein.
Dieses Verhalten scheint für alle Standardaliase konsistent zu sein. Benutzerdefinierte Aliase (zumindest für mich) können innerhalb eines Skripts entfernt werden. – Kohlbrr
Das ist wirklich komisch, es muss ein Problem sein. Ich werde nach einigen weiteren Tests zurückschreiben. –