我目前正在使用:
$emailFrom = "[email protected]" $emailTo = "[email protected]" $subject = "subject" $body = "message" $smtpServer = "mail.host.com" $smtp = new-object Net.Mail.SmtpClient($smtpServer) $smtp.Send($emailFrom, $emailTo, $subject, $body)
我知道用下面的命令我可以find我所有的硬盘上的可用空间:
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,devicetype,providername,freespace,size,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 | select-first 3 | format-table -autosize deviceid,devicetype,providername,freespace,size,volumename | 出弦
我刚刚在我的电脑上试过,而且工作正常。
关于为什么这个作品的一些背景看到:
JR
你可以试试这个:
$body_array = Get-WmiObject WIN32_logicaldisk | sort -desc freespace | select -first 3 | format-table -autosize deviceid,devicetype,providername,freespace,size,volumename; $body = $body_array.ToString();
你可以从我的post适应这个线程 。
PowerShell从Get-WMIObject获取一个对象stream,对一个子集进行sorting和select,然后产生剩余对象的文本再现 – 而不仅仅是纯文本。 如果你想获得一个纯文本的演绎,你可以改变你的调用格式表来使用select-object。