{"id":3141,"date":"2023-08-15T08:17:19","date_gmt":"2023-08-15T00:17:19","guid":{"rendered":"https:\/\/benson80.eu.org\/?p=3141"},"modified":"2023-08-15T08:56:45","modified_gmt":"2023-08-15T00:56:45","slug":"%e4%bd%bf%e7%94%a8-powershell-%e8%84%9a%e6%9c%ac%e6%9d%a5%e5%8f%91%e9%80%81%e7%94%b5%e5%ad%90%e9%82%ae%e4%bb%b6","status":"publish","type":"post","link":"https:\/\/benson80.eu.org\/?p=3141","title":{"rendered":"\u4f7f\u7528 PowerShell \u811a\u672c\u6765\u53d1\u9001\u7535\u5b50\u90ae\u4ef6"},"content":{"rendered":"\n<p>1. \u5728\u5de6\u4e0b\u89d2\u641c\u7d22\u6846\u8f93\u5165ISE\uff0c\u6253\u5f00Windows PowerShell ISE\uff0c\u65b0\u5efa\u4e00\u4e2aps1\u6587\u4ef6\uff0c\u7f16\u8f91\u4ee3\u7801\u5982\u4e0b\uff1a<\/p>\n\n\n\n<p>$smtpServer = &#8220;smtp.126.com&#8221; # SMTP \u670d\u52a1\u5668\u5730\u5740<br>$smtpPort = 25 # \u4f7f\u7528\u975e\u52a0\u5bc6\u8fde\u63a5\u7684\u7aef\u53e3<br>$from = &#8220;XXXXX@126.com&#8221; # \u53d1\u4ef6\u4eba\u90ae\u7bb1\u5730\u5740<br>$to = &#8220;XXXXX@qq.com&#8221; # \u6536\u4ef6\u4eba\u90ae\u7bb1\u5730\u5740<br>$subject = &#8220;Daily Report&#8221; # \u90ae\u4ef6\u4e3b\u9898<br>$body = &#8220;This is your daily report.&#8221; # \u90ae\u4ef6\u6b63\u6587<\/p>\n\n\n\n<p># \u4f7f\u7528\u53d1\u4ef6\u4eba\u7684\u90ae\u7bb1\u51ed\u636e<\/p>\n\n\n\n<p>$credential = Get-Credential -Credential &#8220;XXXXX@126.com&#8221;<br>Send-MailMessage -From $from -To $to -Subject $subject -Body $body -SmtpServer $smtpServer -Port $smtpPort -Credential $credential<br>Write-Host &#8220;Email sent successfully.&#8221;<\/p>\n\n\n\n<p>\u4fdd\u5b58\u4e3aSendEmail.ps1\u6587\u4ef6<\/p>\n\n\n\n<p>2. \u7528\u4e8e\u8bfb\u53d6 Excel \u6587\u4ef6\u4e2d\u7684\u6570\u636e\uff0c\u5c06\u6570\u636e\u4ee5 HTML \u8868\u683c\u5f62\u5f0f\u6784\u5efa\uff0c\u5e76\u901a\u8fc7\u90ae\u4ef6\u53d1\u9001\u3002<\/p>\n\n\n\n<p>\u65b0\u5efa\u4e00\u4e2aps1\u6587\u4ef6\uff0c\u7f16\u8f91\u4ee3\u7801\u5982\u4e0b\uff1a<\/p>\n\n\n\n<p># \u8bbe\u7f6eExcel\u6587\u4ef6\u8def\u5f84\u548c\u5de5\u4f5c\u8868\u540d\u79f0<\/p>\n\n\n\n<p>$excelFilePath = &#8220;C:\\Users\\xiaosun.GLOTECH-GF\\Desktop\\IP\u4f7f\u7528\u60c5\u51b5.xlsx&#8221;<br>$worksheetName = &#8220;Sheet1&#8221;<\/p>\n\n\n\n<p># \u8bbe\u7f6e\u90ae\u7bb1\u53c2\u6570\uff08\u4f7f\u7528126\u90ae\u7bb1\u7684SMTP\u670d\u52a1\u5668\u548c\u7aef\u53e3\uff09<\/p>\n\n\n\n<p>$smtpServer = &#8220;smtp.126.com&#8221;<br>$smtpPort = 25<br>$senderEmail = &#8220;XXXXX@126.com&#8221;<br>$recipientEmail = &#8220;XXXXX@qq.com&#8221;<br>$subject = &#8220;IP\u4f7f\u7528\u60c5\u51b5&#8221;<\/p>\n\n\n\n<p># \u52a0\u8f7dExcel COM\u5bf9\u8c61<\/p>\n\n\n\n<p>$excel = New-Object -ComObject Excel.Application<br>$workbook = $excel.Workbooks.Open($excelFilePath)<br>$worksheet = $workbook.Sheets.Item($worksheetName)<\/p>\n\n\n\n<p># \u83b7\u53d6\u884c\u6570\u548c\u5217\u6570<\/p>\n\n\n\n<p>$rowCount = $worksheet.UsedRange.Rows.Count<br>$colCount = $worksheet.UsedRange.Columns.Count<\/p>\n\n\n\n<p># \u521b\u5efaHTML\u8868\u683c<\/p>\n\n\n\n<p>$htmlTable = &#8220;&lt;table border=&#8217;1&#8242;&gt;&#8221;<\/p>\n\n\n\n<p># \u5faa\u73af\u9010\u884c\u9010\u5217\u8bfb\u53d6\u6570\u636e\u5e76\u6784\u5efa\u8868\u683c<\/p>\n\n\n\n<p>for ($i = 1; $i -le $rowCount; $i++) {<br>$htmlTable += &#8220;&lt;tr&gt;&#8221;<\/p>\n\n\n\n<p>for ($j = 1; $j -le $colCount; $j++) { <\/p>\n\n\n\n<p>$cellValue = $worksheet.Cells.Item($i, $j).Text <\/p>\n\n\n\n<p>$htmlTable += &#8220;&lt;td&gt;$cellValue&lt;\/td&gt;&#8221; <\/p>\n\n\n\n<p>} <\/p>\n\n\n\n<p>$htmlTable += &#8220;&lt;\/tr&gt;&#8221;<br>}<\/p>\n\n\n\n<p>$htmlTable += &#8220;&lt;\/table&gt;&#8221;<\/p>\n\n\n\n<p># \u5173\u95edExcel\u5bf9\u8c61<\/p>\n\n\n\n<p>$workbook.Close()<br>$excel.Quit()<\/p>\n\n\n\n<p>[System.Runtime.Interopservices.Marshal]::ReleaseComObject($excel)<\/p>\n\n\n\n<p># \u6784\u5efa\u90ae\u4ef6\u6d88\u606f<\/p>\n\n\n\n<p>$htmlBody = &#8220;&lt;html&gt;&lt;body&gt;$htmlTable&lt;\/body&gt;&lt;\/html&gt;&#8221;<\/p>\n\n\n\n<p># \u83b7\u53d6\u90ae\u7bb1\u51ed\u8bc1\uff08\u7528\u6237\u540d\u548c\u5bc6\u7801\uff09<\/p>\n\n\n\n<p>$credential = Get-Credential -Message &#8220;Enter your email credentials&#8221;<\/p>\n\n\n\n<p># \u521b\u5efa\u9644\u4ef6\u5bf9\u8c61<\/p>\n\n\n\n<p>$attachment = New-Object System.Net.Mail.Attachment($excelFilePath)<\/p>\n\n\n\n<p># \u53d1\u9001\u90ae\u4ef6<\/p>\n\n\n\n<p>$smtp = New-Object Net.Mail.SmtpClient($smtpServer, $smtpPort)<br>$smtp.EnableSsl = $false # 126\u90ae\u7bb1\u4e0d\u4f7f\u7528SSL<br>$smtp.Credentials = $credential.GetNetworkCredential()<br>$mailMessage = New-Object Net.Mail.MailMessage($senderEmail, $recipientEmail, $subject, $htmlBody)<br>$mailMessage.IsBodyHtml = $true<br>$mailMessage.Attachments.Add($attachment)<\/p>\n\n\n\n<p>$smtp.Send($mailMessage)<\/p>\n\n\n\n<p># \u6e05\u7406<\/p>\n\n\n\n<p>$smtp.Dispose()<br>$mailMessage.Dispose()<br>$attachment.Dispose()<\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>1. \u5728\u5de6\u4e0b\u89d2\u641c\u7d22\u6846\u8f93\u5165ISE\uff0c\u6253\u5f00Windows &hellip;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7],"tags":[],"class_list":["post-3141","post","type-post","status-publish","format-standard","hentry","category-windows"],"_links":{"self":[{"href":"https:\/\/benson80.eu.org\/index.php?rest_route=\/wp\/v2\/posts\/3141","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/benson80.eu.org\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/benson80.eu.org\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/benson80.eu.org\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/benson80.eu.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=3141"}],"version-history":[{"count":15,"href":"https:\/\/benson80.eu.org\/index.php?rest_route=\/wp\/v2\/posts\/3141\/revisions"}],"predecessor-version":[{"id":3158,"href":"https:\/\/benson80.eu.org\/index.php?rest_route=\/wp\/v2\/posts\/3141\/revisions\/3158"}],"wp:attachment":[{"href":"https:\/\/benson80.eu.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=3141"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/benson80.eu.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=3141"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/benson80.eu.org\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=3141"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}