PowerShell skapa loggfil

i denna PowerShell-handledning kommer vi att diskutera hur man skapar en loggfil i PowerShell. Vi använder loggfiler för att spåra information när du kör ett PowerShell-skript.

om du är lite bekant med PowerShell, kanske du inser att vi använder PowerShell för enkel till komplex och för att slutföra en lång tidskrävande uppgift. Ditt PowerShell-skript kan också köras automatiskt via en schemaläggare.

så det är mycket nödvändigt att vi ska tacka information medan skriptet körs och att när vi använder loggfiler. Vi kan spåra information, fel, varning, etc på en loggfil i PowerShell.

men du bör inte logga känslig information eller personuppgifter som lösenord, kreditkortsnummer, e-postadress, personnummer etc.

så låt oss se olika sätt att skapa en loggfil i PowerShell.

PowerShell skapa loggfil

vi kommer att diskutera här olika metoder här för att skriva information till en loggfil samt hur man skapar Power loggfil.

Jag använder alltid PowerShell ISE för att skriva, testa och felsöka PowerShell-skript. Du kan också använda Visual Studio-koden.

öppna PowerShell ISE i administratörsläge (högerklicka och kör som administratör) och gå igenom exemplen steg för steg.

exempel-1: PowerShell skapa enkel loggfil

detta är ett av de enklaste sätten att skriva ett meddelande till en loggfil i PowerShell.

$logfilepath="D:\Log.txt"$logmessage="This is a test message for the PowerShell create log file"$logmessage >> $logfilepath

ovanstående PowerShell-skript skriver meddelandet i loggen.txt-fil som presenteras i D-enhet.

om filen presenteras innan kommer den att fortsätta lägga till meddelandet som av som. Och om loggen.txt-filen presenteras inte I d-enheten, då skapar den loggfilen först och skriver sedan meddelandet.

exempel-2: Skapa enkel loggfil i PowerShell

nedanstående exempel kommer att kontrollera om loggfilen redan presenteras, då kommer den att ta bort filen och skapa en ny fil och skriva meddelandet i den.

vi kan använda Test-Path PowerShell-kommandot för att kontrollera om en fil finns eller inte i filvägen.

exempel-3:

vi kan också använda datum och tid när meddelandet loggas med PowerShell Get-Date.

ovanstående PowerShell-skript loggar meddelandet med aktuellt datum och tid.

exempel-4:

om du vill spåra flera loggmeddelanden kan du skapa en PowerShell-funktion som nedan:

ovanstående PowerShell-skript kommer att kontrollera om loggfilen finns i sökvägen, om ja då kommer den att radera filen. Och då kommer det att ringa 3 gånger funktionen för att skriva meddelandena till PowerShell-loggfilen.

exempel-5:

nedan finns ett PowerShell-skript där vi har använt PowerShell-cmdlets för att skriva meddelandet till A .loggfil.

snarare med hjälp av en .txt-fil, de flesta gånger skriver vi tillägget som .loggfil.

exempel-6:

vi kan också använda Start-Transcript PowerShell cmdlets för att skriva till en loggfil. Detta skriver inte bara loggmeddelandet utan spårar också annan information som användarnamn, maskin, värdapplikation, PSVersion, CLRVersion, etc.

$logfilepath="D:\Log.log"Start-Transcript -Path $logfilepathWrite-Host "This is a message"Stop-Transcript

filen ser ut som nedan:

PowerShell Log Levels

i cmdlets Write – PowerShell tillhandahåller PowerShell olika typer av loggnivåer som:

  • Write-Verbose
  • Write-Debug
  • Write-Information
  • Write-Warning
  • Write-Error

PowerShell skapa loggfil med datum

nu, låt oss se hur man skapar loggfil med datum i PowerShell. I grund och botten kommer det att skapa filen med filnamnet från och med dagens datum.

skriptet kommer att kontrollera om någon fil finns med namn som dagens datum, om filen finns, då det kommer att ta bort kommer först ta bort filen, annars kommer det att skapa filen och skriva loggmeddelandet i den.

så här kan vi skapa loggfil med datum i PowerShell.

så här kan vi skapa en daglig loggfil i PowerShell som kommer att skapas på dagens datum.

PowerShell skapa loggfil med datetime

nu kan vi se hur man skapar en loggfil med datetime med PowerShell.

