您的位置: 首頁 >商業(yè) >

都是關(guān)于PowerShell提供程序和模塊的

2020-04-03 11:57:56 編輯: 來源:
導(dǎo)讀 我認(rèn)為是時候深入討論P(yáng)ower Shell的一些最重要的特性:提供商和模塊了。 (Snap-ins也很重要,但正在逐步淘汰。) 當(dāng)涉及到Power Shell中可用的所有命令時,這些確實(shí)是宇宙的核心,所以我想教你它們是什么,它們是如何工作的,以及如何在日?;顒又惺褂盟鼈儭?我們潛進(jìn)去吧! 當(dāng)你聽到“提供者”這個詞時,我打賭我們中的非發(fā)展中國家(我也包括我自己在這個群體中)開始退出。 這聽起來就像

我認(rèn)為是時候深入討論P(yáng)ower Shell的一些最重要的特性:提供商和模塊了。 (Snap-ins也很重要,但正在逐步淘汰。) 當(dāng)涉及到Power Shell中可用的所有命令時,這些確實(shí)是宇宙的核心,所以我想教你它們是什么,它們是如何工作的,以及如何在日?;顒又惺褂盟鼈?。 我們潛進(jìn)去吧!

當(dāng)你聽到“提供者”這個詞時,我打賭我們中的非發(fā)展中國家(我也包括我自己在這個群體中)開始退出。 這聽起來就像你在創(chuàng)建一個類和實(shí)例化一個用于循環(huán)的字符串,通過一個模型視圖控制器。

但這里不是這樣的。 讓我?guī)湍憬忾_這個,至少在Power Shell的背景下。

Power Shell供應(yīng)商本質(zhì)上就像操作系統(tǒng)的驅(qū)動程序,在操作系統(tǒng)中安裝一些代碼來幫助您的Windows副本與圖形硬件、存儲和磁盤子系統(tǒng)以及主板上的芯片組對話。 驅(qū)動程序包含“翻譯層”,這不是官方術(shù)語,因此Windows知道如何驅(qū)動硬件并使其適合您使用。

Power Shell供應(yīng)商是Power Shell除了文件系統(tǒng)之外導(dǎo)航事物的驅(qū)動程序。 提供商允許Power Shell遍歷注冊表、文件系統(tǒng)、Windows管理儀器(WMI)功能等。 第三方可以創(chuàng)建提供者:例如,Microsoft安裝的SQLServer提供程序允許您在數(shù)據(jù)庫上執(zhí)行Power Shell操作。

供應(yīng)商收集一些東西,不管他們試圖為Power Shell管理啟用什么資源,并使它看起來像一個文件系統(tǒng)或磁盤驅(qū)動器到Power Shell。 提供商被支持Power Shell管理的各種軟件包所使用,如Internet信息服務(wù)(微軟的Web服務(wù)器)和ActiveDirectory。

這是Power Shell的關(guān)鍵可擴(kuò)展特性之一,因?yàn)橐芾淼娜魏钨Y源或數(shù)據(jù)總是像驅(qū)動器一樣顯示出來。 此外,可以添加與相同數(shù)據(jù)存儲交互的新命令,無論是數(shù)據(jù)庫還是網(wǎng)站、郵箱存儲或其他任何東西的管理設(shè)置列表。 有點(diǎn)酷。

HPE贊助的品牌郵政

為資訊科技行業(yè)定義下一章:網(wǎng)上資訊科技服務(wù)

“作為一種服務(wù)”模式提供的是服務(wù),而不是產(chǎn)品;靈活性而不是剛性;以及與業(yè)務(wù)結(jié)果相一致的成本。

你怎么知道你已經(jīng)有了什么提供者? 動力殼牌確實(shí)與一些船舶。 您可以使用Get-PS Provider命令來查找哪些命令。

提供者的名字相當(dāng)明顯。 Power Shell可以使所有這些項(xiàng)目看起來像磁盤驅(qū)動器:別名、環(huán)境(包括PATH等環(huán)境變量)、文件系統(tǒng)、函數(shù)、注冊表和任何定義的變量。 因此,我可以通過cd:ing和添加類似路徑的語句來訪問和觸摸這些“地方”中的任何一個數(shù)據(jù)或記錄,以到達(dá)我想去的地方。 當(dāng)您使用提供者時,您在技術(shù)上正在創(chuàng)建PSDrive,并且PSDrive是您作為磁盤上的文件系統(tǒng)連接到的存儲或資源的表示。

列表中的其他列是功能和驅(qū)動器。

能力是使用方法的列表,以及您可以(也不能)使用每個提供者的事情。 為了這篇文章的目的,我們不會擔(dān)心他們。

另一方面,驅(qū)動器是提供者的邏輯訪問點(diǎn)。 它們就像Windows中的驅(qū)動映射,您可以用來制作,例如,驅(qū)動M:表示另一臺計(jì)算機(jī)上的共享及其內(nèi)容。 例如,如果我們是與注冊服務(wù)提供者合作,用于做事情的“驅(qū)動信”將是HKLM和HKCU。 因此,我們可能希望將“目錄”更改為HKLM,并進(jìn)行目錄列表以查看可用于管理的內(nèi)容,在這種情況下,我們將使用SET-Locationcmdlet將shell的當(dāng)前容器更改為您想要的容器。

以下是我發(fā)布SET-Locationhklm時的樣子:在提示符下;看看下面的截圖。

我們可能希望將“目錄”更改為HKLM,并做一個目錄列表來查看可用于管理的內(nèi)容,在這種情況下,我們將使用SET-Locationcmdlet將shell的當(dāng)前容器更改為您想要的容器。

您可以看到dir列出了注冊表的主要區(qū)域,包括HKEY_LOCAL_MACHINE Hardware、HKEY_LOCAL_MACHINE軟件等。 您可以像文件系統(tǒng)一樣使用樹。

我希望這對你來說是有意義的。

您通常使用cmdlet的項(xiàng)集與PSDrive提供者交互。 如果您繼續(xù)考慮與提供程序一起工作,比如與文件系統(tǒng)一起工作,那么可以考慮項(xiàng)目,而不是文件和文件夾。 無論是調(diào)用注冊表項(xiàng)還是SQLServer數(shù)據(jù)庫,它們都被稱為項(xiàng)。 項(xiàng)是一個很好的通用術(shù)語,可以互換使用。

你如何計(jì)算出cmdlet是什么? 當(dāng)然,你會用Get-Command!

您可以通過使用Power Shell的Get-Command來了解項(xiàng)目cmdlet是什么。

我們關(guān)心的是小圓片。 看起來我們可以清除項(xiàng)目的值,復(fù)制它們,獲取有關(guān)它們的信息,啟動它們,移動它們,創(chuàng)建新項(xiàng)目,刪除和重命名項(xiàng)目,設(shè)置它們等等。

大多數(shù)項(xiàng)目集的cmdlet都有一個路徑參數(shù),它接受像*這樣的通配符,但這帶來了一個重要的問題。 正是由于提供者支持如此多的不同類型的存儲和資源,在某些情況下,通配符實(shí)際上是給定提供者的有效、合法、特定的輸入。 但是如果你用Power Shell的通配符,系統(tǒng)就會變得混亂。

因此,對于允許標(biāo)準(zhǔn)通配符作為名稱中的合法字符的提供者,您可以使用-literalpath而不僅僅是-path來告訴Power Shell將星號視為星號而不是通配符。

讓我們深入研究一下項(xiàng)目。 項(xiàng)目具有屬性,這些屬性基本上是項(xiàng)目的特征。 如果我有一個文件,那么我就有創(chuàng)建文件的日期(一個屬性),修改文件的日期(一個屬性),無論它是只讀還是可寫(一個屬性),等等。 如果我有注冊表鍵,我有它的位置(一個屬性),它的類型(一個屬性)等等。 項(xiàng)目也可以有子項(xiàng)目,或該項(xiàng)目中的項(xiàng)目。 再次使用文件系統(tǒng)示例,文件夾中可以有文件夾,文件夾中可以是文件。

當(dāng)您想創(chuàng)建一個新項(xiàng)目時,在許多情況下,您必須告訴Power Shell要創(chuàng)建什么樣的項(xiàng)目。

當(dāng)您想創(chuàng)建一個新項(xiàng)目時,在許多情況下,您必須告訴Power Shell要創(chuàng)建什么樣的項(xiàng)目。 如我在下圖中所示,新建項(xiàng)目的Show-Command條目演示了-Item類型是我可以指定的參數(shù)。

Power Shell有時試圖根據(jù)當(dāng)前正在使用的提供商猜測應(yīng)該創(chuàng)建什么樣的項(xiàng)目,但它并不總是正確猜測。 因此,如果我在C:WindowsSystem32中,并且我想用Power Shell創(chuàng)建一個名為jhtest的新目錄,我將使用New-Item-Pathjhtest-Item類型目錄,這樣Power Shell就知道我想要一個目錄而不是文件。 如果您沒有指定,那么Power Shell將給您一個看起來像:

```

類型:

```

您需要指定要創(chuàng)建的新項(xiàng)目的類型。

