首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Powershell脚本不生成日志文件

Powershell脚本不生成日志文件
EN

Stack Overflow用户
提问于 2017-06-21 05:56:33
回答 1查看 727关注 0票数 0

首先,这是我第一次使用powershell脚本,但我在使用Start-Transcript创建日志文件时遇到了问题。它不工作,我没有得到任何错误..这是我的脚本。

代码语言:javascript
复制
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

你有什么建议吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-06-21 06:08:44

Write-Host不会输出到任何流,也不会被捕获。改用Write-Output,它会传递给成功/输出流(别名为EchoWrite)

作为附注,我建议不要将密码作为明文放入脚本中。取而代之的是,使用类似于:

代码语言:javascript
复制
(Get-Credential).Password | ConvertFrom-SecureString | Out-File .\pw.txt

这样,pw被最小限度地加密。在那里,您可以使用Get-Content和ConvertTo-SecureString

最后,在If语句中,可以只使用If ($FileExists)。它只有两种状态:$True$False-eq $true是不必要的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44663668

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档