Udostępnij za pomocą


Save-Help

Pobiera i zapisuje najnowsze pliki pomocy w katalogu systemu plików.

Składnia

Path (Domyślna)

Save-Help
    [-DestinationPath] <String[]>
    [[-Module] <PSModuleInfo[]>]
    [[-UICulture] <CultureInfo[]>]
    [-FullyQualifiedModule <ModuleSpecification[]>]
    [-Credential <PSCredential>]
    [-UseDefaultCredentials]
    [-Force]
    [-Scope <UpdateHelpScope>]
    [<CommonParameters>]

LiteralPath

Save-Help
    [[-Module] <PSModuleInfo[]>]
    [[-UICulture] <CultureInfo[]>]
    -LiteralPath <String[]>
    [-FullyQualifiedModule <ModuleSpecification[]>]
    [-Credential <PSCredential>]
    [-UseDefaultCredentials]
    [-Force]
    [-Scope <UpdateHelpScope>]
    [<CommonParameters>]

Opis

Polecenie cmdlet Save-Help pobiera najnowsze pliki pomocy dla modułów programu PowerShell i zapisuje je w określonym katalogu. Ta funkcja umożliwia aktualizowanie plików pomocy na komputerach, które nie mają dostępu do Internetu, i ułatwia aktualizowanie plików pomocy na wielu komputerach. To cmdlet zostało wprowadzone w Windows PowerShell 3.0.

Począwszy od programu Windows PowerShell 4.0, można pobrać Save-Help pliki pomocy dla modułów zainstalowanych na komputerach zdalnych. Istnieje również możliwość zapisania obiektu PSModuleInfo przy użyciu Export-Clixml na komputerze, który nie ma dostępu do Internetu, zaimportować obiekt na komputerze, który ma dostęp do Internetu, a następnie uruchomić Save-Help go w obiekcie PSModuleInfo . Po zapisaniu pomocy możesz skopiować go na komputer zdalny i zainstalować go, uruchamiając polecenie Update-Help. Ten proces może służyć do instalowania pomocy na komputerach, które nie mają dostępu do sieci.

Bez parametrów polecenie Save-Help pobiera najnowszą pomoc dla wszystkich modułów w sesji i modułów zainstalowanych na komputerze w lokalizacji wymienionej w zmiennej środowiskowej PSModulePath. Ta akcja pomija moduły, które nie obsługują aktualizowalnej pomocy bez ostrzeżenia.

Polecenie cmdlet Save-Help sprawdza wersję wszystkich plików pomocy w folderze docelowym. Jeśli nowsze pliki pomocy są dostępne, to polecenie cmdlet pobiera najnowsze pliki pomocy z Internetu, a następnie zapisuje je w folderze. Polecenie Save-Help cmdlet działa podobnie jak Update-Help polecenie cmdlet, z tą różnicą, że zapisuje pobraną zawartość, zamiast wyodrębniać pliki pomocy i instalować je na komputerze.

Zapisana pomoc dla każdego modułu składa się z jednego pliku pomocy (HelpInfo XML) oraz pliku cabinet lub archiwum ZIP (.cab lub .zip) dla plików pomocy w każdym języku. W systemie Windows polecenie pobiera pliki cabinet. W systemach Linux i macOS polecenie pobiera pliki ZIP.

Aby zapisać pliki pomocy dla modułów w folderze instalacyjnym programu PowerShell ($PSHOME\Modules), uruchom program PowerShell przy użyciu opcji Uruchom jako administrator. Aby pobrać pliki pomocy dla tych modułów, musisz być członkiem grupy Administratorzy na komputerze.

Aby zainstalować zapisane pliki pomocy, uruchom polecenie Update-Help z parametrem SourcePath , aby określić folder zawierający zapisane pliki Pomocy. Update-Help wyodrębnia pliki pomocy z archiwum i instaluje je w odpowiedniej lokalizacji.

Przykłady

Przykład 1. Zapisywanie pomocy dla modułu DhcpServer

W tym przykładzie przedstawiono trzy różne sposoby zapisywania Save-Help pomocy dla modułu DhcpServer z komputera klienckiego połączonego z Internetem bez instalowania modułu DhcpServer lub roli serwera DHCP na komputerze lokalnym.

# Option 1:
# 1. Run Invoke-Command to get the PSModuleInfo object for the DhcpServer module,
# 2. Save-Help on the PSModuleInfo object to save the help files to a folder on
#    the local computer.

