麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 開發(fā) > PowerShell > 正文

Powershell實(shí)現(xiàn)編寫和運(yùn)行腳本

2020-10-29 20:56:42
字體:
供稿:網(wǎng)友

一個(gè)Powershell僅僅是一個(gè)包含Powershell代碼的文本文件。如果這個(gè)文本文件執(zhí)行,Powershell解釋器會(huì)逐行解釋并執(zhí)行它的的語句。Powershell腳本非常像以前CMD控制臺(tái)上的批處理文件。您可以通過非常簡單的文本編輯工具創(chuàng)建Powershell腳本。

通過重定向創(chuàng)建腳本

如果您的腳本不是很長,您甚至可以直接在控制臺(tái)中要執(zhí)行的語句重定向給一個(gè)腳本文件。

PS E:> '"Hello,Powershell Script"' > MyScript.ps1PS E:> ./MyScript.ps1Hello,Powershell Script

這樣有個(gè)缺點(diǎn),就是您的代碼必須放在閉合的引號(hào)中。這樣的書寫方式一旦在腳本內(nèi)部也有引號(hào)時(shí),是一件很痛苦的事。甚至您還可能希望在腳本中換行。下面的Here-strings例子不錯(cuò),也就是將腳本文件通過@‘ '@閉合起來。

PS E:> @'>> Get-Date>> $Env:CommonProgramFiles>> #Script End>> "files count">> (ls).Count>> #Script Really End>>>> '@ > myscript.ps1>>PS E:> .MyScript.ps12012年4月27日 8:15:10C:/Program Files/Common Filesfiles count20

Here-String以 @‘開頭,以'@結(jié)束.任何文本都可以存放在里面,哪怕是一些特殊字符,空號(hào),白空格。但是如果您不小心將單引號(hào)寫成了雙引號(hào),Powershell將會(huì)把里面的變量進(jìn)行解析。

通過編輯器創(chuàng)建腳本

其實(shí)非常方便的還是最地道的文版編輯器Notepad,您可以直接在Powershell控制臺(tái)中打開Notepad

PS E:> notepad.exe ./MyScript.ps1PS E:> notepad.exe

編輯完記得保存即可。

運(yùn)行Powershell腳本

當(dāng)您的腳本編寫成功后您可能第一次會(huì)像下面的方式運(yùn)行它,也就是只輸入腳本的文件名,會(huì)報(bào)錯(cuò)。

PS E:> MyScript.ps1

無法將“MyScript.ps1”項(xiàng)識(shí)別為 cmdlet、函數(shù)、腳本文件或可運(yùn)行程序的名稱。請檢查名稱的拼寫,如果包括
路徑,請確保路徑正確,然后重試。
所在位置 行:1 字符: 13
+ MyScript.ps1 < <<<
+ CategoryInfo : ObjectNotFound: (MyScript.ps1:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException

Suggestion [3,General]: 未找到命令 MyScript.ps1,但它確實(shí)存在于當(dāng)前位置。Windows PowerShell 默認(rèn)情況
下不從當(dāng)前位置加載命令。如果信任此命令,請改為鍵入 ".MyScript.ps1"。有關(guān)更多詳細(xì)信息,請參閱 "get-h
elp about_Command_Precedence"。
除非您使用相對路徑,或者絕對路徑

PS E:> ./MyScript.ps12012年4月27日 8:33:03C:/Program Files/Common Filesfiles count20PS E:> E:MyScript.ps12012年4月27日 8:33:11C:/Program Files/Common Filesfiles count20

執(zhí)行策略限制

Powershell一般初始化情況下都會(huì)禁止腳本執(zhí)行。腳本能否執(zhí)行取決于Powershell的執(zhí)行策略。

PS E:> ./MyScript.ps1

無法加載文件 E:MyScript.ps1,因?yàn)樵诖讼到y(tǒng)中禁止執(zhí)行腳本。有關(guān)詳細(xì)信息,請參閱 "get-help about_sign
ing"。
所在位置 行:1 字符: 15
+ .MyScript.ps1 < <<<
+ CategoryInfo : NotSpecified: (:) [], PSSecurityException
+ FullyQualifiedErrorId : RuntimeException
只有管理員才有權(quán)限更改這個(gè)策略。非管理員會(huì)報(bào)錯(cuò)。

查看腳本執(zhí)行策略,可以通過:

PS E:> Get-ExecutionPolicy

更改腳本執(zhí)行策略,可以通過

PS E:> Get-ExecutionPolicyRestrictedPS E:> Set-ExecutionPolicy UnRestricted

執(zhí)行策略更改

執(zhí)行策略可以防止您執(zhí)行不信任的腳本。更改執(zhí)行策略可能會(huì)使您面臨 about_Execution_Policies
幫助主題中所述的安全風(fēng)險(xiǎn)。是否要更改執(zhí)行策略?
[Y] 是(Y) [N] 否(N) [S] 掛起(S) [?] 幫助 (默認(rèn)值為“Y”): y
腳本執(zhí)行策略類型為:Microsoft.PowerShell.ExecutionPolicy
查看所有支持的執(zhí)行策略:

PS E:> [System.Enum]::GetNames([Microsoft.PowerShell.ExecutionPolicy])
Unrestricted
RemoteSigned
AllSigned
Restricted
Default
Bypass
Undefined
Unrestricted:權(quán)限最高,可以不受限制執(zhí)行任何腳本。
Default:為Powershell默認(rèn)的策略:Restricted,不允許任何腳本執(zhí)行。
AllSigned:所有腳本都必須經(jīng)過簽名才能在運(yùn)行。
RemoteSigned:本地腳本無限制,但是對來自網(wǎng)絡(luò)的腳本必須經(jīng)過簽名。

關(guān)于Powershell腳本的簽名在后續(xù)會(huì)談到。

像命令一樣執(zhí)行腳本

怎樣像執(zhí)行一個(gè)命令一樣執(zhí)行一個(gè)腳本,不用輸入腳本的相對路徑或者絕對路徑,甚至*.ps1擴(kuò)展名。
那就將腳本的執(zhí)行語句保存為別名吧:

PS E:> Set-Alias Invok-MyScript .MyScript.ps1PS E:> Invok-MyScript2012年4月28日 0:24:22C:/Program Files/Common Filesfiles count20

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 国产在线观看av | 成人aaaa免费全部观看 | 毛片视频在线免费观看 | 久久精品久久精品国产大片 | 欧美十区| 免费国产视频在线观看 | 成人羞羞视频在线观看免费 | 秋霞a级毛片在线看 | 久久tv免费国产高清 | 久久色播| 国产最新网站 | 欧美性生活免费视频 | 久久久久久久99 | 欧美成人国产va精品日本一级 | 91精品国产乱码久久久久久久久 | 毛片在线免费观看完整版 | 欧美一级精品片在线看 | 久久午夜神器 | 一本色道久久99精品综合蜜臀 | 成人免费一区二区三区视频网站 | 水卜樱一区二区av | 黄污在线观看 | 国产精品爆操 | 久久久久久久久成人 | 9191色| 久久亚洲网 | 性欧美xxxx极品摘花 | 国产午夜精品理论片a级探花 | 国产精品久久久免费看 | 毛片视频网址 | 看免费毛片 | 欧美高清第一页 | 久在线草| 欧美成人精品一区二区三区 | 黄色片免费看网站 | 成人污在线| 亚洲欧美成aⅴ人在线观看 免费看欧美黑人毛片 | 精品国产91久久久 | 久久99国产伦子精品免费 | 欧美视频在线观看一区 | 91网页视频入口在线观看 |