初顧 PowerShell - 用 Powershell + .NET 發信

2014-11-24 PowerShell

PowerShell 在 Windows 2012R2 後已經是未來 Windows script 的主流,加上許多 IT 的推薦使得我步入我的 powershell script 第一步

 

以往都是使用 batch 或是 bash 來執行 script,這回在 Powershell 發現許多指令可以共通,真的是親民不少,網路上看到許多範例都將 .NET元件加入來進行 script 

 

在此篇也使用 Powershell + .NET 來試寫一個發信的 script

 

存成 TestSendMail.ps1,執行發信測試成功!!

 

 

 

第一次執行 PowerShell script 的時候因為安全性而會拒絕執行 TestSendMail.ps1

TestSendMail.ps1 檔案無法載入,因為這個系統上已停用指令碼執行。如需詳細資訊,請參閱 “get-help about_signing”。 At line:0 char:0

 

執行 get-help about_signing 查到 PowerShell 執行安全性預設為 Restricted,是不允許任何 script 執行的。

所以必須更改為 RemoteSigned

 

又再度遇到錯誤!!

Set-ExecutionPolicy : 拒絕存取登錄機碼 ‘HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell’。
位於 行:1 字元:20
+ set-executionpolicy <<<< remotesigned
+ CategoryInfo : NotSpecified: (:) [Set-ExecutionPolicy], UnauthorizedAccessException
+ FullyQualifiedErrorId : System.UnauthorizedAccessException,Microsoft.PowerShell.Commands.SetExecutionPolicyCommand

 

 

只好自己新增註冊檔來新增機碼

PowershellRemotesigned.reg

 

 

 

 

參考資料

易學易用的 Windows PowerShell

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *

彙整

分類

open all | close all

License

訂閱 Mr. 沙先生 的文章

輸入你的 email 用於訂閱

%d 位部落客按了讚: