檢視 PowerShell 的原始碼
←
PowerShell
跳至導覽
跳至搜尋
由於下列原因,您沒有權限進行編輯此頁面的動作:
您請求的操作只有這個群組的使用者能使用:
使用者
您可以檢視並複製此頁面的原始碼。
'''PowerShell''',{{wikipedia|PowerShell|lang=en}} *{{wikiversity|PowerShell|lang=en}} *[https://github.com/PowerShell/PowerShell/releases Releases · PowerShell/PowerShell · GitHub] ==技術文件== *[https://docs.microsoft.com/zh-tw/powershell/ PowerShell 文件 - PowerShell | Microsoft Docs] ;其他 *[https://ithelp.ithome.com.tw/users/20005121/ironman/54 強而有力的 Windows PowerShell :: 2009 iT 邦幫忙鐵人賽] *[https://blog.darkthread.net/blog/ps-func-param-syntax/ PowerShell FAQ - 函式多參數寫法陷阱-黑暗執行緒] *[https://blog.darkthread.net/blog/ps-func-callback-param/ PowerShell FAQ - 傳入 Callback 函式參數-黑暗執行緒] *[https://blog.darkthread.net/blog/ps-dump-and-compare-dll-ver PowerShell 小工具 - 盤點及比較 DLL 版本差異-黑暗執行緒] *[https://blog.darkthread.net/blog/exe-output-stream-to-ps-pipeline/ 使用 PowerShell 串接 EXE 輸出串流結果-黑暗執行緒] *[http://www.pstips.net/ PowerShell 中文博客] - ''收集和分享PowerShell相关教程,技术和最新动态'' <!-- *[http://www.microsoft.com/downloads/details.aspx?FamilyId=DF8ED469-9007-401C-85E7-46649A32D0E0&displaylang=en Windows PowerShell Quick Reference] *[http://www.microsoft.com/taiwan/technet/columns/profwin/28-monad.mspx 易學易用的 Windows PowerShell] ;Technet 專欄 #[http://www.microsoft.com/taiwan/technet/columns/profwin/56-Winpowerwshell.mspx Windows PowerShell 講座 (1)—指令、重導、別名] #[http://www.microsoft.com/taiwan/technet/columns/profwin/64-Winpowerwshell2.mspx Windows PowerShell 講座 (2)—自訂工作環境] #[http://www.microsoft.com/taiwan/technet/columns/profwin/65-Winpowerwshell3.mspx Windows PowerShell 講座 (3)— PS 磁碟機] #[http://www.microsoft.com/taiwan/technet/columns/profwin/66-Winpowerwshell4.mspx Windows PowerShell 講座(4)—變數] #[http://www.microsoft.com/taiwan/technet/columns/profwin/67-Winpowerwshell5.mspx Windows PowerShell 講座 (5)—存資料的其他方式及編寫指令碼的前置準備] //--> ==應用== *[https://docs.microsoft.com/zh-tw/powershell/scripting/samples/sample-scripts-for-administration 適用於系統管理的範例指令碼 - PowerShell | Microsoft Docs] *[https://www.powershellgallery.com/ PowerShell Gallery | Home] ;其他 *[http://www.microsoft.com/downloads/details.aspx?FamilyID=50633A1F-A665-425D-923C-1A269F8AC084&displayLang=en Windows PowerShell 2.0 Software Development Kit (SDK)] *[http://www.codeplex.com/powershellremoting/ PowerShell Remoting](遠端操作相關) :*[http://forums.microsoft.com/Technet-CHT/ShowPost.aspx?PostID=3272993&SiteID=23 Technet討論區 - 請問 PowerShell 可否遠端登入] *[http://www.microsoft.com/taiwan/technet/scriptcenter/resources/qanda/mar07/hey0326.mspx 如何使用 Windows PowerShell 以便在應用程式終止時收到通知?] *[http://www.microsoft.com/technet/scriptcenter/resources/qanda/oct07/hey1031.mspx How Can I Use Windows PowerShell to Delete All the Files in a Folder Older Than 90 Days?] *[http://blog.darkthread.net/blogs/darkthreadtw/archive/2007/11/23/my-first-powershell-script.aspx#3432 檢查檔案是否存在?如不存在則發email通知] *[http://gallery.technet.microsoft.com/scriptcenter/files-from-websites-4a181ff3 Download files from websites programatically via powershell] *[http://www.codeproject.com/Articles/18229/How-to-run-PowerShell-scripts-from-C How to run PowerShell scripts from C#] ==FAQ== ===安裝PowerShell=== *[https://docs.microsoft.com/zh-tw/powershell/scripting/install/installing-powershell 在 Windows、Linux 和 macOS 上安裝 PowerShell - PowerShell | Microsoft Docs] ===使用嚴格模式=== *[https://docs.microsoft.com/zh-tw/powershell/module/microsoft.powershell.core/set-strictmode Set-StrictMode (Microsoft.PowerShell.Core) - PowerShell | Microsoft Docs] <source lang="powershell"> # 設定嚴格模式 1.0 Set-StrictMode -Version 1.0 # 設定嚴格模式 2.0 Set-StrictMode -Version 2.0 # 設定嚴格模式 3.0 Set-StrictMode -Version 3.0 # 設定嚴格模式 最後版本 Set-StrictMode -Version Latest # 關閉嚴格模式 Set-StrictMode -Off </source> ===常用指令=== *Get-Help :取得指令的使用說明 *exit :離開PowerShell *HELP :線上說明 *kill :停止執行中的程序 *ps :顯示執行中的程序狀態 *Get-Module :顯示已安裝的模組 *Get-Package :顯示已安裝的軟體套件 *Find-Package -Name 套件名 :尋找套件(需安裝Nuget) *Get-PackageSource :顯示能安裝的軟體套件的來源 ===軟體套件安裝=== ====經由Chocolatey==== *[https://chocolatey.org/install Chocolatey Software | Installing Chocolatey] *執行[https://chocolatey.org/install.ps1 install.ps1] 或 $ Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1')) *安裝軟體 (以notepadplusplus為例) $ choco install notepadplusplus ====從WindowsApps安裝應用軟體==== *以WindowsCalculator為例 $ManifestPath = (Get-AppxPackage -Name "*WindowsCalculator*").InstallLocation + "\Appxmanifest.xml" Add-AppxPackage -Path $ManifestPath -Register -DisableDevelopmentMode ===改善PowerShell的效能=== *[https://blog.miniasp.com/post/2019/01/11/ProgressPreference-slow-down-powershell-execution 如何修正 PowerShell 執行龜速的元兇 (關閉進度列提示) ] ===取得網路卡資訊=== Get-WmiObject win32_NetworkAdapter | %{ if ($_.PhysicalAdapter -and $_.Name -notmatch "Virtual") {$_ } } ===使用7z=== *[https://ithelp.ithome.com.tw/questions/10194801 Windows 腳本語言選擇] **Windows powershell還是可以使用7Z **重新命名資料夾名稱 **使用xml檔 ===使用git=== *[https://ithelp.ithome.com.tw/questions/10194817 使用 git 一次性的針對所有主機做更新(git pull)?] ===使用xml=== *[https://ithelp.ithome.com.tw/questions/10194816 powershell操作xml更改檔案內特定位置內容] ===取得資料夾內附檔名為zip的檔名=== <source lang="powershell"> $Dir="D:/Folder" foreach($item in (dir $Dir "*.zip")){ Echo $item.Name } </source> ===關閉程式與執行程式=== *出處: [https://ithelp.ithome.com.tw/questions/10190951 PowerShell 偵測執行程式,並重啟 - iT 邦幫忙::一起幫忙解決難題,拯救 IT 人的一天] ;關閉程式 <source lang="powershell"> #取得授權 Set-ExecutionPolicy RemoteSigned #判斷與停止Client if(Get-Process client -ErrorAction SilentlyContinue) { Stop-Process -Name client } #等待1s Start-Sleep -s 1 </source> ;執行程式 <source lang="powershell"> #取得授權 Set-ExecutionPolicy RemoteSigned #執行項目 [System.Diagnostics.Process]::Start("C:\Client\client.exe", "") </source> ===刪除超過30天的資料庫備份檔=== *參考: [https://medium.com/@jamieleetw95/powershell-%E8%87%AA%E5%8B%95%E5%88%AA%E9%99%A4%E6%AA%94%E6%A1%88-%E6%8C%89%E7%85%A7%E6%AA%94%E6%A1%88%E4%BF%AE%E6%94%B9%E6%97%A5-%E4%BF%9D%E7%95%99%E8%BF%91n%E5%A4%A9%E5%85%A7%E7%9A%84%E6%AA%94%E6%A1%88-46eabad9f465 用PowerShell刪除N天前或指定日期(前後)建立(或修改)的檔案 | 程式前沿] *檔案:ClearDbBackup.ps1 <source lang="powershell"> # 清除超過30天的資料庫備份檔 # # 用法: # 用管理員身分執行 PowerShell (怕資料夾或檔案鎖在管理員權限而無法刪除) # >D: # >CD D:\Buckup # >./ClearDbBackup.ps1 #定義主目錄 #透過Get-ChildItem抓該資料夾內的檔案列表 $TargetFolder = "D:\Backup\DB" #定義天數,要刪除多久以前的檔案 #若是要刪除30天前的檔案,$Days就設定30 $Days = 30 #取今日時間 $Currentlytime = (Get-Date).AddDays(-$Days) $Dirs = Get-Childitem -Path $TargetFolder -Recurse -Include *.bak foreach ($item in $Dirs) { #判斷檔案最後修改時間 #由LastWriteTime抓取檔案最後修改時間 #利用AddDays對$Currentlytime做時間的運算 if($item.LastWriteTime -le $Currentlytime) #-le 小於或等於 { Remove-Item $item.FullName | out-null write-host "Finish Deleting Dir $item" -ForegroundColor "DarkRed" } } </source> ===ASP.NET WebForm PostBack=== *[https://blog.darkthread.net/blog/crawl-webform-postback-w-powershell/ ASP.NET WebForm PostBack 式查詢網頁之 PowerShell 爬蟲範例-黑暗執行緒] ===JSON=== *[https://stackoverflow.com/questions/13968004/how-do-i-use-json-net-to-parse-json-in-powershell How do I use Json.NET to parse json in PowerShell? - Stack Overflow] **[https://www.nuget.org/packages/Newtonsoft.Json/ NuGet Gallery | Newtonsoft.Json] ===批次轉檔=== *[https://blog.darkthread.net/blog/ps-batch-conv-xls-to-xlsx/ PowerShell 小工具 - XLS 轉 XLSX 批次轉換-黑暗執行緒] *[https://blog.darkthread.net/blog/ps-batch-conv-doc-to-docx/ PowerShell 小工具 - DOC 轉 DOCX 批次轉換-黑暗執行緒] ===文字亂碼=== *[https://blog.darkthread.net/blog/ps-pipeline-exe-encoding/ 【茶包射手日記】PowerShell 串接 EXE 輸出中文變亂碼-黑暗執行緒] ===計算檔案的雜湊值=== *[https://blog.darkthread.net/blog/compute-file-hash-in-win/ 計算檔案雜湊碼 - 使用 PowerShell 及 Windows 內建工具-黑暗執行緒] ===圖檔處理=== *[https://blog.darkthread.net/blog/id-card-watermark-ps-tool/ 為自己寫程式 - 身分證影本加浮水印-黑暗執行緒] ===用管理者身分執行的 PowerShell 腳本=== *[https://blog.darkthread.net/blog/ps1-requireadministrator/ PowerShell 密技 - 自動改用管理者權限執行 .ps1-黑暗執行緒] ===抓網頁=== <source lang="powershell"> $html = (Invoke-WebRequest -Uri "http://www.google.com").Content echo $html </source> ===Add-FirewallRule.ps1=== *出處:[https://serverfault.com/questions/325544/how-to-create-a-windows-2008-advanced-firewall-rules-group-definition-through-th How to create a Windows 2008 Advanced Firewall rules group definition through the command prompt - Server Fault] <source lang="powershell"> function Add-FirewallRule { param( $name, $tcpPorts, $appName = $null, $serviceName = $null ) $fw = New-Object -ComObject hnetcfg.fwpolicy2 $rule = New-Object -ComObject HNetCfg.FWRule $rule.Name = $name if ($appName -ne $null) { $rule.ApplicationName = $appName } if ($serviceName -ne $null) { $rule.serviceName = $serviceName } $rule.Protocol = 6 #NET_FW_IP_PROTOCOL_TCP $rule.LocalPorts = $tcpPorts $rule.Enabled = $true $rule.Grouping = "@firewallapi.dll,-23255" $rule.Profiles = 7 # all $rule.Action = 1 # NET_FW_ACTION_ALLOW $rule.EdgeTraversal = $false $fw.Rules.Add($rule) } # Sample Usage Add-FirewallRule "Test port 1234" "1234" $null $null Add-FirewallRule "Test port 5555-6666" "5555-6666" $null $null Add-FirewallRule "Test port 2222 Calc" 2222 "c:\windows\system32\calc.exe" $null Add-FirewallRule "Test port 3333 W3SVC" 3333 $null "W3SVC" </source> ===其他=== *[https://docs.microsoft.com/zh-tw/powershell/scripting/install/windows-powershell-system-requirements Windows PowerShell 系統需求] *參照: **[http://social.technet.microsoft.com/Forums/zh-TW/powershellzhcht/threads Windows PowerShell 論壇] **[http://technet.microsoft.com/zh-tw/scriptcenter/default.aspx 指令碼中心] ;安裝 *[http://support.microsoft.com/kb/968930/zh-tw KB968930 - Windows Management Framework Core package (Windows PowerShell 2.0 and WinRM 2.0)] *[http://support.microsoft.com/kb/968929/zh-tw KB968929 - Windows Management Framework (Windows PowerShell 2.0, WinRM 2.0, and BITS 4.0)] *[https://github.com/PowerShell/PowerShell/releases Releases · PowerShell/PowerShell] **[https://docs.microsoft.com/zh-tw/powershell/scripting/install/installing-powershell-core-on-windows 在 Windows 上安裝 PowerShell - PowerShell | Microsoft Docs] ;啟動方法 *【開始】→【執行】→【powershell】 [[Category:軟體]] [[Category:Microsoft]] [[分類:.NET]] [[分類:跨平台]]
此頁面使用了以下模板:
模板:Wikipedia
(
檢視原始碼
)
模板:Wikiversity
(
檢視原始碼
)
返回「
PowerShell
」頁面
導覽選單
個人工具
登入
命名空間
頁面
討論
變體
視圖
閱讀
檢視原始碼
檢視歷史
更多
搜尋
導覽
首頁
社群入口
新聞動態
新聞直播
近期變更
Online IDE
分類
程式語言
資料結構
演算法
技術
軟體
SQL資料庫
網站套件
免費資源
副檔名
檔案格式
分類
其他
動畫
漫畫
小說
小說導讀
驅動程式
購物用
求職網站
推薦書單
線上學習
技術類News或部落格
Microsoft devblogs
網頁技術News
資料技術News
安全性相關News
MS-MVP
藍色小舖認證專家
經營行銷類部落格
工具
連結至此的頁面
相關變更
特殊頁面
頁面資訊