Powershell a convertto-html

Home / Uncategorized / Powershell a convertto-html

Jednoduchym cmdletem lze provadet vystup z vasich prikazu do HTML formy.

convertto-html

Pokud napr. chcete vypsat programy po spustene ve srozumitelnejsi forme (napr. pro poslani emailem).

Get-WmiObject win32_service | where { $_.startmode -eq "auto"} | convertto-html -head " <link rel='stylesheet' href='style.css' type='text/css'>" -property name, startmode, state, description | out-file "c:\Pstartmode.html"

kde style.css muzu vypadat napr.:

body { background-color:gray; }
body,table,td,th { font-family:Arial; Font-Size:10pt }
th { font-size:12pt; background-color:#CCCCCC; }
td { background-color:white; }

7 Comments

  • funguje to dobre,ale

    Prosim o komentar proc se vyhazuje sloupec Length. Zjistil jsem ze pokud je filename delsi proste to sloupec delka souboru zahodi. Pritom pri formatu-table vidim ze to tam je, ten dam do out-file jako .txt a je to tam taky. Co delam spatne? diky za radu

    PS C:\PowerShell> dir c:\powershell | convertto-html -head “ “ –
    property Fullname,LastAccessTime,Length | out-file „c:\Pstartmode.html“

    • MW

      Kdyz date get-childItem | get-member tak se Vam vypisi vlastnosti, metody atd.. Vypisi se Vam jak pro objekt adresare System.IO.DirectoryInfo tak pro objekt souboru System.IO.FileInfo. Podle me je problem v tom, ze objekt adresare logicky nema vlastnost Lenght. Zkusim Vam najit jak na to.

      • MW

        Get-ChildItem c:\ | select-object FullName,LastAccessTime,Length | convertto-html -head ?? | out-file ?c:\test.html?
        Co to zkusit takhle ? 🙂

  • parada jede to :)

    Tohle me proste nenapadlo. V podstate mym cilem je scriptik, ktery probehne diry a mailne mi novy soubory co jsou starsi nez dejme tomu 30 minut. Mam to hotovy, ale bere to i adresare,takze mi chodi maily i kdyz neni novej soubor. Da se nejak z toho „dir“ „get-childitem“ vyloucit adresar jako objekt? ale tak aby prosel co je v nem? Kdyz dam exclude tak ho vynecha uplne. Napada me neco jako „where“ select… jako v SQL 🙂

  • parada jede to :)

    bomba 🙂 to je presne ono 🙂 (diky) tak je to asi cely vyreseny. Mas nejakou dopor. literaturu? tohle stim root sem nikde nevidel. Ve sve dobe jediny z ceho sem cerpal je Manning WinPowerShell od Bruce Payetta. Asi budu muset jeste hodne mlika vypit :).

    Jinak ano bylo to rekurzivne, potom kvuli temhle adresarum zruseno a ted opet obnoveno. Vicemene asi takto:

    IF ((@(Get-ChildItem -Path C:\test -recurse | where ( ({ (New-TimeSpan -Start ($_.LastWriteTime) -End (get-date)).TotalMinutes -gt 2 }) )).count) -gt 0)
    {

    $soubory=Get-ChildItem -Path C:\test -recurse | where {! $_.root} | where ( ({ (New-TimeSpan -Start ($_.LastWriteTime) -End (get-date)).TotalMinutes -gt 2 }) ) | convertto-html -property Length,Fullname,LastWriteTime | out-file „c:\soubory.html“

    $SmtpClient = new-object system.net.mail.smtpClient
    $MailMessage = New-Object system.net.mail.mailmessage
    $SmtpClient.Host = „xxxxxxxxxxx“
    $mailmessage.from = „xxxxxxxx“
    $mailmessage.To.add(„xxxxxxxxxxxxx“)
    $mailmessage.Subject = ?Nezpracované Soubory?
    $mailmessage.Body = (get-content C:\soubory.html)
    $mailmessage.Headers.Add(„message-id“, „“)
    $mailmessage.IsBodyHtml = 1
    $smtpclient.Send($mailmessage)
    }
    else {Exit}

    je to sice lameřina 🙂 ale jede to

    • MW

      Dobra knizka je od Patrika Maliny Powershell, muzu jedine doporucit.
      Stacilo se mrknout jaky vlastnosti ma objekt System.IO.DirectoryInfo a ktery nema na druhou stranu System.IO.FileInfo 🙂 Pak je uz lehky vyseparovat objekty typu file 🙂
      Rad jsem pomohl 😉

Napsat komentář

Vaše emailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *