Udostępnij za pośrednictwem


Wprowadzenie do galerii programu PowerShell

Galeria programu PowerShell to repozytorium pakietów zawierające skrypty, moduły i zasoby DSC, które można pobrać i wykorzystać. Polecenia cmdlet w module PowerShellGet służą do instalowania pakietów z galerii programu PowerShell. Nie musisz logować się, aby pobrać elementy z galerii programu PowerShell.

Nuta

Pakiet można pobrać bezpośrednio z galerii programu PowerShell, ale nie jest to zalecane podejście. Aby uzyskać więcej informacji, zobacz Ręczne pobieranie pakietów.

Pakiety można znaleźć w galerii programu PowerShell przy użyciu kontrolki wyszukiwania na stronie głównej galerii programu PowerShell lub przeglądając stronę Moduły i skrypty na stronie pakiety . Pakiety można również znaleźć w galerii programu PowerShell, uruchamiając polecenia cmdlet Find-Module, Find-DscResourcei Find-Script, w zależności od typu pakietu z -Repository PSGallery.

Wyniki z galerii można filtrować przy użyciu następujących parametrów:

  • Nazwa
  • AllVersions
  • Minimalna wersja
  • RequiredVersion
  • Znacznik
  • Zawiera
  • DscResource
  • RoleCapability
  • Polecenie
  • Filtr

Jeśli interesuje Cię tylko odnajdywanie określonych zasobów DSC w galerii, możesz uruchomić polecenie cmdlet Find-DscResource. Find-DscResource zwraca dane dotyczące zasobów DSC zawartych w galerii. Ponieważ zasoby DSC są zawsze dostarczane w ramach modułu, nadal trzeba uruchomić Install-Module, aby zainstalować te zasoby DSC.

Po zidentyfikowaniu interesującego Cię pakietu możesz dowiedzieć się więcej na ten temat. Możesz to zrobić, sprawdzając konkretną stronę pakietu w galerii. Na tej stronie będzie można zobaczyć wszystkie metadane przekazane za pomocą pakietu. Te metadane są dostarczane przez autora pakietu i nie są weryfikowane przez firmę Microsoft. Właściciel pakietu jest silnie powiązany z kontem galerii używanym do publikowania pakietu i jest bardziej godny zaufania niż pole Autor.

Jeśli odkryjesz pakiet, który nie zostanie opublikowany w dobrej wierze, kliknij pozycję Zgłoś nadużycie na stronie tego pakietu.

Jeśli używasz Find-Module lub Find-Script, możesz wyświetlić te dane w zwróconym obiekcie PSGetModuleInfo. Poniższy przykład zwraca dane w module PSReadLine w galerii.

Find-Module -Name PSReadLine -Repository PSGallery | Get-Member

Zachęcamy do następującego procesu podczas pobierania pakietów z galerii programu PowerShell:

Sprawdzić

Aby pobrać pakiet z galerii na potrzeby inspekcji, uruchom polecenie cmdlet Save-Module lub Save-Script w zależności od typu pakietu. Dzięki temu można zapisywać pakiet lokalnie bez jego instalowania i sprawdzać zawartość pakietu. Pamiętaj, aby ręcznie usunąć zapisany pakiet.

Niektóre z tych pakietów są tworzone przez firmę Microsoft, a inne są tworzone przez społeczność programu PowerShell. Firma Microsoft zaleca przejrzenie zawartości i kodu pakietów w tej galerii przed instalacją.

Jeśli odkryjesz pakiet, który nie zostanie opublikowany w dobrej wierze, kliknij pozycję Zgłoś nadużycie na stronie tego pakietu.

Instalować

Aby zainstalować pakiet z galerii do użycia, uruchom polecenie cmdlet Install-Module lub Install-Script w zależności od typu pakietu.

