# Rozwiązywanie problemów

LLMS index: [llms.txt](/v1.0.1.0/llms.txt)

---

Skorzystaj z tego przewodnika, gdy PackageUpdateInfo nie zwraca oczekiwanych wyników, pomija kontrole lub nie może zaimportować i wyeksportować danych.

## Najpierw uzyskaj konkretne diagnostyki

Uruchom z trybem szczegółowym:

```powershell
Get-PackageUpdateInfo -Verbose
```

Zweryfikuj ustawienia i reguły:

```powershell
Get-PackageUpdateSetting
Get-PackageUpdateRule -IncludeDefaultRule
```

## Sprawdź, czy pominięcie nie jest nieoczekiwane

Objaw:

- Widoczny jest ostrzeżenie, że kontrole aktualizacji zostały pominięte, ponieważ czas interwału kontroli nie wygasł.

Przyczyna:

- `UpdateCheckInterval` oraz ostatni `LastCheck` lub `LastSuccessfulCheck` uniemożliwiają nową kontrolę online.

Rozwiązanie:

```powershell
Get-PackageUpdateInfo -Force
```

Lub skróć interwał:

```powershell
Set-PackageUpdateSetting -UpdateCheckInterval (New-TimeSpan -Minutes 30)
```

## Brak pliku konfiguracyjnego lub jest uszkodzony

Objaw:

- `Get-PackageUpdateSetting` ostrzega, że plik konfiguracji modułu nie został znaleziony, a następnie rzuca błędem.

Przyczyna:

- Ścieżka do pliku konfiguracyjnego nie istnieje lub zawiera nieprawidłowy JSON.

Rozwiązanie:

```powershell
Set-PackageUpdateSetting -Reset
Get-PackageUpdateSetting
```

## Nie zwraca żadnych modułów

Objaw:

- `Get-PackageUpdateInfo` nic nie zwraca, mimo że moduły są zainstalowane.

Typowe przyczyny:

- Reguły uwzględniania i wykluczania filtrują wszystkie moduły.
- `-CurrentUser` lub `-AllUsers` filtrują moduły, których oczekujesz.
- Filtr repozytorium wyklucza odpowiednie moduły.

Kroki rozwiązania:

```powershell
Get-PackageUpdateRule -IncludeDefaultRule
Get-PackageUpdateInfo -Force
Get-PackageUpdateInfo -CurrentUser -Force
Get-PackageUpdateInfo -AllUsers -Force
```

## Eksport kończy się błędem ścieżki

Objaw:

- Eksport zgłasza nieprawidłową ścieżkę lub problem z katalogiem.

Przyczyna:

- `-Path` wskazuje na katalog lub nieistniejące miejsce bez użycia `-Force`.

Rozwiązanie:

```powershell
Get-PackageUpdateInfo | Export-PackageUpdateInfo -Path "$HOME\PackageUpdateInfo\updates.xml" -Force
```

## Import nie zwraca danych

Objaw:

- `Import-PackageUpdateInfo` nic nie zwraca.

Typowe przyczyny:

- Plik jest pusty lub za mały, by zawierał rekordy.
- `-InputFormat` nie pasuje do wyeksportowanego formatu.
- Nieprawidłowa ścieżka pliku dla bieżącego środowiska i wersji.

Rozwiązanie:

```powershell
Import-PackageUpdateInfo -InputFormat XML -Verbose
Import-PackageUpdateInfo -Path "$HOME\PackageUpdateInfo\updates.json" -InputFormat JSON
```

## Powiadomienia toast nie pojawiają się

Objaw:

- Użyto `-ShowToastNotification`, ale nie pojawia się żadne powiadomienie.

Typowe przyczyny:

- BurntToast nie jest zainstalowany.
- Platforma hosta nie obsługuje powiadomień toast Windows.
- Żaden moduł w wyniku nie ma `NeedUpdate = $true`.

Rozwiązanie:

```powershell
Install-Module BurntToast -Scope CurrentUser
Get-PackageUpdateInfo -ShowOnlyNeededUpdate -ShowToastNotification -Force
```

## Nie można dodać lub zmodyfikować reguł

Objaw:

- Dodanie reguły kończy się błędem z powodu duplikatu Id, include lub exclude.

Przyczyna:

- Istniejące niestandardowe reguły zawierają te same identyfikatory lub wzorce.

Rozwiązanie:

```powershell
Get-PackageUpdateRule
Add-PackageUpdateRule -IncludeModuleForChecking "MyModule.*"
Set-PackageUpdateRule -Id 1 -ReportChangeOnRevision $false
Remove-PackageUpdateRule -Id 1
```

## Problemy z repozytorium i siecią

Objaw:

- Wyszukiwanie wersji online nie powiodło się lub jest niekompletne.

Przyczyny:

- Repozytorium nie jest zarejestrowane lub jest niedostępne.
- Tymczasowe problemy z siecią.

Rozwiązanie:

```powershell
Get-PSRepository
Find-Module PackageUpdateInfo -Repository PSGallery
Get-PackageUpdateInfo -Repository PSGallery -Force
```

## Proces odzyskiwania

Jeśli zachowanie nadal jest niekonsekwentne, użyj tej sekwencji resetowania:

```powershell
Set-PackageUpdateSetting -Reset
Get-PackageUpdateInfo -Force | Export-PackageUpdateInfo
Import-PackageUpdateInfo
```