$mod = Invoke-Command -ComputerName RemoteServer -ScriptBlock {
    Get-Module -Name DhcpServer -ListAvailable
}
Save-Help -Module $mod -DestinationPath C:\SavedHelp


# Option 2:
# 1. Open a PSSession to the remote computer that's running the DhcpServer module
# 2. Get the PSModuleInfo object from the remote computer
# 3. Save-Help on the PSModuleInfo object

$session = New-PSSession -ComputerName "RemoteServer"
$mod = Get-Module -PSSession $session -Name "DhcpServer" -ListAvailable
Save-Help -Module $mod -DestinationPath C:\SavedHelp


# Option 3:
# 1. Open a CimSession to the remote computer that's running the DhcpServer module
# 2. Get the PSModuleInfo object from the remote computer
# 3. Save-Help on the PSModuleInfo object
$cimsession = New-CimSession -ComputerName "RemoteServer"
$mod = Get-Module -CimSession $cimsession -Name "DhcpServer" -ListAvailable
Save-Help -Module $mod -DestinationPath "C:\SavedHelp"

Przykład 2. Instalowanie pomocy dotyczącej modułu DhcpServer

W tym przykładzie pokazano, jak zainstalować pomoc dla komputera, który nie jest połączony z siecią. W tym przykładzie pierwszy komputer nie jest połączony z dostępną siecią. Pliki muszą być kopiowane do niego przy użyciu nośnika wymiennego. Drugi komputer jest połączony z Internetem i może pobrać pliki pomocy.

# On the first computer, get the PSModuleInfo object for the module and save it to
# removable media.

Get-Module -Name "DhcpServer" -ListAvailable |
    Export-CliXml -Path E:\UsbFlashDrive\DhcpModule.xml

# Move the removable media to a computer that has internet access, and then import the
# PSModuleInfo object. Run Save-Help on the imported PSModuleInfo object and save the help
# files to the removable media.

$moduleInfo = Import-CliXml E:\UsbFlashDrive\DhcpModule.xml
Save-Help -Module $moduleInfo -DestinationPath E:\UsbFlashDrive\SavedHelp

# Finally, move the removable media back to the first computer and install the help.

Update-Help -Module DhcpServer -SourcePath E:\UsbFlashDrive\SavedHelp

Przykład 3. Zapisywanie pomocy dla wszystkich modułów

To polecenie pobiera najnowsze pliki pomocy dla wszystkich modułów na komputerze lokalnym. Zapisuje pliki pomocy w folderze \\Server01\Fileshare01.

Save-Help -DestinationPath \\Server01\FileShare01

Przykład 4. Zapisywanie pomocy dotyczącej modułu na komputerze

To polecenie pobiera najnowsze pliki pomocy dla modułu ServerManager, a następnie zapisuje je w folderze \\Server01\Fileshare01.

$saveHelpSplat = @{
    Module = 'ServerManager'
    DestinationPath = '\\Server01\FileShare01'
    Credential = 'Domain01/Admin01'
}
Save-Help @saveHelpSplat

Po zainstalowaniu modułu na komputerze można wpisać nazwę modułu jako wartość parametru Moduł , nawet jeśli moduł nie zostanie zaimportowany do bieżącej sesji.

Polecenie używa parametru Credential, aby podać poświadczenia użytkownika, który ma uprawnienia do zapisu w udziale plików.

Przykład 5. Zapisywanie pomocy dotyczącej modułu na innym komputerze

Te polecenia pobierają najnowsze pliki pomocy dla modułu CustomSQL i zapisują je w folderze \\Server01\Fileshare01.

Invoke-Command -ComputerName Server02 { Get-Module -Name CustomSQL -ListAvailable } |
    Save-Help -DestinationPath \\Server01\FileShare01 -Credential Domain01\Admin01

Ponieważ moduł CustomSQL nie jest zainstalowany na komputerze, sekwencja zawiera Invoke-Command polecenie, które pobiera obiekt modułu dla modułu CustomSQL z komputera Server02, a następnie potokuje obiekt modułu Save-Help do polecenia cmdlet.

Jeśli moduł nie jest zainstalowany na komputerze, Save-Help wymaga obiektu modułu, który zawiera informacje o lokalizacji najnowszych plików pomocy.

Przykład 6. Zapisywanie pomocy dla modułu w wielu językach

To polecenie zapisuje pomoc dla podstawowych modułów programu PowerShell w czterech różnych kulturach interfejsu użytkownika. Pakiety językowe dla tych ustawień regionalnych nie muszą być zainstalowane na komputerze.