Install-Module domyślnie instaluje moduł w celu $env:ProgramFiles\WindowsPowerShell\Modules. Wymaga to konta administratora. Jeśli dodasz parametr -Scope CurrentUser, moduł zostanie zainstalowany w celu $HOME\Documents\WindowsPowerShell\Modules .

Install-Script domyślnie instaluje skrypt w celu $env:ProgramFiles\WindowsPowerShell\Scripts. Wymaga to konta administratora. Jeśli dodasz parametr -Scope CurrentUser, skrypt zostanie zainstalowany w $HOME\Documents\WindowsPowerShell\Scripts .

Domyślnie Install-Module i Install-Script instaluje najnowszą wersję pakietu. Aby zainstalować starszą wersję pakietu, dodaj parametr -RequiredVersion.

Wdrożyć

Aby wdrożyć pakiet z galerii programu PowerShell w usłudze Azure Automation, kliknij pozycję Azure Automation, a następnie kliknij pozycję Wdróż w usłudze Azure Automation na stronie szczegółów pakietu. Nastąpi przekierowanie do portalu zarządzania Platformy Azure, w którym logujesz się przy użyciu poświadczeń konta platformy Azure. Należy pamiętać, że wdrażanie pakietów z zależnościami umożliwia wdrożenie wszystkich zależności w usłudze Azure Automation. Przycisk "Wdróż w usłudze Azure Automation" można wyłączyć, dodając tag AzureAutomationNotSupported do metadanych pakietu.

Aby dowiedzieć się więcej na temat usługi Azure Automation, zobacz dokumentację Azure Automation.

Aby zaktualizować pakiety zainstalowane z galerii programu PowerShell, uruchom polecenie cmdlet Update-Module lub Update-Script. Po uruchomieniu bez żadnych dodatkowych parametrów Update-Module próbuje zaktualizować wszystkie moduły zainstalowane przez uruchomienie Install-Module. Aby selektywnie aktualizować moduły, dodaj parametr -Name.

Podobnie po uruchomieniu bez dodatkowych parametrów Update-Script również próbuje zaktualizować wszystkie skrypty zainstalowane przez uruchomienie Install-Script. Aby selektywnie zaktualizować skrypty, dodaj parametr -Name.

Aby dowiedzieć się, które moduły zostały zainstalowane z galerii programu PowerShell, uruchom polecenie cmdlet Get-InstalledModule. To polecenie wyświetla listę wszystkich modułów zainstalowanych w systemie bezpośrednio z galerii programu PowerShell.

Podobnie, aby dowiedzieć się, które skrypty zostały zainstalowane w galerii programu PowerShell, uruchom polecenie cmdlet Get-InstalledScript. To polecenie wyświetla listę wszystkich skryptów zainstalowanych w systemie bezpośrednio z galerii programu PowerShell.

Te nazwy hostów należy dodać do list dozwolonych, które kontrolują dostęp z sieci.

Hosty wymagane do odnajdywania i pobierania pakietów:

  • onegetcdn.azureedge.net
  • powershellgallery.azureedge.net
  • psg-prod-eastus.azureedge.net

Hosty wymagane podczas korzystania z witryny sieci Web galerii programu PowerShell:

  • *.powershellgallery.com — witryna internetowa
  • go.microsoft.com i aka.ms — usługi przekierowania

Ważny

Od kwietnia 2020 r. galeria programu PowerShell nie obsługuje już protokołu Transport Layer Security (TLS) w wersji 1.0 i 1.1. Jeśli nie używasz protokołu TLS 1.2 lub nowszego, podczas próby uzyskania dostępu do galerii programu PowerShell zostanie wyświetlony błąd. Użyj następującego polecenia, aby upewnić się, że używasz protokołu TLS 1.2:

[Net.ServicePointManager]::SecurityProtocol = [Net.ServicePointManager]::SecurityProtocol -bor [Net.SecurityProtocolType]::Tls12

Aby uzyskać więcej informacji, zobacz anons w blogu programu PowerShell.