發表文章

目前顯示的是有「PowerShell」標籤的文章

Windows Terminal窗格操作

圖片
看了Scott介紹Windows Terminal窗格操作後,順手玩了一下,相關指令。 開新的分割窗格 垂直分割 : alt+shift+加號 水平分割 : alt+shift+減號 窗格之間切換 alt 上下左右 調整窗格大小 alt+shift+上下左右 關閉窗格 ctrl +shift+w 參考連結 https://www.hanselman.com/blog/HowToUseOpenResizeAndSplitPanesInTheWindowsTerminal.aspx https://docs.microsoft.com/zh-tw/windows/terminal/panes?WT.mc_id=-blog-scottha

Jenkins- PowerShell 引用共用模組

圖片
在Jenkins上的工作,有一段Power Shell的Script會被多次引用,例: 向資料庫取得DataTable的共用方法。 若分別寫在多個Job上,日後會變得難以維護。針對此問題,找到了一個外掛可以解決。 安裝方式 1.安裝外掛-Managed Scripts 2.管理Jenkins的畫面,進入Managed files的設定連結 3.新增Script Config Name:此為使用時的識別名稱。 Content:執行的Script 使用方式 1.引用剛加入的config,Target:將config檔,輸出到工作目錄 2.執行Power Shell Import-Module 剛輸出到工作目錄的共用檔案,並呼叫裡面的Function,來執行SQL 取得筆數 參考來源 Managed Script Plugin https://wiki.jenkins.io/display/JENKINS/Managed+Script+Plugin Power Shell Sql Query http://mattslay.com/sql-server-queries-using-powershell-lesson-1/

IIS 使用Power Shell啟動已中止的Pooling

目前的網站,因大量資料的查詢,會不定時的造成Pooling中止,在還沒改善程式的狀況下,現行的處理措施,都是等到使用者通知後,手動將Pooling啟動。這樣的處理,若遇到下班或假日時,就非常的麻煩了....且久了就會讓人感覺不夠專業XD。 解決方案 寫一個PowerShell來啟動已中止的Pooling,並透過排程定時呼叫。 #要先匯入模組Get-ChildItem 才會認得IIS: Import-Module WebAdministration #1.取得所有Pooling $pools=Get-ChildItem IIS:\AppPools #2.比對要啟動的Pooling $poolMaps="PrdPooling","Prd-Download-Pooling","Sta-Pooling" for($i=0;$i -lt $pools.Length;$i++){ ##3.比對到要啟動及已停止的Pooling並啟動 if($poolMaps.IndexOf($pools[$i].Name) -gt -1 -and $pools[$i].State -eq "Stopped"){   Start-WebAppPool $pools[$i].Name   $pools[$i].Name } } 參考來源 https://docs.microsoft.com/en-us/powershell/module/webadminstration/start-webapppool?view=winserver2012-ps https://stackoverflow.com/questions/24392696/getting-cant-find-the-drive-the-drive-called-iis-does-not-exist

Jenkins-PowerShell 發生例外時回報失敗

圖片
   Jenkins Power Shell Plug In 1.3版後的更新,由於使用非互動的方式執行,若script發生例外,會直接Bypass視為成功。 https://wiki.jenkins.io/display/JENKINS/PowerShell+Plugin 當發生錯誤時,要視為建置失敗,則要另外加上判斷,如下:

IIS Management–Power Shell

圖片
前一陣子看到 某篇介紹CI文章 時,在章節的後面,提到使用Power Shell管理IIS(作者還沒寫到實作內容)。等不及作者後續的文章,自己先針對可能會用到的功能實作練習一下。 IIS Command 基本指令:取得Site、備份、還原、更改實體路徑, 更多指令請參考 IIS Remote 確定基本指令可以使用後,再來練習如何操作遠方主機。 1.初次使用,若Client端未加入Domain,須作如下設定 後記:在Window 10執行,會出現錯誤訊息如下: 解決方法將網路改為私有:Set-NetConnectionProfile -InterfaceAlias 乙太網路 -NetworkCategory Private 參考連結 2.透過帳號密碼進入遠方主機 上方指令執行完後,就已進入遠方主機的Session,此時下的任何指令,都是執行在主機上。 3.若不使用進入主機的方式,也可以直接使用Invoke-Command 來執行 參考來源   http://serverfault.com/questions/657918/remote-ps-session-fails-on-non-domain-server/657923#657923?newreg=bc5b77333d334495a1d62b980ea3c0d8 http://stackoverflow.com/questions/10011794/hardcode-password-into-powershells-new-pssession

工作排程器將參數傳給PowerShell

圖片
測試機上的工作排程,會定期去執行一支PowerShell的命令檔,目前有一需求,要從排程上,將參數傳給PowerShell去使用。相關作法如下 在power shell 先宣告一個變數,本例將變數先顯示出來 param($url="") $url 測試Power Shell傳入參數,進入命令提示字元,切換到Power Shell目錄 C:\Windows\System32\WindowsPowerShell\v1.0 透過-command將參數指給url : powershell.exe –command “d:\par.ps1 –url kim” 測試結果輸出:kim 將參數加到排程上 參考來源 https://dmitrysotnikov.wordpress.com/2011/02/03/how-to-schedule-a-powershell-script/

使用Azure Power Shell 變更資料庫服務層和效能層級

圖片
      目前的專案有一需求是在資料匯入時,將服務層級提高來加快匯入的速度,待完畢後再降回來,避免資源(金錢)的浪費。趁此K了一下最近剛入手的 Azure教戰手札 ,並撰寫一支Power Shell Script來玩玩。 前置工作   第一次使用PowerShell ,需設定ExecutionPolicy: Set-ExecutionPolicy -ExecutionPolicy RemoteSigned ps:此動作要使用Administrator執行 先確定是否已安裝Azure Power Shell ps:安裝後,需要 重新開機 ,否則會出現找不指令錯誤

[Power Shell] 透過排程執行 Protractor測試

圖片
  這兩天寫完了Protractor測試後,在本機執行沒問題後,將執行語法作成一個.bat檔後,放到測試主機Window Server 2012的排程工作執行。但一直無法出現測試畫面 (但手動執行.bat ok),本還以為是Window 2012後不支援.bat的排程執行=.=,後來查到是要設為"登入時才執行"。

Power Shell 初體驗

圖片
同事分享一個在MVA看到的教學影片" Windows PowerShell 3.0 教學 ",跟著練習一遍後,將相關指令整理如下: 什麼是Power Shell      Windows PowerShell是微軟為Windows環境所開發的程式及腳本語言技術,採用的是命令列介面。這項全新的技術提供了豐富的控制與自動化的系統管理能力。除了在管理系統時透過此介面執行原有的命令列工具外,還可以透過內建的一百多種標準命令工具來額外管理登錄檔資料或WMI以及事件日誌與數學運算等等.. 基本指令 先打開power shell