Przejdź do treści

Centrum Kształcenia Zawodowego i Ustawicznego w Mrągowie

PowerShell: Generowanie HTML

czwartek,

PowerShell: Generowanie HTML

Generowanie strony internetowej za pomocą PowerShell może być wykonane na kilka sposobów, w zależności od tego, jak skomplikowaną stronę chcesz stworzyć. Tworzenie bardziej skomplikowanych stron internetowych może wymagać głębszej wiedzy na temat HTML, CSS i JavaScript. PowerShell jest pomocny w generowaniu i manipulowaniu zawartością strony, ale nie zastępuje pełnoprawnych narzędzi do tworzenia stron internetowych.

Podstawowy sposób

Podstawowym sposobem jest użycie PowerShell do napisania HTML, CSS i ewentualnie JavaScript, a następnie zapisanie tych danych do pliku .html. Ten przykład nie ma zbytniego praktycznego sensu, jednak w maksymalnie prosty sposób ukazuje mechanizm, stosowany w następnych przykładach.

# Zdefiniowanie zawartości HTML
$htmlContent = @"
<!DOCTYPE html>
<html>
<head>
    <title>Moja Strona</title>
    <style>
        body { font-family: Arial, sans-serif; }
        h1 { color: blue; }
    </style>
</head>
<body>
    <h1>Witaj na mojej stronie!</h1>
    <p>To jest przykładowa strona wygenerowana za pomocą PowerShell.</p>
</body>
</html>
"@

# Zapisanie zawartości do pliku HTML
Out-File -FilePath "mojaStrona.html" -Encoding UTF8 -InputObject $htmlContent

# Opcjonalnie: Otwarcie pliku w domyślnej przeglądarce
Start-Process "mojaStrona.html"

Ten skrypt tworzy prostą stronę HTML z nagłówkiem i jednym akapitem. Możesz modyfikować HTML, CSS i JavaScript według potrzeb.

Wstawianie wartości zmiennych

Jeśli chcesz wygenerować stronę internetową z szablonu w PowerShell, używając wartości zmiennych, możesz zastosować podejście polegające na definiowaniu szablonu HTML jako szablonu z miejscami na zmienne. Następnie w te miejsca możesz wstawić wartości zmiennych. Ten sposób pozwala na tworzenie użytecznych dynamicznie generowanych stron. Można zastosować więcej zmiennych, których wartości są efektem wielu poleceń, co można wykorzystać między innymi do tworzenia raportu HTML.

Schemat działania

  1. Definiujesz szablon HTML zawierający specjalne oznaczenia, które będą zastąpione wartościami zmiennych.
  2. Wykorzystujesz PowerShell do zastąpienia oznaczeń wartościami zmiennych.
  3. Ostateczny kod HTML zapisujesz do pliku.

Przykładowy skrypt

# Zmienne, które chcesz wstawić do szablonu
$nazwaUzytkownika = "Jan Kowalski"
$data = Get-Date -Format "yyyy-MM-dd"

# Szablon HTML z miejscami na zmienne
$htmlSzablon = @"
<!DOCTYPE html>
<html>
<head>
    <title>Strona użytkownika</title>
    <style>
        body { font-family: Arial, sans-serif; }
        h1 { color: blue; }
    </style>
</head>
<body>
    <h1>Witaj, [nazwaUzytkownika]!</h1>
    <p>Dzisiejsza data: [data]</p>
</body>
</html>
"@

# Zastępowanie oznaczeń wartościami zmiennych
$htmlSzablon = $htmlSzablon -replace "\[nazwaUzytkownika\]", $nazwaUzytkownika
$htmlSzablon = $htmlSzablon -replace "\[data\]", $data

# Zapisanie wyniku do pliku HTML
Out-File -FilePath "stronaUzytkownika.html" -Encoding UTF8 -InputObject $htmlSzablon

# Opcjonalnie: Otwarcie pliku w domyślnej przeglądarce
Start-Process "stronaUzytkownika.html"

W tym skrypcie wyrażenia [nazwaUzytkownika][data] w szablonie HTML są zastępowane odpowiednio wartościami zmiennych $nazwaUzytkownika$data. Możesz dostosować ten szablon i zmienne do swoich potrzeb.

Lista użytkowników systemu

Aby utworzyć skrypt w PowerShell, który generuje stronę internetową z aktualną datą oraz listą użytkowników zdefiniowanych w systemie wraz z ich statusem, należy wykonać kilka kroków. Najpierw uzyskasz listę użytkowników i ich statusy, a następnie zbudujesz szablon HTML, do którego wstawisz te dane. Pamiętaj, że Get-LocalUser może wymagać uprawnień administratora w zależności od konfiguracji systemu. Ponadto sposób prezentacji danych można dostosować według własnych potrzeb, modyfikując szablon HTML.

# Uzyskanie aktualnej daty
$data = Get-Date -Format "yyyy-MM-dd"

# Pobieranie listy użytkowników i ich statusów
# Uwaga: 'Get-LocalUser' może wymagać uprawnień administratora
$uzytkownicy = Get-LocalUser | Select-Object Name, Enabled | ConvertTo-Html -Fragment

# Szablon HTML
$htmlSzablon = @"
<!DOCTYPE html>
<html>
<head>
    <title>Lista użytkowników</title>
    <style>
        body { font-family: Arial, sans-serif; }
        table { border-collapse: collapse; width: 100%; }
        th, td { border: 1px solid black; padding: 8px; text-align: left; }
        th { background-color: #f2f2f2; }
    </style>
</head>
<body>
    <h1>Lista użytkowników systemu na dzień [data]</h1>
    <div>[uzytkownicy]</div>
</body>
</html>
"@

# Zastępowanie oznaczeń wartościami zmiennych
$htmlSzablon = $htmlSzablon -replace "\[data\]", $data
$htmlSzablon = $htmlSzablon -replace "\[uzytkownicy\]", $uzytkownicy

# Zapisanie wyniku do pliku HTML
$plikWyjsciowy = "ListaUzytkownikow.html"
Out-File -FilePath $plikWyjsciowy -Encoding UTF8 -InputObject $htmlSzablon

# Opcjonalnie: Otwarcie pliku w domyślnej przeglądarce
Start-Process $plikWyjsciowy

Ten skrypt wykorzystuje polecenie Get-LocalUser do uzyskania listy użytkowników zdefiniowanych na lokalnym komputerze. Lista ta jest następnie konwertowana do formatu HTML za pomocą ConvertTo-Html. Następnie tworzony jest szablon HTML, który zawiera miejsca na datę i listę użytkowników. Na koniec skrypt zapisuje wygenerowaną stronę HTML do pliku i opcjonalnie otwiera ją w przeglądarce.

Trzy miesiące temu na naszej stronie…

Artykuł: Pierwszy skrypt bash

Pierwszy skrypt bash

Artykuł: Harmonogram egzaminów maturalnych

Harmonogram egzaminów maturalnych

Artykuł: Staże w Hiszpanii

Staże w Hiszpanii

Artykuł: Conformité Européenne

Conformité Européenne

Artykuł: Display Stream Compression

Display Stream Compression

Artykuł: High Dynamic Range

High Dynamic Range

Nasze technikum

Technik informatyk

Szkoły dla dorosłych

Nasza szkoła

Pełna oferta edukacyjna

Oferta szkoły