重要的是要記住,在Power Shell中,并不是每個供應(yīng)商都有相同的功能。 有些工作時,其他不工作,取決于情況。 有些提供者允許你訪問與其他人不同的東西;有些提供者以不同的方式訪問;有些提供者根本不工作。

這就是為什么在使用PSDrive提供程序構(gòu)建命令時,您總是要考慮每個提供程序具有哪些功能,并且您必須始終記住,當(dāng)您與不熟悉的提供程序一起工作時,一定要運(yùn)行Get-PS Provider來理解其功能。 即使一個命令看起來會起作用,但是運(yùn)行該命令的提供者的上下文非常重要。

最好的學(xué)習(xí)方法是通過一個實(shí)際的例子,我可以想到最好的辦法是通過使用Power Shell來完全改變注冊表。 我們的任務(wù)是關(guān)閉Windows10中的Wi-Fi感覺。 雖然Windows10的周年更新殺死了這一功能,但在大多數(shù)情況下,對于任何沒有升級到周年更新的人,您仍然可以跟隨。

什么是Windows10Wi-Fi感覺? 它是Windows10自動與您的朋友共享無線網(wǎng)絡(luò)密碼。 在周年更新中,Wi-Fi感覺只用于連接您打開它通過眾包知道的Wi-Fi熱點(diǎn)-換句話說,如果您接近公開開放的Wi-Fi熱點(diǎn),您將自動登錄。)

當(dāng)然,由于Wi-FiSense是Windows操作系統(tǒng)中的配置設(shè)置,因此該設(shè)置的實(shí)際位置及其狀態(tài)存儲在注冊表中。 我搜索了幾分鐘,發(fā)現(xiàn)至少在RTM構(gòu)建的Windows10(確切地說,構(gòu)建號為10240)中,該功能的注冊表設(shè)置是:

```

HKEY_LOCAL_MACHINESOFTWA REMicros of tWcm Svcwifinet work managerconfigu

```

實(shí)際設(shè)置實(shí)際上是由一個DWORD值控制的,親切地稱為自動連接允許OEM-要關(guān)閉它,我們需要將它的值設(shè)置為0。

現(xiàn)在任務(wù)已經(jīng)擺在我們面前,是時候開始工作了。 從Power Shell控制臺,讓我們進(jìn)入PSD驅(qū)動器的注冊表。

```

設(shè)置定位路徑

```

你可以做一個快速的dir,以確保你在正確的位置。 您還可以注意到,Power Shell提示更改HKLM以反映您當(dāng)前的位置。 現(xiàn)在一切都很好。 實(shí)際上,讓我們繼續(xù)深入到注冊中心,一直到我從谷歌的研究中發(fā)現(xiàn)的上面的位置:

```

設(shè)置位置-路徑HKLM:軟件微軟W cm Svcwifinet work managerconfig

```

讓我們再做一次快速的dir,看看有什么可看的。 從報(bào)告中,您看到我們需要創(chuàng)建的價值自動連接允許OEM嗎?

我沒有,所以這意味著我們實(shí)際上需要創(chuàng)造價值。 為此,我們會用...

是的,是新的。 我們可以采取以下幾種方法:

使用這些組合中的任何一個對你來說都是正確的。 不管怎樣,你應(yīng)該和我一起完成以下命令:

```

新路徑自動連接允許OEM型DWORD-值0

```

在這個特定的New-Item命令的情況下,-路徑是我們要創(chuàng)建的密鑰的名稱,因?yàn)槁窂绞侵斧@取對象的方式。 我們正在注冊表中創(chuàng)建一個新的DWORD對象,因此-類型將是DWORD,當(dāng)然,我們從我們的研究中知道,這個新密鑰的-值需要為0。

喔! 您只使用Power Shell成功地管理了注冊表。 但是,只要想一想:從字面上講,Windows操作系統(tǒng)中的每個配置設(shè)置都是通過注冊表管理的,因此這意味著您剛剛獲得了專門通過腳本交互和更改注冊表設(shè)置的技能。 給你更多的力量!


免責(zé)聲明:本文由用戶上傳,如有侵權(quán)請聯(lián)系刪除!

精彩推薦

圖文推薦

點(diǎn)擊排行

2016-2022 All Rights Reserved.平安財(cái)經(jīng)網(wǎng).復(fù)制必究 聯(lián)系QQ280 715 8082   備案號:閩ICP備19027007號-6

本站除標(biāo)明“本站原創(chuàng)”外所有信息均轉(zhuǎn)載自互聯(lián)網(wǎng) 版權(quán)歸原作者所有。