我目前正在使用:
$emailFrom = "user@host.com" $emailTo = "destination@host.com" $subject = "subject" $body = "message" $smtpServer = "mail.host.com" $smtp = new-object Net.Mail.SmtpClient($smtpServer) $smtp.Send($emailFrom,$emailTo,$subject,$body)
我知道,通过以下命令,我可以找到我所有硬盘上的可用空间:
Get-WmiObject WIN32_logicaldisk | sort -desc freespace | select -first 3 | format-table -autosize deviceid,devicetype,providername,freespace,size,volumename;
当我尝试这样做:
$body = Get-WmiObject WIN32_logicaldisk | sort -desc freespace | select -first 3 | format-table -autosize deviceid,volumename;
但我收到的所有电子邮件都是以下内容:
Microsoft.PowerShell.Commands.Internal.Format.FormatStartData Microsoft.PowerShell.Commands.Internal.Format.GroupStartData Microsoft.PowerShell.Commands.Internal.Format.FormatEntryData Microsoft.PowerShell.Commands.Internal.Format.FormatEntryData Microsoft.PowerShell.Commands.Internal.Format.FormatEntryData Microsoft.PowerShell.Commands.Internal.Format.GroupEndData Microsoft.PowerShell.Commands.Internal.Format.FormatEndData
如何使用powershell通过电子邮件获取我的免费空间?
尝试:
$body = Get-WmiObject WIN32_logicaldisk | sort -desc freespace |选择 – 第一个3 | format-table -autosize deviceid,volumename |出弦
我刚刚在我的电脑上试过它并且它有效.
有关其工作原理的一些背景,请参阅:
http://blogs.msdn.com/powershell/archive/2006/04/25/how-does-select-string-work-with-pipelines-of-objects.aspx
JR