# Najlepsze praktyki operacyjne

LLMS index: [llms.txt](/v1.1.0.0/llms.txt)

---

Ta strona opisuje zalecane wzorce operacyjne dla PackageUpdateInfo w interaktywnych powłokach, profilach i automatyzacji.

## Zacznij od domyślnego zachowania

Zresetuj ustawienia przed wprowadzeniem własnych dostosowań, szczególnie na systemach współdzielonych:

```powershell
Set-PackageUpdateSetting -Reset
```

Sprawdź obecną konfigurację i zasady:

```powershell
Get-PackageUpdateSetting
Get-PackageUpdateRule -IncludeDefaultRule
```

## Używaj interwałów aktualizacji, aby zmniejszyć hałas

`Get-PackageUpdateInfo` respektuje `UpdateCheckInterval`. Jeśli ostatnia skuteczna kontrola mieści się w ustawionym interwale, cmdlet kończy działanie wcześniej.

Ustaw interwał odpowiadający Twojemu środowisku:

```powershell
Set-PackageUpdateSetting -UpdateCheckInterval (New-TimeSpan -Hours 6)
```

Używaj `-Force` tylko do ad-hocowych sprawdzeń:

```powershell
Get-PackageUpdateInfo -Force
```

## Preferuj nieblokujące uruchomienie powłoki

Praktyczny wzorzec profilu to:

```powershell
Start-Job -ScriptBlock {
    Get-PackageUpdateInfo -ShowOnlyNeededUpdate | Export-PackageUpdateInfo
} | Out-Null

Import-PackageUpdateInfo
```

Dlaczego to działa dobrze:

- Uruchomienie jest szybkie, ponieważ import odczytuje dane z pamięci podręcznej.
- Kosztowna kontrola online działa w tle.
- W każdej sesji masz dostęp do przydatnych informacji o aktualizacjach.

## Wyraźnie sprawdzaj zakres, gdy jest to potrzebne

Używaj parametrów zakresu, gdy uprawnienia różnią się między modułami użytkownika a systemu:

```powershell
Get-PackageUpdateInfo -CurrentUser
Get-PackageUpdateInfo -AllUsers
```

Używaj `-Repository` w środowiskach z wieloma skonfigurowanymi repozytoriami:

```powershell
Get-PackageUpdateInfo -Repository PSGallery
```

## Projektuj zasady ostrożnie

Używaj szerokich wykluczeń tylko wtedy, gdy jest to zamierzone. Wykluczanie dużych wzorców może ukryć ważne aktualizacje.

Twórz ukierunkowane, niestandardowe zasady dla modułów o dużej rotacji:

```powershell
Add-PackageUpdateRule -IncludeModuleForChecking "Az.*" -ReportChangeOnMajor $true -ReportChangeOnMinor $true -ReportChangeOnBuild $false -ReportChangeOnRevision $false
```

Przejrzyj priorytet zasad, wyświetlając wszystkie:

```powershell
Get-PackageUpdateRule -IncludeDefaultRule | Sort-Object Id
```

## Używaj eksportu/importu celowo

Domyślne ścieżki eksportu i importu są specyficzne dla platformy i zawierają wersję PowerShell oraz główną wersję w nazwie pliku. To pomaga unikać mieszania danych z różnych środowisk uruchomieniowych.

Typowe opcje eksportu:

```powershell
Get-PackageUpdateInfo | Export-PackageUpdateInfo -OutputFormat XML
Get-PackageUpdateInfo | Export-PackageUpdateInfo -OutputFormat JSON
Get-PackageUpdateInfo | Export-PackageUpdateInfo -OutputFormat CSV
```

Zalecenia:

- Używaj XML, gdy chcesz zachować obiekty z typami do ponownego importu.
- Używaj JSON lub CSV do raportowania zewnętrznego i integracji.
- Używaj `-IncludeTimeStamp` do śledzenia historycznego.

## Utrzymuj powiadomienia przydatne

Używaj powiadomień toast tylko tam, gdzie dodają wartość:

- Na hostach Windows z zainstalowanym BurntToast.
- Na sesjach, gdzie oczekiwane są interaktywne alerty.

Dla serwerów, CI i powłok nieinteraktywnych, preferuj raporty eksportowane zamiast powiadomień toast.
