❶ 什麼是Powershell
Windows PowerShell 是一種命令行外殼程序和腳本環境,使命令行用戶和腳本編寫者可以利用.NET Framework的強大功能。
它引入了許多非常有用的新概念,從而進一步擴展了您在Windows命令提示符和Windows Script Host環境中獲得的知識和創建的腳本。
可更新的幫助
PowerShell與幫助文件中的錯誤做斗爭。微軟需要發布一個操作系統補丁。基於TechNet站點的在線幫助的存在減輕了這個問題,但杯水車薪。在v3中,幫助文件能按需更新,從任何微軟伺服器都可下載新的XML文件。所以微軟就能根據找到的問題進行錯誤修復,不需要操作系統包或補丁。
❷ 如何用C語言執行powershell命令
我有一條獲取server安裝的各種組件的powershell命令,可以在server上正常命令行執行
powershell -command "& {get-windowsfeature | Out-File -FilePath C:\Command.txt}"
但我用C語言寫出來的exe去跑的時候總是不能正常執行,因為server環境裡面沒有debug環境,所以也不知道具體錯在什麼地方了,具體source如下:
C/C++ code?
TCHAR szCommandLine[1024] = {0};
sprintf(szCommandLine,
"powershell -command \"& {get-windowsfeature | Out-File -FilePath C:\\Command.txt}\"");
bSuccess = CreateProcess( NULL, // No mole name (use command line).
szCommandLine, // Command line.
NULL, // Process handle not inheritable.
NULL, // Thread handle not inheritable.
FALSE, // Set handle inheritance to FALSE.
0, // No creation flags.
NULL, // Use parent's environment block.
NULL, // Use parent's starting directory.
&si, // Pointer to STARTUPINFO structure.
&pi ); // Pointer to PROCESS_INFORMATION structure.
❸ 如何使用Windows Power Shell
使用Windows Power Shell的方法步驟:
點擊系統的「開始」圖標,然後在打開菜單中,選擇「運行」;
powershell工具打開後發現,這不是CMD命令工具,將powershell和cmd命令工具做個簡單對比;
這里同時打開了一個cmd命令工具和一個powershell工具,下面就來簡單的分析一下它們的區別
(1)、首先看標題欄最前面的執行文件的圖標不一樣;
(2)、繼續看標題欄,它們的標題欄不一樣,最後面的執行文件是不一樣的,一個是cmd.exe一個是powershell.exe;
(3)、打開的窗口中的第一行的提示信息不一樣,表示兩個不同的工具
(4)、在powershell命令操作最前面有大寫的PS,但是cmd命令行工具最前面是沒有的;
如何查看powershell的幫助信息:輸入以下命令中的任何一個都可以查看幫助信息:man、help、get-help;
如何查看 powershell 已經定義的一些別名(別名:把原本是比較長的字元命令,通過定義成比較簡單的幾個字元,以後輸入重新定義的簡單的字元命令並執行,也可以執行原來的命令,目的是簡單、方便、省時);
owershell裡面很多的命令都和linux裡面的命令類似,同時powershell也可以使用以前cmd命令工具裡面的命令;
並不是所有的cmd命令工具都可以直接在powershell工具中使用,有的是稍微做一些修改的;
如何退出powershell:直接輸入命令exit就可以退出powershell,當然直接點右上方的 X 也是可以退出的。
❹ 如何使用Windows Power Shell
Windows Power Shell 是微軟新推出的一個替代cmd命令行的工具,具體的功能和作用小編這里就不詳細介紹了,項了解更多信息可以網路搜索,或者在網路中查看詳細的介紹,在win7系統中默認自帶這個工具,小編下面來分享下如何使用Windows PowerShell這個工具
首先第一步和第二步我們來說下如何打開powershell工具
點擊系統的「開始」圖標,然後在打開菜單中,選擇「運行」,在打開的運行對話框中輸入powershell回車就可以打開
powershell工具打開後如下圖所示,第一眼給我們感覺就是CMD命令提示行嘛,請仔細看下,其實這不是CMD命令工具,在下面第三步中,小編將powershell和cmd命令工具做個簡單對比
這里同時打開了一個cmd命令工具和一個powershell工具,下面小編就來簡單的分析一下它們的區別
1、首先看標題欄最前面的執行文件的圖標不一樣
2、繼續看標題欄,它們的標題欄不一樣,最後面的執行文件是不一樣的,一個是cmd.exe一個是powershell.exe
3、打開的窗口中的第一行的提示信息不一樣,表示兩個不同的工具
4、在powershell命令操作最前面有大寫的PS,但是cmd命令行工具最前面是沒有的
如何查看powershell的幫助信息
輸入以下命令中的任何一個都可以查看幫助信息:
man、help、get-help
這里使用的是命令man,幫助信息做的還算比較人性化,也有中文的幫助信息,比較難得
如何查看 powershell 已經定義的一些別名(別名:把原本是比較長的字元命令,通過定義成比較簡單的幾個字元,以後輸入重新定義的簡單的字元命令並執行,也可以執行原來的命令,目的是簡單、方便、省時)
輸入alias或者gal或者get-alias都可以查看系統已經定義好的別名,目前小編使用的powershell有137個別名,很多的別名和linux系統中的命令類似,如:ls、cp、mv、rm、rmdir、ps等
powershell裡面很多的命令都和linux裡面的命令類似,同時powershell也可以使用以前cmd命令工具裡面的命令,下面給出一個簡單的示例:用ls和dir都可以查看當前目錄的文件信息,查看的信息默認以列表的形式查看
並不是所有的cmd命令工具都可以直接在powershell工具中使用,有的是稍微做一些修改的,小編這里也舉一個簡單的例子來說明:
查看網路信息的命令ipconfig/all 和 ipconfig /all這兩個命令都可以在cmd命令工具中使用,但是只有ipconfig /all才能在powershell
如何退出powershell
直接輸入命令exit就可以退出powershell,當然直接點右上方的 X 也是可以退出的。
❺ Win7系統的Powershell命令是什麼如何使用
windows powerShell是微軟為windows系統開發的shell 及腳本語言技術,它的出現同時彌補了和unix系統相比windows在Shell方面的不足,同時也為程序開發人員提供了一種更高效的編寫腳本的工具。在windows7中已經整合了powerShell V2且支持圖形界面操作。
要想在windows 7系統中啟動windows powerShell非常簡單,點擊」開始」按鈕後在底部的搜索欄內輸入PowerShell,在搜索結果內選擇windows powerShell即可進入命令行模式的界面,選擇windows powerShell V2 ISE 後就可以進入到windows powerShell的圖形窗口模式。此外也可以在傳統的CMD窗口中輸入PowerShell後按下回畫運行PowerShell。
PowerSHell上手
相對於傳統的命令行工具,PowerShell對很多用戶來說都會顯得非常陌生。究竟PowerShell支持哪些命令呢?其實PowerShell可以管理系統進程,服務,注冊表,系統日誌甚至證書等多項內容。想知道它支持哪些命令,只需要在窗口內輸入get-command並按下回畫就可以了,這時屏幕上會顯示所有PowerShell支持的命令。
此處除了可以顯示命令的類型外,還會顯示名稱和描述。想查看某個命令的詳細用法就可以使用get-helt命令來獲得幫助,比如要查看add-content命令的詳細內容,就可以輸入get-help add-content,按下回車後就會顯示命令的名稱,摘要,語法,詳細說明,相關鏈接以及備注。要想更深入了解powerShell就要經常獲取幫助哦。
PowerShell可以方便地查看和結束系統內的進程,這樣不僅可以監控系統內的可疑進程,還可以輕松地將其關閉。要想查看當前系統內的進程,就需要打開PowerShell,輸入 get-process後按下回車,這樣系統中進程的句柄,進程名,進程佔用處理器時間和進程唯一標識符就會顯示出來。
如果要結束某個或多個進程,就需要記錄下進程的唯一標識符,在powerShell中輸入Stop-process後根據提示輸入一個或多個進程的ID,按下回車後進程即可被自動結束。
用別外快速啟動程序
對於某些常用的命令,powershell還支持將其設置為別名使用。比如需要給get-process設置別外,就可以在powershell中輸入set-alias gp get-process,其中gp為命令get-process的別外。按下回車後直接用gp就可以代替get-process命令了。
同理很多系統內建的工具也可以在powershell中設置別名了,比如在powershell中輸入notepad後就可以啟動記事本。要想更快地啟動記事本,就可以為其設置別名,輸入set-alias np notepad後按下回車,這樣再次輸入np就可以打開記事本了。
PowerShell還有著管理系統服務,操作注冊表和眾多的網路相關操作,這里不一一介紹,有興趣的朋友不妨登錄微軟官方站點獲取更多 多與powerShell有關的資料。
❻ PowerShell 基本語法及常用命令
PowerShell常用命令:
一 Get類
1.Get-Command : 得到所有PowerShell命令,獲取有關 cmdlet 以及有關 Windows PowerShell 命令的其他元素的基本信息。 包括Cmdlet、Alias、Function。
2.Get-Process : 獲取所有進程
3.Get-Help : 顯示有關 Windows PowerShell 命令和概念的信息
4.Get-History : 獲取在當前會話中輸入的命令的列表
5.Get-Job : 獲取在當前會話中運行的 Windows PowerShell 後台作業
6.Get-FormatData : 獲取當前會話中的格式數據
7.Get-Event : 獲取事件隊列中的事件
8.Get-Alias : 獲取當前會話的別名
9.Get-Culture :獲取操作系統中設置的當前區域性
12.Get-Member : 獲取對象的屬性和方法。
13.Get-Random : 從集合中獲取隨機數或隨機選擇對象
14.Get-UICulture : 獲取操作系統中當前用戶界面 (UI) 區域性設置
15.Get-Unique : 從排序列表返回唯一項目
16.Get-Variable :獲取當前控制台中的變數
17.Get-EventLog : 獲取本地或遠程計算機上的事件日誌或事件日誌列表中的事件
18.Get-ChildItem : 獲取一個或多個指定位置中的項和子項
19.Get-Content : 獲取指定位置的項的內容
20.Get-ItemProperty :獲取指定項的屬性
21.Get-WmiObject : 獲取 Windows Management Instrumentation (WMI) 類的實例或可用類的相關信息
22.Get-Location :獲取當前工作位置的相關信息(如:F:\Users\TaoMin )
23.Get-PSDrive:獲取當前會話中的 Windows PowerShell 驅動器
24.Get-Item:獲取位於指定位置的項
25.Get-Process :獲取在本地計算機或遠程計算機上運行的進程
26.Get-Service : 獲取本地或遠程計算機上的服務
27.Get-Transaction :獲取當前(活動)事務
28.Get-ExecutionPolicy :獲取當前會話中的執行策略
二.Set類 (set類命令一般都含有參數)
1.Set-Alias : 在當前 Windows PowerShell 會話中為 cmdlet 或其他命令元素創建或更改別名(替代名稱)
2.Set-PSDebug :打開和關閉腳本調試功能,設置跟蹤級別並切換 strict 模式
3.Set-StrictMode :建立和強制執行表達式、腳本和腳本塊中的編碼規則
4.Set-Date :將計算機上的系統時間更改為指定的時間
5.Set-Variable :設置變數的值,如果該變數還不存在,則創建該變數
6.Set-PSBreakpoint :在行、命令或者變數上設置斷點
7.Set-Location :將當前工作位置設置為指定的位置
8.Set-Item :將項的值更改為命令中指定的值
9.Set-Service :啟動、停止和掛起服務並更改服務的屬性
10.Set-Content :在項中寫入內容或用新內容替換其中的內容
11.Set-ItemProperty :創建或更改某一項的屬性值
12.Set-WmiInstance :創建或更新現有 Windows Management Instrumentation (WMI) 類的實例
13.Set-ExecutionPolicy :更改 Windows PowerShell 執行策略的用戶首選項。
三.Write類
1.Write-Host : 將自定義輸出內容寫入主機。類似於.net的 write()或者writeline()功能
2.Write-Progress :在 Windows PowerShell 命令窗口內顯示進度欄
3.Write-Debug :將調試消息寫入控制台
4.Write-Verbose:將文本寫入詳細消息流
5.Write-Warning :寫入警告消息
6.Write-Error : 將對象寫入錯誤流
7.Write-Output : 將指定對象發送到管道中的下一個命令;如果該命令是管道中的最後一個命令,則在控制台上顯示這些對象
8.Write-EventLog :將事件寫入事件日誌
PowerShell變數、常量、數組:
一、變數
PowerShell的變數無需預定義,可直接使用。當使用一個變數時,該變數被自動聲明。
變數以 $ 符號開頭。如: $a
PowerShell普通變數:
1.給變數賦值:
方式一:
$a = "This is a string"
$b = 123
$c = 0.125
方式二:
Set-Variable var 100
Set-Variable var1 」test「
Set-Variable va2 800
2.獲取變數值
get-variable var #獲取單個變數值
get-variable var* #獲取多個變數值
3.清空變數值
clear-variable var
4.刪除變數
remove-variable var
5.連接兩個字元串變數
$a = "This is the 1st string"
$b = "This is the 2nd string"
a + " and " + $b
$c
結果:This is the 1st string and This is the 2nd string
6.變數的方法
$date = Get-Date #獲取當前時間
$date.AddDays(3) #當前時間加三天
PowerShell特殊變數:
強制指定變數類型:
一般不需要為PowerShell的變數指定類型。但是也可以強制指定變數類型。
如:[int] $b = 5
常見變數類型如下:
二、常量
三、數組
PowerShell注釋用法:
PowerShell運算符用法:
運算符如下:
1.算術二元運算符:
2.賦值運算符
3.邏輯運算符
PowerShell函數用法:
用法一如下:(函數中改變變數值並不影響實際值)
執行結果:
用法二如下:(函數中變數值的改變要用$Script:var的形式)
執行結果:
PowerShell條件控制的用法:
一、循環類
1.foreach的用法
用法一如下:
執行結果:
用法二如下:直接獲取管道數據
執行結果:
2.while的用法
用法一如下:
n -le 5) #當 n
$n++
}
執行結果:
用法一如下:
n
n -ne 3) #當$n<>3時進行循環操作
執行結果:
用法一如下:
n
n -gt 3) #當$n>3時停止操作
執行結果:
二、分支類
1.if用法
if語法結構如下:
用法如下:
執行結果:
2.switch用法
switch語法結構如下:
用法一如下: switch(表達式)
執行結果:
用法二如下:switch -casesensitive (表達式)表示區分大小寫
執行結果: It's Monday
用法三如下:switch -regex(表達式)表示正則表達式匹配
執行結果:字母+數字,匹配為:day6
用法四如下:switch -regex(表達式)表示正則表達式匹配 表達式可為數組
執行結果:字母+數字,匹配為:day5
用法五如下:switch -wildcard (表達式)表示通配符匹配
執行結果:day2,匹配為:day2
三、跳轉類
1.break用法:break語句出現在foreach、for、while、switch等結構中時,break語句將使windows powershell立即退出整個循環。
用法如下:
執行結果:
2.continue用法:continue語句出現在foreach、for、while等循環結構中時,continue語句將使windows powershell立即退出某一次輪循環,並繼續下一輪循環。
用法如下:
執行結果:
PowerShell拋出異常的Throw用法:
用法如下:
返回結果:danger 及詳細錯誤信息
PowerShell獲取出錯信息的用法:
用法如下:
function one
{
get-process -ea stop #-ea定義錯誤發生以後該如何繼續執行,意同-ErrorAction
get-childitem ada -ErrorAction stop #此處有錯誤 路徑ada不存在
get-process -ErrorAction stop
}
返回結果:報出錯誤信息
PowerShell單步調試的用法:
用法如下:
執行結果:會出現逐步調試的對話框
本文轉自 https://www.cnblogs.com/feng-zi/p/9935874.html
❼ 如何在命令行執行 powershell 腳本
方法一:
首先按Win+R鍵,然後輸入powershell,打開命令行,然後切換到powershell腳本所在的目錄下,例如:腳本1.ps1在桌面上
cdC:UsersAdministratorDesktop
2. 執行腳本時輸入.1.ps1即可執行腳本。
.1.ps1
方法二:直接在命令行輸入1.ps1腳本的全路徑,然後回車即可執行。
C:UsersAdministratorDesktop1.ps1
❽ windows powershell是什麼
Windows PowerShell是什麼,有什麼功能或作用,如何使用?
Windows 10時代帶來了一個強大的工具Windows PowerShell。他必將成為CMD的繼任者,成為下一代命令行工具。這是一種命令行界面和腳本語言,專門為系統管理而設計。Windows PowerShell使得IT管理員更容易地控制系統管理和加速自動化。Windows PowerShell 中的簡單命令工具(稱為 cmdlet)允許通過命令行管理企業中的計算機。通過 Windows PowerShell 提供程序,可以像訪問文件系統那樣方便地訪問數據存儲,如注冊表和證書存儲。 此外,Windows PowerShell 還完全支持所有 Windows Management Instrumentation (WMI) 類。最重要的是允許我們進行擴展, 可以編寫自己的 cmdlet、提供程序、函數和腳本,並可以在模塊中將其打包以便與其他用戶共享。
一、在Windows 中的Windows PowerShell中進行了以下更改:
1、新的 cmdlet:包含 100 多個新的 cmdlet,包括 Get-Hotfix、Send-MailMessage、Get-ComputerRestorePoint、New- WebServiceProxy、Debug-Process、Add-Computer、Rename-Computer、Reset- ComputerMachinePassword 和 Get-Random。
2、遠程管理:可以使用一個命令在一台計算機或數百台計算機上運行命令。 可以建立與單台計算機的互動式會話。 還可以建立能從多台計算機接收遠程命令的會話。
3、Windows PowerShell 集成腳本環境 (ISE):一個圖形用戶界面,方便在同一個窗口中運行命令並撰寫、編輯、運行、測試和調試腳本。
4、後台作業:利用 Windows PowerShell 後台作業,可以「在後台」非同步運行多個命令,從而可以繼續在會話中工作。 可以在本地或遠程計算機上運行後台作業,並可以本地或遠程存儲結果。
5、調試程序:可以設置和刪除斷點,逐步執行代碼,檢查變數值,以及顯示調用堆棧跟蹤。
6、模塊:Windows PowerShell 模塊允許將 Windows PowerShell 腳本和函數組織到獨立單元中。 您可以將 cmdlet、提供程序、腳本、函數及其他文件打包到可分發給其他用戶的模塊中。 用戶安裝和使用模塊比安裝和使用 Windows PowerShell 管理單元更加方便。 模塊可以包括任何類型的文件,包括音頻文件、圖像、幫助文件和圖標。 模塊在單獨的會話中運行,以避免名稱沖突。
7、事務:Windows PowerShell 現在支持事務,從而允許按邏輯單元管理一組命令。 可以提交事務,也可以完全撤銷事務,使事務不更改受影響的數據。
8、事件:Windows PowerShell 包括新事件基礎結構,該事件基礎結構允許創建事件,訂閱系統和應用程序事件,然後同步和非同步偵聽、轉發和操作事件。
9高級函數:高級函數的行為很像 cmdlet,不過是使用 Windows PowerShell 腳本語言而不是 C# 編寫的。
10、腳本國際化:腳本和函數可用多種語言向用戶顯示消息和幫助文本。
11、聯機幫助:除了命令行中的幫助之外,Get-Help cmdlet 具有一個新的 Online 參數,使用該參數可以打開 Microsoft TechNet 上每個幫助主題的完整、更新的版本。
二、新增功能和更改功能有哪些優點?
Windows PowerShell 除了提供許多其他功能之外還提供了以下新的管理功能。
遠程管理:Windows PowerShell 遠程管理功能使用戶能夠連接到其所有計算機上的 Windows PowerShell 命令並運行它們。 IT 專業人士可以使用它來監視和維護計算機,分發更新,運行腳本和後台作業,收集數據,以及對一台計算機或對數百台計算機進行統一、優化的更改。
Windows PowerShell ISE:Windows PowerShell ISE 使得使用 Windows PowerShell 更為輕松和高效。 初學者將非常慶幸軟體提供語法顏色和上下文相關幫助。 多行編輯功能使得嘗試從幫助主題和其他源復制內容的示例變得很輕松。 高級用戶將非常慶幸軟體提供多個執行環境、內置調試程序和 Windows PowerShell ISE 對象模型的擴展性。
模塊:Windows PowerShell 模塊使得 cmdlet 和提供程序作者組織和分發工具和解決方案更為輕松。 而且,這些模塊使得用戶安裝工具並將工具添加到其 Windows PowerShell 會話變得更加容易。 IT 專業人士可以使用模塊在其企業中分發已測試和已審批的解決方案,並與社區中其他專業人士共享這些解決方案。
事務:Windows PowerShell 事務使您能夠使用 Windows PowerShell 來進行可能必須作為一個單位進行回滾或提交的更改(如資料庫更新和對注冊表的更改)。
在使用的過程中,我們要學會善用Windows PowerShell幫助
Windows PowerShell是新的命令和腳本規范,初學者會有一定的陌生感不容易上手。其實,善用Windows PowerShell幫助可以幫助大家盡快了解其命令規范。
三、那麼來運行Windows PowerShell看看
要想在windows 7系統中啟動windows powerShell非常簡單,點擊「開始」按鈕後在底部的搜索欄內輸入PowerShell,在搜索結果內選擇windows powerShell即可進入命令行模式的界面,選擇windows powerShell V2 ISE 後就可以進入到windows powerShell的圖形窗口模式。此外也可以在傳統的CMD窗口中輸入PowerShell後按下回車運行PowerShell。
在PowerShell中輸入並執行「get-command」會返回Windows PowerShell提供的129個命令的信息,這些命令囊括了管理服務、進程、事件日誌、證書、注冊表以及使用 Windows Management Instrumentation (WMI)等系統管理的方方面面。如果要獲取其中的某個命令的使用幫助信息,比如我們要獲取「get-command」這個命令的使用幫助,可以執行命令「get-help get-command」,獲取其他命令的幫助信息的方法類似。
另外,為大家提供幾個很實用的技巧。如果命令的幫助信息比較多,一屏呈不下可用通道符號「|」進行分屏顯示,例如「get-command | more」將逐屏顯示Windows PowerShell所有的程序集。「get-help get-service -full」將會顯示get-service這一程序集的詳細幫助(包括示例)。「get-help get-service –parameter *」將會列出Get-Service程序集的所有參數及參數說明。「help get-service –parameter *」作用和前面一個命令一樣,但是將會逐屏顯示。有時基於需要我們還需要使用通配符,Windows PowerShell中的通配符使用與CMD有區別,可以執行命令「get-help about_wildcard」獲取通配符使用的幫助信息。
四、PowerShell應用
PowerShell可以方便地查看和結束系統內的進程,這樣不僅可以監控系統內的可疑進程,還可以輕松地將其關閉。要想查看當前系統 內的進程,就需要打開PowerShell,輸入 get-process後按下回車,這樣系統中進程的句柄,進程名,進程佔用處理器時間和進程唯一標識符就會顯示出來。如果要結束某個或多個進程,就需要 記錄下進程的唯一標識符,在PowerShell中輸入Stop-process後根據提示輸入一個或多個進程的ID,按下回車後進程即可被自動結束。
❾ powershell是不是迄今最強大的命令行工具
比起cmd命令行是強大得多,畢竟多了很多命令。。。但是衡量一個命令行工具是否強大,主要是看其他軟體對他的支持,目前國外主流廠商產品對Powershell支持不錯,但是國內的話。。。
個人理解,Powershell再強大也只能在windows系統上用,就像Bash只能在Unix上用一樣(裝
Cygwin的不算)。只是因為大部分微軟的應用對Powershell都支持很好,其實Powershell腳本的核心其實是對dotNet的調用,所以基本上dotNet可以做的,Powershell也能做!
另外,微軟將發布一個windows server版本,通過取消圖形界面,純粹使用Powershell進行操作,極大的降低了系統運行成本。