$saveHelpSplat = @{
    Module = 'Microsoft.PowerShell*'
    UICulture = 'de-DE', 'en-US', 'fr-FR', 'ja-JP'
    DestinationPath = "D:\Help"
}
Save-Help @saveHelpSplat

Save-Help program może pobierać pliki pomocy dla modułów w różnych kulturach interfejsu użytkownika tylko wtedy, gdy właściciel modułu udostępnia przetłumaczone pliki w Internecie.

Przykład 7. Zapisywanie pomocy więcej niż raz dziennie

To polecenie zapisuje pomoc dla wszystkich modułów zainstalowanych na komputerze. Polecenie określa parametr Force, aby zastąpić regułę, która uniemożliwia Save-Help polecenie cmdlet pobierania pomocy więcej niż raz w każdym 24-godzinnym okresie.

Save-Help -Force -DestinationPath \\Server3\AdminShare\Help

Parametr Force zastępuje również ograniczenie 1 GB i pomija sprawdzanie wersji. W związku z tym można pobierać pliki, nawet jeśli wersja nie jest nowsza niż wersja w folderze docelowym.

Polecenie używa polecenia cmdlet Save-Help do pobrania i zapisania plików pomocy w określonym folderze. Parametr Force jest wymagany, gdy trzeba uruchomić polecenie Save-Help więcej niż raz dziennie.

Parametry

-Credential

Określa poświadczenia użytkownika. To polecenie cmdlet uruchamia polecenie przy użyciu poświadczeń użytkownika, który ma uprawnienia dostępu do lokalizacji systemu plików określonej przez parametr DestinationPath. Ten parametr jest prawidłowy tylko wtedy, gdy parametr DestinationPath lub LiteralPath jest używany w poleceniu .

Ten parametr umożliwia uruchamianie Save-Help poleceń, które używają parametru DestinationPath na komputerach zdalnych. Podając jawne poświadczenia, można uruchomić polecenie na komputerze zdalnym i uzyskać dostęp do udziału plików na trzecim komputerze bez napotkania błędu odmowy dostępu lub uwierzytelniania CredSSP w celu delegowania poświadczeń.

Wpisz nazwę użytkownika, taką jak User01 lub Domain01\User01, lub wprowadź obiekt PSCredential wygenerowany przez polecenie cmdlet Get-Credential. Jeśli wpiszesz nazwę użytkownika, zostanie wyświetlony monit o wprowadzenie hasła.

Poświadczenia są przechowywane w obiekcie PSCredential, a hasło jest przechowywane jako SecureString.

Uwaga / Notatka

Aby uzyskać więcej informacji na temat ochrony danych SecureString, zobacz Jak bezpieczny jest protokół SecureString?.

Właściwości parametru

Typ:PSCredential
Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

(All)
Position:Named
Obowiązkowy:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False

-DestinationPath

Określa ścieżkę folderu, w którym są zapisywane pliki pomocy. Nie należy określać nazwy pliku ani rozszerzenia nazwy pliku.

Właściwości parametru

Typ:

String[]

Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False
Aliasy:Ścieżka

Zestawy parametrów

Path
Position:0
Obowiązkowy:True
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False

-Force

Wskazuje, że to polecenie cmdlet nie jest zgodne z ograniczeniem raz dziennie, pomija sprawdzanie wersji i pobiera pliki, które przekraczają limit 1 GB.

Bez tego parametru tylko jedno Save-Help polecenie dla każdego modułu jest dozwolone w każdym 24-godzinnym okresie, pobieranie jest ograniczone do 1 GB nieskompresowanej zawartości na moduł, a pliki pomocy dla modułu są instalowane tylko wtedy, gdy są nowsze niż pliki na komputerze.

Limit raz dziennie chroni serwery hostujące pliki pomocy i ułatwia dodanie polecenia Save-Help do profilu programu PowerShell.

Aby zapisać pomoc dotyczącą modułu w wielu kulturach interfejsu użytkownika bez parametru Force, uwzględnij wszystkie kultury interfejsu użytkownika w tym samym poleceniu, takie jak: Save-Help -Module PSScheduledJobs -UICulture en-US, fr-FR, pt-BR

Właściwości parametru

Typ:SwitchParameter
Domyślna wartość:False
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

(All)
Position:Named
Obowiązkowy:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False

-FullyQualifiedModule

Wartość może być nazwą modułu, pełną specyfikacją modułu lub ścieżką do pliku modułu.

Gdy wartość jest ścieżką, ścieżka może być w pełni kwalifikowana lub względna. Ścieżka względna jest rozpoznawana względem skryptu zawierającego instrukcję using.

Gdy wartość jest nazwą lub specyfikacją modułu, program PowerShell przeszukuje PSModulePath dla określonego modułu.

Specyfikacja modułu to tabela skrótu zawierająca następujące klucze.

  • ModuleName - Wymagane Określa nazwę modułu.
  • GUID - Opcjonalne Określa identyfikator GUID modułu.
  • Jest to również wymagane, aby określić co najmniej jeden z trzech poniższych kluczy.
    • ModuleVersion — określa minimalną akceptowalną wersję modułu.
    • MaximumVersion — określa maksymalną akceptowalną wersję modułu.
    • RequiredVersion — określa dokładną, wymaganą wersję modułu. Nie można tego używać z innymi kluczami wersji.

Nie można określić parametru FullyQualifiedModule w tym samym poleceniu co parametr Module. te dwa parametry wykluczają się wzajemnie.

Właściwości parametru

Typ:

ModuleSpecification[]

Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

(All)
Position:Named
Obowiązkowy:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:True
Wartość z pozostałych argumentów:False

-LiteralPath

Określa ścieżkę folderu docelowego. W przeciwieństwie do wartości parametru DestinationPath wartość parametru LiteralPath jest używana dokładnie tak, jak jest typowana. Żadne znaki nie są interpretowane jako symbole wieloznaczne. Jeśli ścieżka zawiera znaki ucieczki, należy ująć ją w pojedynczy cudzysłów. Pojedyncze cudzysłowy wskazują programowi PowerShell, aby nie interpretował żadnych znaków jako sekwencji ucieczki.

Właściwości parametru

Typ:

String[]

Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False
Aliasy:PSPath, LP

Zestawy parametrów

LiteralPath
Position:Named
Obowiązkowy:True
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False

-Module

Określa moduły, dla których to polecenie cmdlet pobiera pomoc. Wprowadź co najmniej jedną nazwę modułu lub wzorce nazw na liście rozdzielanej przecinkami lub w pliku, który ma jedną nazwę modułu w każdym wierszu. Symbole wieloznaczne są dozwolone. Możesz również potokować obiekty modułów z polecenia cmdlet Get-Module do Save-Help.

Domyślnie Save-Help pobiera pomoc dotyczącą wszystkich modułów obsługujących pomoc aktualizowalną i są instalowane na komputerze lokalnym w lokalizacji wymienionej w zmiennej środowiskowej PSModulePath.

Aby zapisać pomoc dotyczącą modułów, które nie są zainstalowane na komputerze, uruchom Get-Module polecenie na komputerze zdalnym. Następnie przekaż wynikowe obiekty modułu do polecenia cmdlet Save-Help lub prześlij obiekty modułu jako wartość parametrów Module lub InputObject.

Jeśli określony moduł jest zainstalowany na komputerze, możesz wprowadzić nazwę modułu lub obiekt modułu. Jeśli moduł nie jest zainstalowany na komputerze, musisz wprowadzić obiekt modułu Get-Module , taki jak jeden zwrócony przez polecenie cmdlet.

Parametr Module polecenia cmdlet Save-Help nie akceptuje pełnej ścieżki pliku modułu ani pliku manifestu modułu. Aby zapisać pomoc dotyczącą modułu, który nie znajduje się w lokalizacji PSModulePath , przed uruchomieniem Save-Help polecenia zaimportuj moduł do bieżącej sesji.

Wartość "*" (wszystkie) próbuje zaktualizować pomoc dla wszystkich modułów zainstalowanych na komputerze. Obejmuje to moduły, które nie obsługują aktualizowalnej pomocy. Ta wartość może generować błędy, gdy polecenie napotka moduły, które nie obsługują aktualizowalnej pomocy.

Właściwości parametru

Typ:

PSModuleInfo[]

Domyślna wartość:None
Obsługuje symbole wieloznaczne:True
DontShow:False
Aliasy:Nazwa

Zestawy parametrów

(All)
Position:1
Obowiązkowy:False
Wartość z potoku:True
Wartość z potoku według nazwy właściwości:True
Wartość z pozostałych argumentów:False

-Scope

Ten parametr nie wykonuje żadnych czynności w tym poleceniu cmdlet.

Właściwości parametru

Typ:UpdateHelpScope
Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

(All)
Position:Named
Obowiązkowy:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:True
Wartość z pozostałych argumentów:False