vi måste formatera Get-Date PowerShell cmdlet för att få aktuellt datum och tid som nedan:

i ovanstående exempel skapas PowerShell-loggfilen på namnet som dagens datum och tid.

PowerShell skapa loggfil om det inte finns

låt oss nu se hur man skapar en loggfil om det inte finns i PowerShell.

vi kan använda Test-Path PowerShell cmdlet för att kontrollera om filen finns i sökvägen eller inte.

och vi kan använda nya PowerShell-cmdlets för att skapa en fil i mappvägen.

du kan se utmatningen som nedan:

PowerShell skapa loggfil om det inte finns

så här kan vi skapa en loggfil om den inte finns i PowerShell.

PowerShell skapa loggfil med rubriker

låt oss nu se hur man skapar en loggfil med rubriker i PowerShell. Här kommer vi att skapa en .CSV-fil och även kommer att lägga rubriker till CSV-filen.

ovanstående Power script kommer att skapa en .csv-fil och sedan kommer det att lägga till två rubriker (DateAndTime och meddelande). Vi kommer också att lägga till ett testloggmeddelande.

PowerShell skapa felloggfil

nu kommer vi att se hur man skapar en felloggfil i PowerShell. I grund och botten kommer vi att använda try-catch-uttalandet och i catch-uttalandet loggar vi felmeddelandet i en loggfil i PowerShell.

$filename = "Log-"+ (Get-Date -Format "MM-dd-yyyy")$logfile = "D:\"+$filename+".log"try{1/0}catch{$_.Exception.Message | Out-File $logfile}

i ovanstående PowerShell-skript, när ett fel kommer att visas i TRY-uttalandet, kommer meddelandet att loggas i catch-uttalandet i PowerShell-felloggsfilen.

PowerShell skapa CSV-loggfil

på samma sätt skapar vi .txt eller .loggfil, vi kan också skapa .csv-fil i PowerShell för att logga information.

nu, låt oss se hur man skapar en .CSV loggfil i PowerShell.

för att skapa en .csv-fil, vi behöver bara ändra filtillägget till .csv.

så här kan vi skapa CSV-loggfil i PowerShell.

använd PowerShell Framework (PSFramework) för att logga Information

du kan också använda PSFramework eller PowerShell Framework för att logga information.

för att använda PSFramework, det första du behöver installera det genom att köra följande kommando.

Install-Module PSFramework

genom att använda PSFramework kan vi skriva till loggfilen med hjälp av skriptet Write-PSFMessage. Kolla in moe på psframwwork-webbplatsen.

PowerShell skapa enkel loggfil

låt oss nu se hur du skapar en enkel loggfil i PowerShell. PowerShell-skriptet skapar en mycket enkel loggfil och loggar ett textmeddelande. Filen kommer att skapas på dagens datum.

du kanske gillar följande PowerShell-handledning:

  • hur man slingrar genom en PowerShell-array
  • hur man skapar och använder PowerShell-ArrayList
  • hur man skapar en array i PowerShell från CSV-fil
  • Vad är PowerShell-Array
  • hur man använder PowerShell-referensvariabel
  • Vad är en PowerShell-variabel
  • SharePoint 2013 säkerhetskopiering och återställning med PowerShell
  • termen ’get-msoluser’ känns inte igen som namnet på en cmdlet

i den här handledningen lärde vi oss hur man skapar en loggfil i PowerShell och nedanstående saker:

  • PowerShell skapa loggfil
  • PowerShell Log nivåer
  • PowerShell skapa loggfil med datum
  • PowerShell skapa loggfil med datetime
  • PowerShell skapa loggfil om det inte finns
  • PowerShell skapa loggfil med rubriker
  • PowerShell skapa felloggfil
  • PowerShell skapa CSV-loggfil
  • använd PowerShell Framework (Psframework) för att logga information
  • PowerShell skapa enkel loggfil

Jag är Bijay från Odisha, Indien. För närvarande arbetar i mitt eget företag TSInfo Technologies i Bangalore, Indien. Jag är Microsoft Office-servrar och tjänster (SharePoint) MVP (5 gånger). Jag arbetar i SharePoint 2016/2013/2010, SharePoint Online Office 365 etc. Kolla in min MVP-profil.. Jag kör också populära SharePoint webbplats EnjoySharePoint.com