Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Wersja programu PowerShell Core 6.2 koncentruje się na ulepszeniach wydajności, poprawkach usterek i mniejszych ulepszeniach poleceń cmdlet i języka, które zwiększają jakość. Aby wyświetlić pełną listę ulepszeń, zapoznaj się z naszymi szczegółowymi dziennikami zmian w usłudze GitHub.
Funkcje eksperymentalne
Wcześniej włączyliśmy obsługę funkcji eksperymentalnych. W wersji 6.2 mamy cztery funkcje eksperymentalne do wypróbowania. Prześlij opinię, abyśmy mogli wprowadzić ulepszenia i zdecydować, czy funkcja warto promować stan głównego nurtu.
Użyj Get-ExperimentalFeature
polecenia , aby uzyskać listę dostępnych funkcji eksperymentalnych. Możesz włączyć lub wyłączyć te funkcje za pomocą polecenia Enable-ExperimentalFeature
i Disable-ExperimentalFeature
.
Nie znaleziono sugestii dotyczących poleceń
Ta funkcja używa dopasowywania rozmytego, aby znaleźć sugestie dotyczące poleceń lub poleceń cmdlet, które mogły zostać błędnie wtypowane.
Enable-ExperimentalFeature -Name PSCommandNotFoundSuggestion
Przykład
W tym przykładzie błędna nazwa polecenia cmdlet jest rozmyta dopasowana do kilku sugestii z najbardziej prawdopodobnego, co najmniej prawdopodobne.
Get-Commnd
Get-Commnd : The term 'Get-Commnd' is not recognized as the name of a cmdlet, function, script file,
or operable program. Check the spelling of the name, or if a path was included, verify that the path
is correct and try again.
At line:1 char:1
+ Get-Commnd
+ ~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (Get-Commnd:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
Suggestion [4,General]: The most similar commands are: Get-Command, Get-Content, Get-Job, Get-Module,
Get-Event, Get-Host, Get-Member, Get-Item, Set-Content.
Niejawne dzielenie na partie za pośrednictwem komunikacji bezpośredniej
W przypadku korzystania z niejawnej komunikacji zdalnej w potoku program PowerShell traktuje każde polecenie w potoku niezależnie. Obiekty są wielokrotnie serializowane i de-serialized
między klientem a systemem zdalnym w ramach wykonywania potoku.
Dzięki tej funkcji program PowerShell analizuje potok, aby określić, czy polecenie jest bezpieczne do uruchomienia i istnieje w systemie docelowym. W przypadku wartości true program PowerShell wykonuje cały potok zdalnie i tylko serializuje i de-serializes
wyniki z powrotem do klienta.
Enable-ExperimentalFeature -Name PSImplicitRemotingBatching
Rzeczywisty test Get-Process | Sort-Object
over localhost zmniejsza się z 10-15 sekund do 20-30 milisekund. Funkcja musi być włączona tylko na kliencie. Na serwerze nie są wymagane żadne zmiany.
Dysk tymczasowy
Enable-ExperimentalFeature -Name PSTempDrive
Jeśli używasz programu PowerShell Core w różnych systemach operacyjnych, dowiesz się, że zmienna środowiskowa do znajdowania katalogu tymczasowego różni się w systemach Windows, macOS i Linux! Dzięki tej funkcji uzyskasz nazwę PSDrive o nazwie Temp:
, która jest automatycznie mapowana do folderu tymczasowego używanego systemu operacyjnego.
Przykład
PS> "Hello World!" > Temp:/hello.txt
PS> Get-Content Temp:/hello.txt
Hello World!
Należy pamiętać, że natywne polecenia plików (takie jak ls
w systemie Linux) nie są świadome usługi PSDrives i nie będą widzieć tego Temp:
dysku.
Rozszerzanie skrótów
Oczekuje się, że polecenia cmdlet programu PowerShell będą miały opisowe nouns. Powoduje to, że długie nazwy są trudniejsze do wpisywania. Ta funkcja pozwala po prostu wpisać wielkie litery polecenia cmdlet i użyć uzupełniania tabulatora, aby znaleźć dopasowanie.
Enable-ExperimentalFeature -Name PSUseAbbreviationExpansion
Przykład
PS> i-arsavsf
Po naciśnięciu karty i zainstalowaniu modułu Azure PowerShell Az zostanie on automatycznie wypełniony:
PS> Import-AzRecoveryServicesAsrVaultSettingsFile
Uwaga
Ta funkcja ma być używana interaktywnie. Nie można wykonać skróconych formularzy poleceń cmdlet. Ta funkcja nie zastępuje aliasów.
Zmiany powodujące niezgodność
- Napraw
-NoEnumerate
zachowanie wWrite-Output
celu zapewnienia spójności z Windows PowerShell. (#9069) - Wynik jest
Join-String -InputObject 1,2,3
równy1,2,3 | Join-String
wynikowi (#8611) (Dzięki @sethvs!) - Dodaj
-Stable
doSort-Object
i powiązane testy (#7862) (Dzięki @KirkMunro!) - Ulepszanie
Start-Sleep
polecenia cmdlet w celu akceptowania sekund ułamkowych (#8537) (Dzięki @Prototyyppi!) - Zmień tabelę skrótu, aby używać metody OrdinalIgnoreCase, aby znajdować się
case-insensitive
we wszystkich kulturach (#8566) - Napraw element LiteralPath w
Import-Csv
celu powiązania zGet-ChildItem
danymi wyjściowymi (#8277) (Dzięki @iSazonov!) - Nie pomija już kolumny bez nazwy, jeśli ogranicznik podwójnego cudzysłowu jest używany w
Import-Csv
pliku (#7899) (Dzięki @Topping!) -
Get-ExperimentalFeature
nie ma już przełącznika-ListAvailable
(#8318) - Parametr debugowania ustawia
$DebugPreference
teraz wartość Kontynuuj , a nie Inquire (#8195) (Dzięki @KirkMunro!) - Honoruj
-OutputFormat
, jeśli określono w nieinterakcyjnym, przekierowanym, zakodowanym poleceniu używanym z programem pwsh (#8115) - Ładowanie zestawu ze ścieżki bazowej modułu przed próbą załadowania z usługi GAC (#8073)
- Usuwanie tyldy z pakietów wersji zapoznawczej systemu Linux (#8244)
- Przenoszenie przetwarzania
-WorkingDirectory
przed przetwarzaniem profilów (#8079) - Nie dodawaj
PATHEXT
zmiennej środowiskowej w systemie Unix (#7697) (Dzięki @iSazonov!)
Znane problemy
- Komunikacja zdalna na platformach ARM systemu Windows iOT ma problem z ładowaniem modułów. Zobacz (#8053)
Ogólne Aktualizacje i poprawki
- Włącz uzupełnianie kart bez uwzględniania wielkości liter dla plików i folderów w systemie plików z uwzględnieniem wielkości liter (#8128)
- Upublicznij plik PSVersionInfo.PSVersion i PSVersionInfo.PSEdition (#8054) (dzięki @KirkMunro!)
- Dodawanie wnioskowania typu dla
$_
/$PSItem
blokówcatch{ }
(#8020) (Dzięki @vexx32!) - Naprawiono wnioskowanie typu metody statycznej (#8018) (Dzięki @SeeminglyScience!)
- Twórca wywnioskowanych typów dla
Select-Object
obiektów , ,Group-Object
PSObject i hashtable (#7231) (Dzięki@powercode!) - Obsługa metody wywoływania z parametrami
ByRef-like
typu (#7721) - Obsługa przypadku, w którym ścieżka modułu Windows PowerShell znajduje się już w ścieżce PSModulePath środowiska (#7727)
- Włącz
SecureString
polecenia cmdlet dla systemu spoza systemu Windows, przechowując zwykły tekst (#9199) - Poprawianie komunikatu o błędzie w systemie innych niż Windows podczas importowania interfejsu clixml przy użyciu protokołu securestring (#7997)
- Dodawanie parametru ReplyTo do
Send-MailMessage
(#8727) (Dziękujemy) @replicaJunction!) - Dodaj przestarzałą wiadomość do
Send-MailMessage
(#9178) - Poprawka
Restart-Computer
do działania,localhost
gdy usługa WinRM nie jest obecna (#9160) - Zgłaszaj
Start-Job
błąd zakończenia, gdy program PowerShell jest hostowany (#9128) - Dodaj akceleratory typów stylów języka C# i sufiksy dla elementów ushort, uint, ulong i krótkich literałów (#7813) (Dzięki @vexx32!)
- Dodano nowe sufiksy literałów liczbowych — zobacz about_Numeric_Literals (#7901) (Dzięki @vexx32!)
- Prawidłowy poziom wpływu raportu, gdy wartość SupportsShouldProcess nie jest ustawiona na wartość "true" (#8209) (Dzięki @vexx32!)
- Rozwiązywanie problemów z żądaniami charset w poleceniach cmdlet sieci Web (#8742) (dzięki @markekraus!)
- Rozwiązano problem z oczekiwanymi
100-continue
poleceniami cmdlet sieci Web (#8679) (Dziękujemy) @markekraus!) - Rozwiązano problem z blokowaniem plików za pomocą poleceń cmdlet sieci Web (#7676) (Dzięki @Claustn!)
- Rozwiązano problem z analizowaniem strony kodu w programie
Invoke-RestMethod
(#8694) (Dzięki @markekraus!) - Refaktoryzacja
ConvertTo-Json
w celu uwidocznienia pliku JsonObject.ConvertToJson jako publicznego interfejsu API (#8682) - Dodaj konfigurowalną maksymalną głębokość za
ConvertFrom-Json
pomocą parametru -Depth (#8199) (Dzięki @louistio!) - Dodaj parametr EscapeHandling w
ConvertTo-Json
poleceniu cmdlet (#7775) (Dzięki @iSazonov!) - Dodaj
-CustomPipeName
do programu pwsh iEnter-PSHostProcess
(#8889) - Włączanie tworzenia względnych linków symbolicznych w systemie Windows za pomocą
New-Item
polecenia (#8783) - Zezwalaj użytkownikom systemu Windows w trybie dewelopera na tworzenie linków symlinków bez podniesienia uprawnień (#8534)
- Włącz
Write-Information
akceptowanie$null
(#8774) - Poprawka
Get-Help
dotycząca funkcji zaawansowanych z zawartością pomocy MAML (#8353) - Rozwiązano
Get-Help
problem z parametrem PSTypeName, gdy zadeklarowano tylko jeden parametr (#8754) (Dzięki @pougetat!) - Poprawka obliczania tokenu dla
Get-Help
wykonywanego w skrypcie ScriptBlock, aby uzyskać pomoc dotyczącą komentarza. (#8238) (Dzięki @hubuk!) - Zmień
Get-Help
polecenie cmdlet -Parametr, aby akceptował tablice ciągów (#8454) (Dzięki @sethvs!) - Rozwiąż problem PAGER, jeśli jego ścieżka zawiera spacje (#8571) (Dzięki @pougetat!)
- Dodaj monit o użycie
less
polecenia w funkcji "help", aby poinstruować użytkownika, jak zamknąć program (#7998) - Dodawanie typów
Format-Hex
wyliczenia i znaków w poleceniu cmdlet (#8191) (Dzięki @iSazonov!) - Remove ShouldProcess from
Format-Hex
(#8178) - Dodawanie nowych parametrów przesunięcia i liczby do
Format-Hex
i refaktoryzację polecenia cmdlet (#7877) (Dzięki @iSazonov!) - Zezwalaj na wartość "name" jako klucz aliasu dla etykiety w programie
ConvertTo-Html
, zezwalaj na wpis "width" jako liczbę całkowitą (#8426) (Dzięki @mklement0!) - Utwórz ponownie właściwości
ConvertTo-Html
obliczeniowe oparte na skrybloku (#8427) (Dzięki @mklement0!) - Dodaj polecenie cmdlet
Join-String
do tworzenia tekstu na podstawie danych wejściowych potoku (#7660) (Dzięki @powercode!) - Poprawiono
Join-String
logikę parametru FormatString polecenia cmdlet (#8449) (Dziękujemy) @sethvs!) - Zmień z
Clear-Host
powrotem na używanie$RAWUI
i wyczyść, aby pracować nad komunikacji zdalną (#8609) - Zmień wartość
Clear-Host
na po prostu wywołaną[console]::clear
i usuń wyczyść alias z systemu Unix (#8603) - Napraw element LiteralPath w
Import-Csv
celu powiązania zGet-ChildItem
danymi wyjściowymi (#8277) (Dzięki @iSazonov!) - funkcja help nie powinna używać pager aliasHelpInfo (#8552)
- Dodaj
-UseMinimalHeader
do,Start-Transcript
aby zminimalizować nagłówek transkrypcji (#8402) (Dzięki @lukexjeremy!) - Dodawanie
Enable-ExperimentalFeature
poleceń cmdlet iDisable-ExperimentalFeature
(#8318) - Uwidaczniaj wszystkie polecenia cmdlet z programu PSDiagnostics , jeśli logman.exe jest dostępna (#8366)
- Usuń parametr Persist z
New-PSDrive
platformynon-Windows
(#8291) (Dzięki @lukexjeremy!) - Dodaj obsługę (
cd +
#7206) (Dzięki @bergmeister!) - Włącz
Set-Location -LiteralPath
pracę z folderami o nazwie - i + (#8089) -
Test-Path
zwraca$false
wartość w przypadku wartości pustej lub$null
ścieżki (#8080) (Dzięki @vexx32!) - Zezwalaj na zwracanie parametru dynamicznego, nawet jeśli ścieżka nie jest zgodna z żadnym dostawcą (#7957)
- Obsługa
Get-PSHostProcessInfo
iEnter-PSHostProcess
na platformach Unix (#8232) - Zmniejsz alokacje w
Get-Content
poleceniu cmdlet (#8103) (Dzięki @iSazonov!) - Włącz
Add-Content
udostępnianie dostępu do odczytu innym narzędziom podczas pisania zawartości (#8091) -
Get/Add-Content
zgłasza ulepszony błąd podczas określania wartości docelowej kontenera (#7823) (Dzięki @kvprasoon!) -
-NoUserOverrides
Dodawanie-Name
parametrów i doGet-Culture
-ListAvailable
polecenia cmdlet (#7702) (Dziękujemy)@iSazonov!) - Dodaj ujednolicony atrybut do ukończenia dla parametru Kodowanie . (#7732) (Dzięki @ThreeFive-O!)
- Zezwalaj na identyfikatory liczbowe i nazwy zarejestrowanych stron kodu w parametrach kodowania (#7636) (Dzięki @iSazonov!)
- Poprawka
Rename-Item -Path
z symbolem wieloznacznymi (#7398) (Dzięki @kwkam!) - W przypadku używania
Start-Transcript
pliku i istnieje pusty plik, a nie usuwanie (#8131) (Dzięki @paalbra!) - Utwórz
Add-Type
pliki open source za pomocą funkcji FileAccess.Read i FileShare.Read jawnie (#7915) (Dzięki@IISResetMe!) - Poprawka
Enter-PSSession -ContainerId
dotycząca najnowszego systemu Windows (#7883) - Upewnij się, że właściwość NestedModules jest wypełniana przez
Test-ModuleManifest
(#7859) - Dodaj
%F
przypadek doGet-Date
-UFormat (#7630) (Dzięki @britishben!) - Poprawka
Set-Service -Status Stopped
do zatrzymywania usług z zależnościami (#5525) (Dzięki @zhenggu!)