-UICulture

Określa wartości kultury interfejsu użytkownika, dla których to polecenie cmdlet pobiera zaktualizowane pliki pomocy. Wprowadź co najmniej jeden kod języka, taki jak es-ES, zmienna zawierająca obiekty kultury lub polecenie, które pobiera obiekty kultury, takie jak Get-Culture lub Get-UICulture polecenia. Symbole wieloznaczne nie są dozwolone.

Domyślnie Save-Help pobiera pliki pomocy w kulturze interfejsu użytkownika ustawionej dla systemu operacyjnego lub jego kultury rezerwowej. Jeśli określisz parametr UICulture, Save-Help szuka pomocy tylko dla określonego języka.

Począwszy od programu PowerShell 7.4, możesz użyć częściowego kodu języka, takiego jak en, aby pobrać pomoc w języku angielskim dla dowolnego regionu.

Właściwości parametru

Typ:

CultureInfo[]

Domyślna wartość:Current UI culture
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

(All)
Position:2
Obowiązkowy:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False

-UseDefaultCredentials

Wskazuje, że to polecenie cmdlet uruchamia polecenie, w tym pobieranie internetowe, z poświadczeniami bieżącego użytkownika. Domyślnie polecenie jest uruchamiane bez jawnych poświadczeń.

Ten parametr jest skuteczny tylko wtedy, gdy pobieranie internetowe używa protokołu NTLM, negocjowania lub uwierzytelniania opartego na protokole Kerberos.

Właściwości parametru

Typ:SwitchParameter
Domyślna wartość:False
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

(All)
Position:Named
Obowiązkowy:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False

CommonParameters

To polecenie cmdlet obsługuje typowe parametry: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction i -WarningVariable. Aby uzyskać więcej informacji, zobacz about_CommonParameters.

Dane wejściowe

PSModuleInfo

Do tego polecenia cmdlet można przekazać obiekt modułu.

Dane wyjściowe

None

To polecenie cmdlet nie zwraca żadnych danych wyjściowych.

Uwagi

  • Aby zapisać pomoc dotyczącą modułów w folderze $PSHOME\Modules, uruchom program PowerShell przy użyciu opcji Uruchom jako administrator. Tylko członkowie grupy Administratorzy na komputerze mogą pobrać pomoc dotyczącą modułów w folderze $PSHOME\Modules.
  • Zapisana pomoc dla każdego modułu składa się z jednego pliku pomocy (HelpInfo XML) i pliku cabinet (.cab) dla plików pomocy każdej kultury interfejsu użytkownika. Nie musisz wyodrębniać plików pomocy z pliku cabinet. Polecenie cmdlet Update-Help wyodrębnia pliki pomocy, weryfikuje kod XML, a następnie instaluje pliki pomocy i plik informacji pomocy w podfolderze specyficznym dla języka folderu modułu.
  • Polecenie Save-Help cmdlet może zapisać pomoc dotyczącą modułów, które nie są zainstalowane na komputerze. Jednak ze względu na to, że pliki pomocy są zainstalowane w folderze modułu, polecenie cmdlet Update-Help może zainstalować zaktualizowany plik pomocy tylko dla modułów zainstalowanych na komputerze.
  • Jeśli Save-Help nie można znaleźć zaktualizowanych plików pomocy dla modułu lub nie można odnaleźć zaktualizowanych plików pomocy w określonym języku, będzie ona kontynuowana w trybie dyskretnym bez wyświetlania komunikatu o błędzie. Aby sprawdzić, które pliki zostały zapisane przez polecenie, określ parametr Verbose.
  • Moduły są najmniejszą jednostką aktualizowalnej pomocy. Nie można zapisać pomocy dla określonego polecenia cmdlet, tylko dla wszystkich poleceń cmdlet w module. Aby znaleźć moduł zawierający określone polecenie cmdlet, użyj właściwości ModuleName razem z poleceniem cmdlet Get-Command, na przykład (Get-Command \<cmdlet-name\>).ModuleName
  • Save-Help obsługuje wszystkie moduły i podstawowe przystawki programu PowerShell. Nie obsługuje żadnych innych przystawek.
  • Polecenia cmdlet Update-Help i Save-Help używają następujących portów do pobierania plików pomocy: Port 80 dla protokołu HTTP i port 443 dla protokołu HTTPS.
  • Polecenia cmdlet Update-Help i Save-Help nie są obsługiwane w środowisku preinstalacji systemu Windows (Windows PE).