Powershell————2、Powershell互動式
Powershell進行數學運算
我們可以把powershell當成一個計算器。和鍵入命令列那樣輸入數學表示式,回車,powershell會自動計算並把結果輸出。常用的加減乘除模(+,-,*,/,%)運算和小括號表示式都支援。
PowerShell也能自動識別計算機容量單位,包括KB,MB,GB,TB,PB
假如一個網站每個頁面大小為80kb,統計顯示每天的PV操作為800,1個月下來佔用的頻寬:
假如一個網站的每天人均PV操作為5,頁面大小為80Kb,主機提供商限制的總流量為10G,那平均每天的最大訪客數為:
執行外部命令
通過netstat檢視網路埠狀態
PS C:\PS> netstat Active Connections Proto Local Address Foreign Address State TCP 192.168.0.100:3049 192.168.0.88:7575 ESTABLISHED TCP 192.168.0.100:3052 192.168.0.88:7575 ESTABLISHED TCP 192.168.0.100:3061 192.168.0.88:7575 ESTABLISHED
使用ipconfig檢視自己的網路配置
PS C:\PS> ipconfig Windows IP Configuration Ethernet adapter Local Area Connection: Connection-specific DNS Suffix . : www.mossfly.com Link-local IPv6 Address . . . . . : fe80::b9dd:91e33:33f0:7885%10 IPv4 Address. . . . . . . . . . . : 192.168.140.100 Subnet Mask . . . . . . . . . . . : 255.255.252.0 Default Gateway . . . . . . . . . : 192.168.140.1 Tunnel adapter isatap.www.mossfly.com: Connection-specific DNS Suffix . : www.mossfly.com Link-local IPv6 Address . . . . . : fe80::5efe:192.168.140.100%11 Default Gateway . . . . . . . . . : Tunnel adapter Teredo Tunneling Pseudo-Interface: Media State . . . . . . . . . . . : Media disconnected Connection-specific DNS Suffix . :
檢視路由資訊
PS C:\PS> route print IPv4 Route Table =========================================================================== Active Routes: Network Destination Netmask Gateway Interface Metric 0.0.0.0 0.0.0.0 192.168.140.1 192.168.140.100 20 192.0.0.0 255.0.0.0 On-link 192.0.0.1 306 192.0.0.1 255.255.255.255 On-link 192.0.0.1 306 192.255.255.255 255.255.255.255 On-link 192.0.0.1 306 192.168.140.0 255.255.252.0 On-link 192.168.140.100 276 192.168.140.100 255.255.255.255 On-link 192.168.140.100 276 192.168.143.255 255.255.255.255 On-link 192.168.140.100 276 224.0.0.0 240.0.0.0 On-link 192.0.0.1 306 224.0.0.0 240.0.0.0 On-link 192.168.140.100 276 255.255.255.255 255.255.255.255 On-link 192.0.0.1 306 255.255.255.255 255.255.255.255 On-link 192.168.140.100 276 =========================================================================== Persistent Routes: None IPv6 Route Table =========================================================================== Active Routes: If Metric Network Destination Gateway 1 306 ::1/128 On-link 10 276 fe80::/64 On-link 11 281 fe80::5efe:192.168.140.100/128 On-link 10 276 fe80::b965:91f3:33a0:7285/128 On-link 1 306 ff00::/8 On-link 10 276 ff00::/8 On-link =========================================================================== Persistent Routes: None
啟動CMD控制檯鍵入cmd或者cmd.exe,退出cmd可以通過命令exit。
PS C:\PS> cmd Microsoft Windows [Version 6.1.7601] Copyright (c) 2009 Microsoft Corporation. All rights reserved. C:\PS>exit PS C:\PS>
查詢可用的cmd控制檯命令
cmd.exe 通過 /c 來接收命令引數,在cmd中help可以檢視可用的命令,所以可以通過dmd /c help 查詢可用的cmd控制檯命令
PS C:\PS> cmd /c help 有關某個命令的詳細資訊,請鍵入 HELP 命令名 ASSOC 顯示或修改副檔名關聯。 ATTRIB 顯示或更改檔案屬性。 BREAK 設定或清除擴充套件式 CTRL+C 檢查。 BCDEDIT 設定啟動資料庫中的屬性以控制啟動載入。 CACLS 顯示或修改檔案的訪問控制列表(ACL)。 CALL 從另一個批處理程式呼叫這一個。 CD 顯示當前目錄的名稱或將其更改。 CHCP 顯示或設定活動內碼表數。 CHDIR 顯示當前目錄的名稱或將其更改。 CHKDSK 檢查磁碟並顯示狀態報告。 CHKNTFS 顯示或修改啟動時間磁碟檢查。 CLS 清除螢幕。 CMD 開啟另一個 Windows 命令解釋程式視窗。 COLOR 設定預設控制檯前景和背景顏色。 COMP 比較兩個或兩套檔案的內容。 COMPACT 顯示或更改 NTFS 分割槽上檔案的壓縮。 CONVERT 將 FAT 卷轉換成 NTFS。您不能轉換 當前驅動器。 COPY 將至少一個檔案複製到另一個位置。 DATE 顯示或設定日期。 DEL 刪除至少一個檔案。 DIR 顯示一個目錄中的檔案和子目錄。 DISKCOMP 比較兩個軟盤的內容。 DISKCOPY 將一個軟盤的內容複製到另一個軟盤。 DISKPART 顯示或配置磁碟分割槽屬性。 DOSKEY 編輯命令列、呼叫 Windows 命令並建立巨集。 DRIVERQUERY 顯示當前裝置驅動程式狀態和屬性。 ECHO 顯示訊息,或將命令回顯開啟或關上。 ENDLOCAL 結束批檔案中環境更改的本地化。 ERASE 刪除一個或多個檔案。 EXIT 退出 CMD.EXE 程式(命令解釋程式)。 FC 比較兩個檔案或兩個檔案集並顯示它們之間的不同。 FIND 在一個或多個檔案中搜尋一個文字字串。 FINDSTR 在多個檔案中搜尋字串。 FOR 為一套檔案中的每個檔案執行一個指定的命令。 FORMAT 格式化磁碟,以便跟 Windows 使用。 FSUTIL 顯示或配置檔案系統的屬性。 FTYPE 顯示或修改用在副檔名關聯的檔案型別。 GOTO 將 Windows 命令解釋程式指向批處理程式 中某個帶標籤的行。 GPRESULT 顯示機器或使用者的組策略資訊。 GRAFTABL 啟用 Windows 在圖形模式顯示擴充套件字符集。 HELP 提供 Windows 命令的幫助資訊。 ICACLS 顯示、修改、備份或還原檔案和 目錄的 ACL。 IF 在批處理程式中執行有條件的處理過程。 LABEL 建立、更改或刪除磁碟的卷標。 MD 建立一個目錄。 MKDIR 建立一個目錄。 MKLINK 建立符號連結和硬連結 MODE 配置系統裝置。 MORE 逐屏顯示輸出。 MOVE 將一個或多個檔案從一個目錄移動到另一個目錄。 OPENFILES 顯示遠端使用者為了檔案共享而開啟的檔案。 PATH 為可執行檔案顯示或設定搜尋路徑。 PAUSE 停止批處理檔案的處理並顯示資訊。 POPD 還原由 PUSHD 儲存的當前目錄上一次的值。 PRINT 列印一個文字檔案。 PROMPT 改變 Windows 命令提示。 PUSHD 儲存當前目錄,然後對其進行更改。 RD 刪除目錄。 RECOVER 從損壞的磁碟中恢復可讀取的資訊。 REM 記錄批處理檔案或 CONFIG.SYS 中的註釋。 REN 重新命名檔案。 RENAME 重新命名檔案。 REPLACE 替換檔案。 RMDIR 刪除目錄。 ROBOCOPY 複製檔案和目錄樹的高階實用程式 SET 顯示、設定或刪除 Windows 環境變數。 SETLOCAL 開始用批檔案改變環境的本地化。 SC 顯示或配置服務(後臺處理)。 SCHTASKS 安排命令和程式在一部計算機上按計劃執行。 SHIFT 調整批處理檔案中可替換引數的位置。 SHUTDOWN 讓機器在本地或遠端正確關閉。 SORT 將輸入排序。 START 開啟單獨視窗執行指定程式或命令。 SUBST 將驅動器號與路徑關聯。 SYSTEMINFO 顯示機器的具體的屬性和配置。 TASKLIST 顯示包括服務的所有當前執行的任務。 TASKKILL 終止正在執行的程式或應用程式。 TIME 顯示或設定系統時間。 TITLE 設定 CMD.EXE 會話的視窗標題。 TREE 以圖形顯示啟動器或路徑的目錄結構。 TYPE 顯示文字檔案的內容。 VER 顯示 Windows 的版本。 VERIFY 告訴 Windows 驗證檔案是否正確寫入磁碟。 VOL 顯示磁碟卷標和序列號。 XCOPY 複製檔案和目錄樹。 WMIC 在互動命令外殼裡顯示 WMI 資訊。
啟動外部程式
為什麼可以通過notpad開啟記事本,不能通過wordpad開啟寫字板?
因為notepad.exe位於C:Windows\system32這個目錄,而這個目錄已經預設被包含在Powershell的環境變數$env:Path中。
C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\Program Files (x 86)\Windows Kits\8.1\Windows Performance Toolkit\;C:\Program Files\Microsoft SQL Server\110\Tools\Binn\;C:\Program File s (x86)\Microsoft SDKs\TypeScript\1.0\;C:\Program Files\Microsoft\Web Platform Installer\
而wordpad.exe 所在的“%ProgramFiles%\WindowsNT\Accessories\wordpad.exe“目錄卻沒有包含,可以先進入這個目錄,再執行wordpad,或者將wordpad所在的目錄加入到環境變數中,
$env:Path=$env:Path+”%ProgramFiles%\Windows NT\Accessories”。
預設鍵入一個字串,powershell會將它原樣輸出,如果該字串是一個命令或者啟動程式,在字串前加‘&’可以執行命令,或者啟動程式。
PS C:\PS> "ls" ls PS C:\PS> &"ls" Directory: C:\PS Mode LastWriteTime Length Name ---- ------------- ------ ---- d---- 2011/11/23 17:25 ABC -a--- 2011/11/23 17:36 14 a.txt -a--- 2011/11/23 17:25 0 b.txt -a--- 2011/11/23 17:25 0 c.txt -a--- 2011/11/23 17:25 0 d.txt -a--- 2011/11/23 17:37 242 test.txt PS C:\PS> "cmd.exe" cmd.exe PS C:\PS> &"cmd.exe" Microsoft Windows [Version 6.1.7601] Copyright (c) 2009 Microsoft Corporation. All rights reserved.
別名
cmdlet 的名稱由一個動詞和一個名片語成,其功能對使用者來講一目瞭然。但是對於一個經常使用powershell命令的人每天敲那麼多命令也很麻煩啊。能不能把命令縮短一點呢?於是“別名”就應運而生了。Powershell內部也實現了很多常用命令的別名。例如Get-ChildItem,列出當前的子檔案或目錄。它有兩個別名:ls 和 dir,這兩個別名來源於unix 的shell和windows的cmd。
因此別名有兩個作用:
繼承:繼承unix-shell和windows-cmd。
方便:方便使用者使用。
處理別名:
查詢別名所指的真實cmdlet命令。
PS C:\PS> Get-Alias -name ls CommandType Name Definition ----------- ---- ---------- Alias ls Get-ChildItem PS C:\PS> Get-Alias -name dir CommandType Name Definition ----------- ---- ---------- Alias dir Get-ChildItem PS C:\PS> Get-Alias -name fl CommandType Name Definition ----------- ---- ---------- Alias fl Format-List PS C:\PS> Get-Alias -name ft CommandType Name Definition ----------- ---- ---------- Alias ft Format-Table
檢視可用的別名
檢視可用的別名,可以通過” ls alias:” 或者 ”Get-Alias“
如何檢視所有以Remove打頭的cmdlet的命令的別名呢?
PS C:\PS> dir alias: | where {$_.Definition.Startswith("Remove")} CommandType Name Definition ----------- ---- ---------- Alias del Remove-Item Alias erase Remove-Item Alias rbp Remove-PSBreakpoint Alias rd Remove-Item Alias rdr Remove-PSDrive Alias ri Remove-Item Alias rjb Remove-Job Alias rm Remove-Item Alias rmdir Remove-Item Alias rmo Remove-Module Alias rp Remove-ItemProperty Alias rsn Remove-PSSession Alias rsnp Remove-PSSnapin Alias rv Remove-Variable Alias rwmi Remove-WMIObject
說明:dir alias:獲取的是別名的陣列,通過where對陣列元素進行遍歷,$_代表當前元素,alias的Definition為String型別,因為powershell支援.net,.net中的string類有一個方法Startswith。通過where過濾集合在powershell中使用非常廣泛。
有的cmdlet命令可能有2-3個別名,我們可以通過下面的命令檢視所有別名和指向cmdlet的別名的個數。
PS C:\PS> ls alias: | Group-Object definition | sort -Descending Count Count Name Group ----- ---- ----- 6 Remove-Item {del, erase, rd, ri...} 3 Set-Location {cd, chdir, sl} 3 Get-History {ghy, h, history} 3 Get-ChildItem {dir, gci, ls} 3 Get-Content {cat, gc, type} 3 Move-Item {mi, move, mv} 3 Copy-Item {copy, cp, cpi} 2 Start-Process {saps, start} 2 Set-Variable {set, sv} 2 Write-Output {echo, write} 2 Get-Process {gps, ps} 2 Invoke-History {ihy, r} 2 New-PSDrive {mount, ndr} 2 Stop-Process {kill, spps} 2 Rename-Item {ren, rni} 2 Get-Location {gl, pwd} 2 Compare-Object {compare, diff} 2 Where-Object {?, where} 2 ForEach-Object {%, foreach} 2 Clear-Host {clear, cls} 1 Out-Host {oh} 1 New-PSSession {nsn} 1 New-Variable {nv} 1 Out-GridView {ogv} 1 Pop-Location {popd} 1 Tee-Object {tee} 1 Remove-PSBreakpoint {rbp} 1 Receive-Job {rcjb} 1 Push-Location {pushd} 1 mkdir {md} 1 Measure-Object {measure} 1 help {man} 1 Remove-PSSnapin {rsnp} 1 Out-Printer {lp} 1 New-Item {ni} 1 New-Module {nmo} 1 New-Alias {nal} 1 Move-ItemProperty {mp} 1 Wait-Job {wjb} 1 Remove-PSDrive {rdr} 1 Start-Service {sasv} 1 Set-PSBreakpoint {sbp} 1 Set-ItemProperty {sp} 1 Start-Job {sajb} 1 Set-Alias {sal} 1 Start-Sleep {sleep} 1 Set-Item {si} 1 Select-Object {select} 1 Set-Content {sc} 1 Sort-Object {sort} 1 Remove-WMIObject {rwmi} 1 Remove-Module {rmo} 1 Rename-ItemProperty {rnp} 1 Stop-Service {spsv} 1 Set-WMIInstance {swmi} 1 Remove-Job {rjb} 1 Remove-Variable {rv} 1 Resolve-Path {rvpa} 1 Stop-Job {spjb} 1 Remove-ItemProperty {rp} 1 Remove-PSSession {rsn} 1 Exit-PSSession {exsn} 1 Format-Custom {fc} 1 Enter-PSSession {etsn} 1 Export-Csv {epcsv} 1 Export-PSSession {epsn} 1 Format-List {fl} 1 Get-PSBreakpoint {gbp} 1 Get-Command {gcm} 1 Get-Alias {gal} 1 Format-Table {ft} 1 Format-Wide {fw} 1 Export-Alias {epal} 1 Clear-History {clhy} 1 Clear-Item {cli} 1 Clear-Content {clc} 1 Add-Content {ac} 1 Add-PSSnapIn {asnp} 1 Clear-ItemProperty {clp} 1 Disable-PSBreakpoint {dbp} 1 Enable-PSBreakpoint {ebp} 1 Convert-Path {cvpa} 1 Clear-Variable {clv} 1 Copy-ItemProperty {cpp} 1 Invoke-Expression {iex} 1 Invoke-Item {ii} 1 Invoke-Command {icm} 1 Get-Variable {gv} 1 Get-WmiObject {gwmi} 1 Import-Alias {ipal} 1 powershell_ise.exe {ise} 1 Invoke-WMIMethod {iwmi} 1 Import-PSSession {ipsn} 1 Import-Csv {ipcsv} 1 Import-Module {ipmo} 1 Get-Unique {gu} 1 Get-Job {gjb} 1 Get-Member {gm} 1 Get-Item {gi} 1 Get-PSCallStack {gcs} 1 Get-PSDrive {gdr} 1 Get-Module {gmo} 1 Get-PSSnapIn {gsnp} 1 Get-Service {gsv} 1 Get-PSSession {gsn} 1 Get-ItemProperty {gp} 1 Group-Object {group}
建立自己的別名
給記事本建立一個別名,並檢視該別名;
PS C:\PS> Set-Alias -Name Edit -Value notepad PS C:\PS> Edit PS C:\PS> $alias:Edit notepad
刪除自己的別名
別名不用刪除,自定義的別名在powershell退出時會自動清除。但是請放心,powershell內建別名(諸如ls,dir,fl等)不會清除。如果你非得手工刪除別名。請使用
PS C:\PS> del alias:Edit
儲存自己的別名
可以使用Export-Alias將別名匯出到檔案,需要時再通過Import-Alias匯入。但是匯入時可能會有異常,提示別名已經存在無法匯入:
PS C:\PS> Import-Alias alias.ps1 Import-Alias : Alias not allowed because an alias with the name 'ac' already exists. At line:1 char:13 + Import-Alias <<<< alias.ps1 + CategoryInfo : ResourceExists: (ac:String) [Import-Alias], SessionStateException + FullyQualifiedErrorId : AliasAlreadyExists,Microsoft.PowerShell.Commands.ImportAliasCommand
這時可以使用Force強制匯入。
PS C:\PS> Export-Alias alias.ps1 PS C:\PS> Import-Alias -Force alias.ps1
Powershell 通過函式擴充套件別名
在Powershell中設定別名的確方便快捷,但是在設定別名的過程中並設定引數的相關資訊。儘管別名會自動識別引數,但是如何把經常使用的引數預設設定在別名裡面呢?例如Test-Connection-Count 2 -ComputerName,讓-“-Count 2” 固化在別名中。
這時簡單的別名無法完成上述需求,可以通過函式來完成它,並且一旦把函式拉過來,定義別名會變得更加靈活。
PS C:\PS> function test-conn { Test-Connection -Count 2 -ComputerName $args} PS C:\PS> Set-Alias tc test-conn PS C:\PS> tc localhost Source Destination IPV4Address IPV6Address Bytes Time(ms) ------ ----------- ----------- ----------- ----- -------- test-me-01 localhost 127.0.0.1 ::1 32 0 test-me-01 localhost 127.0.0.1 ::1 32 0
Powershell執行檔案和指令碼
像執行可執行檔案一樣,Powershell執行檔案和指令碼,也必須使用絕對路徑或者相對路徑,或者要執行的檔案必須定義在可受信任的環境變數中。
關於指令碼
指令碼和批處理都屬於偽可執行檔案,它們只是包含了若干命令列直譯器能夠解釋和執行的命令列程式碼。
執行批處理檔案
批處理是副檔名為”.bat”的文字檔案,它可以包含任何cmd控制檯能夠處理的命令。當批處理檔案被開啟,Cmd控制檯會逐行執行每條命令。那Powershell能夠直接執行批處理嗎?
將下列命令儲存為ping.bat
@echo off echo batch File Test pause Dir %windir%/system
然後執行ping
螢幕會列印ping命令幫助,說明呼叫的ping cmd 而不是ping.bat。
改為:
PS C:\PS> ./ping batch File Test Press any key to continue . . . Volume in drive C has no label. Volume Serial Number is 4E9B-D846 Directory of C:Windowssystem 2009/06/11 05:21 69,584 avicap.dll 2009/06/11 05:21 109,456 avifile.dll 2009/07/14 05:41 32,816 COMMDLG.DLL 2009/07/14 05:41 2,000 keyboard.drv 2009/06/11 05:42 9,936 lzexpand.dll 2009/06/11 05:21 73,376 mciavi.drv 2009/06/11 05:21 25,264 mciseq.drv 2009/06/11 05:21 28,160 mciwave.drv 2009/07/14 05:41 68,992 MMSYSTEM.DLL 2009/07/14 05:41 1,152 mmtask.tsk 2009/07/14 05:41 2,032 mouse.drv 2009/06/11 05:21 126,912 msvideo.dll 2009/06/11 05:42 82,944 olecli.dll 2009/07/14 05:41 24,064 OLESVR.DLL 2009/07/14 05:41 5,120 SHELL.DLL 2009/07/14 05:41 1,744 sound.drv 2009/06/11 05:25 5,532 stdole.tlb 2009/07/14 05:41 3,360 system.drv 2009/07/14 05:41 4,048 TIMER.DRV 2009/06/11 05:42 9,008 ver.dll 2009/07/14 05:41 2,176 vga.drv 2009/07/14 05:41 12,704 WFWNET.DRV 22 File(s) 700,380 bytes 2 Dir(s) 75,927,420,928 bytes free
這時執行的是批處理。
通過cmd進入cmd控制檯輸入ping發現執行的不是ping命令,而是直接執行ping.bat ,也就是說可以通過.bat 覆蓋cmd命令。這種機制很危險,如果有人侵入電腦,並將系統內部命令篡改成自己批處理,那就太悲劇了。 這種命令與指令碼的混淆不會發生在powershell中,因為powershell有更安全的機制。
執行VB指令碼檔案
將下列命令儲存為test.vbs
Set wmi = GetObject("winmgmts:") Set collection = wmi.ExecQuery("select * from Win32_Process") For Each process in collection WScript.Echo process.getObjectText_ Next
執行 .\test.vbs 會遍歷當前Win32程式,並把每個程式的詳細資訊通過視窗顯示出來。
怎樣讓VB指令碼的通過控制檯輸出呢?
Wscript //H:CScript
怎樣還原VB指令碼通過視窗輸出呢?
WScript //H:WScript
在powershell中執行VB指令碼
PS C:\PS> cscript.exe .test.vbs Microsoft (R) Windows Script Host Version 5.8 Copyright (C) Microsoft Corporation. All rights reserved. instance of Win32_Process { Caption = "System Idle Process"; CreationClassName = "Win32_Process"; CSCreationClassName = "Win32_ComputerSystem"; CSName = "test-me-01"; Description = "System Idle Process"; Handle = "0"; HandleCount = 0; KernelModeTime = "484113379271"; Name = "System Idle Process"; OSCreationClassName = "Win32_OperatingSystem"; OSName = "Microsoft Windows 7 Enterprise |C:Windows|DeviceHarddisk0Partition2"; OtherOperationCount = "0"; OtherTransferCount = "0"; PageFaults = 0; PageFileUsage = 0; ParentProcessId = 0; PeakPageFileUsage = 0; PeakVirtualSize = "0"; PeakWorkingSetSize = 0; Priority = 0; PrivatePageCount = "0"; ProcessId = 0; QuotaNonPagedPoolUsage = 0; QuotaPagedPoolUsage = 0; QuotaPeakNonPagedPoolUsage = 0; QuotaPeakPagedPoolUsage = 0; ReadOperationCount = "0"; ReadTransferCount = "0"; SessionId = 0; ThreadCount = 2; UserModeTime = "0"; VirtualSize = "0"; WindowsVersion = "6.1.7601"; WorkingSetSize = "24576"; WriteOperationCount = "0"; WriteTransferCount = "0"; };
執行powershell指令碼
Powershell擁有自己的指令碼,副檔名為“.ps1”
PS C:\PS> echo "dir;Get-PSProvider;help dir" >test.ps1 PS C:\PS> Get-Content ./test.ps1 dir;Get-PSProvider;help dir PS C:\PS> ./test.ps1
初次執行指令碼時,可能會碰到一個異常:
File ” C:\PS\test.ps1″ cannot be loadedbecause the
execution of scripts is disabled on this system. Please see
“get-help about_signing” for moredetails.
At line:1 char:10
+ .test.ps1 <<<<
這是powershell的預設安全設定禁用了執行指令碼,要啟用這個功能需要擁有管理員的許可權。
Powershell呼叫入口的優先順序
別名:控制檯首先會尋找輸入是否為一個別名,如果是,執行別名所指的命令。因此我們可以通過別名覆蓋任意powershell命令,因為別名的優先順序最高。
函式:如果沒有找到別名,會繼續尋找函式,函式類似別名,只不過它包含了更多的powershell命令。因此可以自定義函式擴充cmdlet 把常用的引數給固化進去。
命令:如果沒有找到函式,控制檯會繼續尋找命令,即cmdlet,powershell的內部命令。
指令碼:沒有找到命令,繼續尋找副檔名為“.ps1”的Powershell指令碼。
檔案:沒有找到指令碼,會繼續尋找檔案,如果沒有可用的檔案,控制檯會丟擲異常。
The term ‘now’ is notrecognized as the name of a cmdlet, function, script file, or operable program.Chec
g of the name, or if a path was included, verify that the path is correct andtry again.
At line:1 char:4
+ now <<<<
+ CategoryInfo : ObjectNotFound: (now:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
參考:pstips
相關文章
- Powershell tricks::Powershell RemotingREM
- Powershell————1、認識Powershell
- Windows PowerShellWindows
- PowerShell 使用
- PowerShell使用
- Powershell(3)
- [PowerShell] 快速入門, 基本語法, 常用型別, 函式, .NET 互操作型別函式
- powershell指令碼指令碼
- PowerShell HelpWriter 2021
- Powershell免殺
- Windows Powershell & 環境變數;Powershell where命令無輸出Windows變數
- Windows 升級 powershellWindows
- PowerShell安裝IIS
- powershell 版本問題
- Powershell tricks::Bypass AV
- Powershell and Windows RAW SOCKETWindows
- Linux 安裝 powershellLinux
- 【GiraKoo】PowerShell美化筆記筆記
- Powershell之MOF後門
- Powershell 提權框架-Powerup框架
- IPFS的PowerShell安裝
- powershell無法修改字符集,非修改登錄檔修改powershell的方法
- powershell重新命名指令碼指令碼
- PowerShell 筆記 - 基礎篇筆記
- Windows 下如何除錯 PowerShellWindows除錯
- 更改 Windows cmd 以及 PowerShell 字型Windows
- powershell程式碼混淆繞過
- Powershell tricks::Code Execution & Process Injection
- Unit42釋出powershell自動反混淆工具
- win10系統執行powershell提示找不到powershell.ink的解決方法Win10
- 利用powershell轉wps文件到pdf
- 繞過PowerShell執行策略方法
- powershell滲透-資訊收集命令
- 給大家安利一下 PowerShell
- [譯] PowerShell Core 6.0 的新增特性
- Powershell &amp;amp; Powersploit 入門
- 通過PowerShell管理Office 365組
- Powershell Linux正式版可用,啟動名稱有變Linux