PowerShell:
Lokitus
Kuinka:
Tässä vinkkejä peruslokituksen sisällyttämiseksi skripteihisi:
# Yksinkertaisen lokiviestin luominen
Write-Host "Info: Aloittaa skriptiprosessin."
# Kirjoittaminen tiedostoon
"Info: Tämä on lokitettu viesti." | Out-File -Append myLog.log
# Sisäänrakennetun cmdletin käyttäminen yksityiskohtaisempaan lokitukseen
Start-Transcript -Path "./detailedLog.log"
Write-Output "Varoitus: Jotakin ei ole aivan kohdallaan."
# ... skriptisi tekee asioita
Stop-Transcript
# detailedLog.log-tuloste
******************************
Windows PowerShellin käsikirjoituksen aloitus
Aloitusaika: 20230324112347
Käyttäjätunnus : PShellGuru@example.com
RunAs-käyttäjä: PShellGuru@example.com
Konfiguroinnin nimi:
Kone : PS-DEVBOX (Microsoft Windows NT 10.0.17763.0)
Isäntäsovellus: C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
Prosessi ID: 2024
PS-versio: 7.1.2
Nyt lokeissasi on toiminta kuvattuna siitä, mitä koodillesi on tapahtunut.
Syväsukellus:
Historiallisesti lokitus on ollut yhtä vanha kuin ohjelmointikin. Se on kuin kapteenin loki, mutta ohjelmistolle. Aikaisemmin se on saattanut olla printtereitä tai teletyyppilaitteita; nykyään on kyse tiedostoista ja kehittyneistä lokien hallintajärjestelmistä.
Kun olet syvällä PowerShellin juoksuhaudoissa, Write-Host
on nopea ja likainen tapa, mutta se vain heittää tekstiä konsoliin, mikä ei ole hienoa arkistoinnin kannalta. Out-File
tarjoaa yksinkertaisen tavan ohjata tekstiä tiedostoon, mutta todellista mehua varten haluat käyttää Start-Transcript
ja Stop-Transcript
, jotka lokittavat kaiken - syötteet, tulosteet, koko paketin.
Vaihtoehtoja? Toki, jos pyörität yritystason asioita, saatat katsoa Windowsin tapahtumalokia tai käyttää ohjelmistoja kuten Logstash, mutta arkipäiväisen skriptisi kanssa pysy PowerShellin työkalujen parissa. Toteutuksesta muista lokittaa fiksusti - liian vähän ja se on hyödytöntä, liian paljon ja se on vain valkoista kohinaa.
Katso myös:
Tutustu näihin saadaksesi kattavan käsityksen lokien hallinnasta PowerShellissa: