国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開(kāi)發(fā)設(shè)計(jì) > 正文

PowerShell入門(一):PowerShell能干什么?

2019-11-14 16:56:24
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

原文鏈接:http://www.survivalescaperooms.com/ceachy/archive/2013/01/30/WhatCanPowerShellDo.html 

PowerShell能干什么呢?就像序言中提到的那樣,PowerShell首先是個(gè)Shell,定義好了一堆命令與操作系統(tǒng),特別是與文件系統(tǒng)交互,能夠啟動(dòng)應(yīng)用程序,甚至操縱應(yīng)用程序;第二,PowerShell允許將幾個(gè)命令組合起來(lái)放到文件里執(zhí)行,實(shí)現(xiàn)文件級(jí)的重用,也就是說(shuō)有腳本的性質(zhì);第三,PowerShell能夠能夠充分利用.Net類型和COM對(duì)象,來(lái)簡(jiǎn)單地與各種系統(tǒng)交互,完成各種復(fù)雜的、自動(dòng)化的操作。

一、與文件系統(tǒng)交互、運(yùn)行應(yīng)用程序

  就像在Dos中一樣,在PowerShell的交互界面上鍵入"dir"并回車,會(huì)顯示當(dāng)前文件夾下的子文件夾和文件信息。

PS D:/PRojects/Practise/PowerShell> dir

Directory: D:/Projects/Practise/PowerShell

Mode                LastWriteTime     Length Name

----                -------------     ------ ----

d----         1/23/2013  12:35 PM            d1

d----         1/23/2013  12:35 PM            d2

-a---         1/21/2013   8:38 PM      36314 alias.tx

-a---         1/21/2013   8:32 PM     241530 cmdlets.

-a---         1/18/2013  10:18 AM        888 errors.t

  像這樣的命令很多,比如echo "Hello", cd ..等等。從這里看來(lái)它就是一個(gè)命令行,實(shí)現(xiàn)了原來(lái)命令行的功能。但PowerShell是命令行的加強(qiáng)版嗎,是命令行的超集嗎?這個(gè)真不是,以后會(huì)專門說(shuō)這個(gè)問(wèn)題。

  就像在命令行里運(yùn)行應(yīng)用程序一樣,可以在PowerShell的交互窗口中運(yùn)行應(yīng)用程序,如下:

PS C:/Users/v-lukez> notepad

PS C:/Users/v-lukez>

如果想更好地控制應(yīng)用程序,可以使用start命令,如下:

PS C:/Users/v-lukez> start notepad -WindowStyle Maximized

PS C:/Users/v-lukez>

以上結(jié)果可以實(shí)現(xiàn)Notepad窗口的最大化。其實(shí)類似的命令還有很多,而且更多的參數(shù)意味著更精細(xì)地控制。

二、創(chuàng)建腳本

  任務(wù)的自動(dòng)化是以程序文件或者可執(zhí)行腳本文件為基礎(chǔ)的,PowerShell也支持將命令列表做成腳本文件來(lái)執(zhí)行。以下是Hello.ps1腳本文件的內(nèi)容:

$a = "Hello"

$a

echo $a > a.txt

dir a.txt

Hello.ps1腳本文件的執(zhí)行情況結(jié)果如下:

PS E:/> D:/Projects/Practise/PowerShell/Hello.ps1

Hello

Directory: E:/

Mode                LastWriteTime     Length   Name                                                                     

----                -------------     ------ ----                                                                     

-a---         1/30/2013   4:56 PM         16 a.txt                                                                   

你可能發(fā)現(xiàn)了,PowerShell腳本文件是以.PS1為擴(kuò)展名的。以上這個(gè)腳本非常簡(jiǎn)單:先定義了一個(gè)變量,然后輸出這個(gè)變量的結(jié)果,再將這個(gè)變量的值寫入文件a.txt,最后輸出這個(gè)文件的屬性信息。僅從這一點(diǎn)看,PowerShell腳本很像Batch文件。但是實(shí)際上,PowerShell可以做得更多。

  PowerShell腳本支持自定義函數(shù),就像我們?cè)诰幊陶Z(yǔ)言中做得那樣。funcDemo.ps1給出了一個(gè)在PowerShell腳本中編寫函數(shù)的示例:

#funcDemo.ps1

function SayHello ($name)

{

echo "hello $name"

}

SayHello "Luke"

腳本的運(yùn)行結(jié)果是“Hello Luke”。

此外,關(guān)于PowerShell腳本內(nèi)部語(yǔ)句的運(yùn)行順序,這里要做個(gè)簡(jiǎn)單說(shuō)明:除了函數(shù)定義,腳本中的命令或者函數(shù)調(diào)用(其實(shí)也相當(dāng)于執(zhí)行命令)會(huì)順序執(zhí)行;函數(shù)中的語(yǔ)句只有在函數(shù)被調(diào)用的時(shí)候才會(huì)被執(zhí)行。

三、利用.Net類型和COM對(duì)象

  能夠利用.Net類型和COM對(duì)象是PowerShell的最大特點(diǎn),這讓PowerShell能夠最大限度的利用現(xiàn)有資源,并且很容易把.Net和COM程序員招徠到自己麾下。

 簡(jiǎn)單類型:

[int]$a = 10

[String]$b = 10

 .Net類型

$Message = new-object Net.Mail.MailMessage("me@source.com","you@destination.com", "Subject", <br>  "Here is some email")

 COM對(duì)象

$myWord = new-object -comobject Word.application

  創(chuàng)建了.Net或者COM的對(duì)象以后,就可以利用這些對(duì)象的屬性和方法,來(lái)完成更加復(fù)雜的操作。

  作為本篇結(jié)束,用一句話總結(jié),PowerShell吃得很少,干活很多,是Windows管理員日常必備的工具之一。走過(guò)路過(guò),千萬(wàn)不要錯(cuò)過(guò)啊。。。


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 崇礼县| 江安县| 师宗县| 两当县| 揭阳市| 色达县| 邻水| 揭西县| 报价| 新田县| 宁乡县| 抚松县| 临沧市| 炉霍县| 石门县| 长武县| 伊宁县| 华坪县| 封丘县| 邵武市| 铁岭县| 青龙| 正阳县| 伊金霍洛旗| 屏南县| 买车| 托克托县| 玉溪市| 临沧市| 新田县| 鄂州市| 岱山县| 四平市| 运城市| 介休市| 赤水市| 大厂| 大同县| 渝中区| 福建省| 正宁县|