Powershell成绩单不生成日志文件

Powershell成绩单不生成日志文件,powershell,Powershell,首先,这是我第一次使用powershell脚本 但是我在创建日志文件时遇到了一个问题。它不起作用,我也没有收到任何错误。。 这是我的剧本 Clear-Host Start-Transcript -Path "C:\$(get-date -f yyyy-MM-dd)_Script_log.txt" -Append -Force -NoClobber $date = Get-Date Write-Host "Oggi è il $date" Write-Host "Inizializzo il

首先,这是我第一次使用powershell脚本 但是我在创建日志文件时遇到了一个问题。它不起作用,我也没有收到任何错误。。 这是我的剧本

Clear-Host
Start-Transcript -Path "C:\$(get-date -f yyyy-MM-dd)_Script_log.txt" -Append -Force -NoClobber
$date = Get-Date
Write-Host "Oggi è il    $date"
Write-Host "Inizializzo il Programma di Controllo"
Write-Host "Verifico se il file di controllo esiste ed è accessibile"
$ChkFile = "C:\controllo.txt"
$FileExists = Test-Path $ChkFile
If ($FileExists -eq $true)
{
    write-host "Il file esiste, quindi il disco virtuale è correttamente montato nel server."
    write-host "Termino la procedura e non faccio altro."
}
Else
{
    Write-Host "Il file di controllo non è accessibile, procedo al montaggio tramite Mount-VHD"
    #Mount-VHD -Path \\TS-453A\ISCSI-Disks\ReplicaISCSI.vhdx #<Perfetto, Funzionante>#
    Write-Host "Montaggio disco virtuale completato, invio una mail all'amministratore per far verificare manualmente la cosa quanto prima"
    $login = "xxxxxxxx"
    $password = "xxxxxx" | Convertto-SecureString -AsPlainText -Force # Inserisco la password in chiaro, non è il massimo ma non so fare altrimenti
    $credentials = New-Object System.Management.Automation.Pscredential -Argumentlist $login, $password
    $From = "xxxx"
    $To = "xxxxxx"
    # $Cc = "YourBoss@YourDomain.com"
    # $Attachment = "C:\temp\Some random file.txt"
    $Subject = "Email Subject"
    $Body = "Insert body text here"
    $SMTPServer = "xxxxxx"
    $SMTPPort = "25"
    Send-MailMessage -From $From -to $To -Subject $Subject `
                     -Body $Body -SmtpServer $SMTPServer -port $SMTPPort `
                     -Credential $credentials -Priority High
    Write-Host "Email Inviata, termino la procedura."

}
Stop-Transcript
Pause
清除主机
开始记录-路径“C:\$(获取日期-f yyyy MM dd)\u Script\u log.txt”-追加-Force-NoClobber
$date=获取日期
编写主机“Oggièil$date”
编写主机“Ilizalizzo il Programma di Controllo”
写入主机“可访问的控制系统验证il文件”
$ChkFile=“C:\controllo.txt”
$FileExists=测试路径$ChkFile
如果($FileExists-eq$true)
{
将主机“Il文件esiste,quindi Il disco virtualeècorrettamente Montanel服务器”写入主机
编写主机“程序终端和非faccio altro”
}
其他的
{
写入主机“不可访问的Il文件,procedo al-montaggio tramite Mount VHD”
#装载VHD-Path\\TS-453A\ISCSI磁盘\replicasicsi.vhdx##
编写主持人“Montaggio disco Virtual Completatoro,因维奥·乌纳·mail all'Amministore”一文,请参见far验证护理手册“Mente la cosa quanto prima”
$login=“xxxxxxxx”
$password=“xxxxxx”| Convertto SecureString-AsPlainText-Force#Inserisco la password in chiaro,nonèil massimo ma non so fare altrimenti
$credentials=新对象System.Management.Automation.Pscredential-Argumentlist$login,$password
$From=“xxxx”
$To=“xxxxxx”
#$Cc=”YourBoss@YourDomain.com"
#$Attachment=“C:\temp\Some random file.txt”
$Subject=“电子邮件主题”
$Body=“在此处插入正文”
$SMTPServer=“xxxxxx”
$SMTPPort=“25”
发送邮件消息-从$From-到$to-Subject$Subject`
-Body$Body-SmtpServer$SmtpServer-port$SMTPPort`
-凭据$凭据-优先级高
编写主机“电子邮件邀请,程序终端。”
}
停止记录
暂停

您有什么建议吗?

写主机
不会输出到任何流,也不会被捕获。改为使用
Write Output
,它会喷射到成功/输出流(别名
Echo
Write

作为补充说明,我建议不要将密码作为明文输入脚本。相反,请使用以下方法:

(Get-Credential).Password | ConvertFrom-SecureString | Out-File .\pw.txt
这样,pw的加密程度最低。从那里,您可以使用Get Content和ConvertTo SecureString


最后,在
If
语句中,只需使用
If($FileExists)
。它只能有两种状态,
$True
$False
-eq$true不需要。

输出似乎正常
>正在运行(V1.ps1)脚本…>>平台:V5 64位(STA)Trascrizione avviata。文件di输出:C:\2017-06-21èScriptèu log.txt Oggièil 06/21/2017 00:04:11 Inalizalizzo il Programma di Controllero Verifico se il文件di Controllero esiste edè可访问文件di Controllero nonèaccessibile,procedo al montaggio tramite Mount VHD montaggio disco virtuale Completo,根据far验证手册,因维奥邮递所有的电子邮件地址,包括因维奥邮递、程序终端。>>执行时间:00:00:02>>脚本结束
将主机输出写入void。如果要使用Start-Transcript cmdlet捕获输出,首先需要可以捕获的内容。根据你的英语理解能力,我建议你通读一遍,我在另一台机器上试过这个脚本,日志似乎能正常工作Innizio trascrizione Windows PowerShell Ora di Innizio:20170621003210*************************trascrizione avviata。文件di输出:C:\2017-06-21èu Scriptèu log.txt Oggièil 06/21/2017 00:32:10 Inalizalizzo il Programma di Controllero Verifico se il文件di Controllero esiste edè可访问文件di Controllero nonèaccessibile,procedo al montaggio tramite Mount VHD montaggio disco virtuale Completo,invio una mail all'Amministore Fine trascrizione Windows PowerShell或di Fine:20170621003210我真的不明白why@Posco我看到您正试图写入C:\目录。您可能没有权限。