2016-10-07 2 views
0

J'ai essayé d'obtenir les étapes que le script ne dans un fichier txt, mais je ne peux pas obtenir ma tête autourJe veux obtenir un fichier journal de ce que mon script Powershell fait exactement?

$days = -2 
$date = (get-date).adddays($days) 
$lastboot = (Get-WmiObject Win32_OperatingSystem).LastBootUpTime 
$Computer = Get-ADComputer -SearchBase 'OU=TEST-OU,OU=EDV,DC=Kolbe-Druck,DC=de' -Filter '*' | Select -EXP Name 

$lastbootconverted = ([WMI]'').ConvertToDateTime($lastboot) 

write-host $date 

write-host $lastboot 

write-host $lastbootconverted 

if($date -gt $lastbootconverted) 
{ 
    write-host Need to reboot 
    (Stop-Computer $Computer -Force) 
} 
else 
{ 
    write-host no need to reboot 
} 

des conseils?

+0

Start-Transcript? https://technet.microsoft.com/en-us/library/hh849687.aspx –

Répondre

1

Vous pouvez écrire votre texte dans un txt avec ce code:

"Test" | Out-File -FilePath "Your Path to the txtfile" -Append 

je ferais une fonction, de sorte que vous n'avez pas à écrire cette ligne plus d'une fois

EDIT: Vous pouvez également ajouter un horodatage:

"Test " + $(Get-Date -Format g) | out-file.... 
+0

J'ai déjà essayé Out-File, mais cela n'a pas fonctionné ... Où dois-je le mettre? Je viens de commencer avec les scripts il y a quelques jours, donc je ne sais pas vraiment comment faire une fonction. – Gunter

+0

Cela dépend de ce que vous voulez avoir dans ce fichier. Par exemple, vous pouvez faire '$ lastboot | | Out-File -FilePath "Votre chemin vers le fichier txt" -Append' Vous devrez faire cela pour chaque variable que vous voulez écrire dans un fichier séparé. – whatever

+0

Au lieu de write-host vous allez écrire ma ligne que j'ai posté et au lieu de tester au début vous écrivez le texte que vous voulez dans le fichier journal. Par exemple votre dernière ligne: "pas besoin de redémarrer | $ Date" | Out-File -FilePath "C: \ Logfile.txt" -Append' – guiwhatsthat