S小魚仔S 網誌搜尋

顯示具有 PowerShell 標籤的文章。 顯示所有文章
顯示具有 PowerShell 標籤的文章。 顯示所有文章

2017年3月15日 星期三

S小魚仔S Zabbix 3.2 善用 UserParameter 回傳 Windows PowerShell 值 (十)

如何善用「Zabbix」UserParameter 回傳「Windows PowerShell」內容。

建立「Windows PowerShell」( C:\Tmp\Test.ps1 )

判斷「Windows Servers」=>「gpsvc」是/否 為「停止」
若 停止 顯示「0」
若 未停止 顯示「1」

執行結果 如下圖所示
 

編輯「Zabbix Agent」Config 檔


EnableRemoteCommands=1
LogRemoteCommands=1
PS
允許「遠端」發送「命令」

 Server = 192.168.1.13 (被動式) 
PS.
指向 Zabbix Server IP

  Server Active = 192.168.1.13 (主動式)
PS.
指向 Zabbix Server IP

Hostname = Windows-10
PS.
指向 Windows Client Host Name

UnsafeUserParameters=1
UserParameter=test,powershell.exe -file C:\tmp\Test.ps1
PS.
UnsafeUserParameters=1  ;啟用「參數傳遞」功能
UserParameter=test,powershell.exe -file C:\tmp\Test.ps1  ;執行結果存入「test」參數

重新啟動「Zabbix Agent」Services

net stop "Zabbix Agent"
net start "Zabbix Agent"

測試「Zabbix Server」接收「Zabbix Agent」參數「值」

/usr/bin/zabbix_get -s 192.168.1.14 -p 10050 -k "test"

接下來就是 設定「模版」(Template) =>「應用」(Application) =>「項目」(Item) =>「告警」(Tigger) =>「動作」(Action)

即可完成「監控」並「告警」觸發「E-mail」

參考資料

2017年3月14日 星期二

S小魚仔S Windows Powershell .ps1 檔案無法載入

一時寫了「xxxx.ps1」(Windows Powershell),執行時出現「錯誤」

開啟「Windows PowerShell ISE」(系統管理員)

輸入「set-executionpolicy remotesigned」選擇「A」

使用「cmd」執行「powershell.exe -file C:\tmp\Test.ps1」
執行「成功」

參考資料

2012年3月28日 星期三

S小魚仔S PowerShell 查詢 EventLog

因為工作上關係,學習到「Hyper-V Server 2008 R2 SP1」其實「Hyper-V Server 2008 R2 SP1」也就是沒有「背景 (GUI)」的「系統」,透過「指令」來「操作」,原本是想要利用「cmd」來做一些簡單「處理」,後來發現有支援「PowerShell」老實說,我根本不懂那是什麼東西,只知道非常類似「命令提示字元」的「工具」,可以使用「指令」來「達成」我要的「工作內容」,後來透過「Google」不斷「爬文」,終於「找到」我要的「文章」,利用「PowerShell 查詢 電腦 EventLog」,那麼就讓我們來「實作」「 PowerShell 」。


Get-EventLog -list         
PS. 列出「Event Log」各大項目
  
Get-EventLog security   
PS. 列出「 安全性 」的「Event Log」


Get-EventLog security | more
PS. 列出 「 安全性 」 的 「Event Log」並 「分段顯示」 


security  -newest 30  | more
  PS. 列出 「 安全性 」 的前「30」項,「Event Log」並 「分段顯示」 


$date = (get-date).adddays(-1)
PS. 獲取當天24小時內的「EventLog」,續接「下一段指令」


get-eventlog security | where {$_.timewritten -gt $date} | out-file c:\security.txt
PS. 將「24」小時中所有的 「安全性」 保存到「C:\security.txt」文件中


get-eventlog -logname application -InstanceID 1000  
PS. 列出「應用程式」Event ID 為「1000」


get-eventlog -logname Security -InstanceID 4672 -newest 30
PS. 列出 前「30」筆「安全性」Event ID 為 「4672 」


get-eventlog -logname Security -InstanceID 4672 | out-file c:\security.txt
PS. 列出「安全性」Event ID 為 「4672 」並「儲存」到「C:\security.txt」


參考資料:
「IT 專家網」-「利用 PowerShell 提升 事件日志 管理效率」
「Mircosoft Technet」-「Get-EventLog」