Powershell中的文件夾共享及磁盤映射的操作步驟
在Linux環(huán)境下,我們很輕易就能得心應(yīng)手地通過命令操作一切事物,在Windows下,Powershell也算是后起之秀,提供大量的cmdlet以及c#的橫向拓展。下面將由小編帶領(lǐng)大家通過Powershell實現(xiàn)文件夾共享,當(dāng)然文中也不會冷落cmd這枚老將。
文件夾共享概述
共享文件夾的應(yīng)用非常廣泛,客戶端對服務(wù)器端進(jìn)行文件管理,局域網(wǎng)文件直傳等等,在linux下,可以簡單的安裝smaba協(xié)議,簡單的配置之后即可使用。在windows下,可以通過圖形化的操作開啟這項功能,當(dāng)然帶著一點極客風(fēng)格,我們通過powershell(少量出現(xiàn)cmd)來對其進(jìn)行管理。
操作步驟
查看共享列表
在powershell內(nèi),我們可以通過執(zhí)行以下cmdlet獲取共享信息:
λ Get-WmiObject -Class Win32_Share Name Path Description ---- ---- ----------- ADMIN$ C:\Windows 遠(yuǎn)程管理 C$ C:\ 默認(rèn)共享 D$ D:\ 默認(rèn)共享 E$ E:\ 默認(rèn)共享 IPC$ 遠(yuǎn)程 IPC Users C:\Users
同理,在cmd下,也可以
λ net share 共享名 資源 注解 ------------------------------------------------------------------------------- C$ C:\ 默認(rèn)共享 D$ D:\ 默認(rèn)共享 E$ E:\ 默認(rèn)共享 IPC$ 遠(yuǎn)程 IPC ADMIN$ C:\Windows 遠(yuǎn)程管理 Users C:\Users 命令成功完成。
創(chuàng)建一個共享文件夾
瘋狂的Powershell
# 共享名 $ShareName = 'TestShare' # 共享路徑 $Path = 'D:\SHARE' If (!(Get-WmiObject -Class Win32_Share -Filter "name='$ShareName'")) { $Shares = [WMICLASS]"WIN32_Share" $Shares.Create($Path,$ShareName,0).ReturnValue } else { Write-Warning "$ShareName has been sharing!!" }
如果如果您有遠(yuǎn)程機(jī)器的管理員權(quán)限的話,也利用WMI在遠(yuǎn)程的機(jī)器上創(chuàng)建新的共享文件夾,下面是在遠(yuǎn)程主機(jī)上創(chuàng)建共享文件夾的代碼:
# 共享名 $ShareName = 'TestShare' # 共享路徑 $Path = 'D:\SHARE' # 遠(yuǎn)程主機(jī)名 $Server = 'Server' If (!(Get-WmiObject -Class Win32_Share -Filter "name='$ShareName'")) { $Shares = [WMICLASS]"\\$Server\root\cimv2:WIN32_Share" $Shares.Create($Path,$ShareName,0).ReturnValue } else { Write-Warning "$ShareName has been sharing!!" }
低調(diào)的cmd
::建議先查看當(dāng)前的共享文件夾再進(jìn)行創(chuàng)建操作 net share TestShare=D:\SHARE /users:25 /remark:"test share of the a folder"
我們很輕易地就能將一個文件夾的共享狀態(tài)開啟,我們可以通過UNC路徑對其進(jìn)行訪問。創(chuàng)建完文件共享之后,我們來看看怎么使用吧。
驅(qū)動器映射和共享訪問
接下來,我們摒棄圖形化界面的操作(如果你非喜歡那么做的話,可以通過網(wǎng)上鄰居【“網(wǎng)絡(luò)”】進(jìn)行查看,或者在計算機(jī)圖標(biāo)下右鍵選擇映射網(wǎng)絡(luò)驅(qū)動器),我們來通過命令去啟用吧。
強(qiáng)悍的Powershell
臨時創(chuàng)建一個網(wǎng)絡(luò)驅(qū)動器映射:
(New-Object -ComObject WScript.Network).MapNetworkDrive("Z:", "\\TEST-PC\USERS")
創(chuàng)建一個持久化的網(wǎng)絡(luò)驅(qū)動器映射:
# New-PSDrive 加上 -Persist 參數(shù)使得驅(qū)動器在 PowerShell 之外可見。 # 要真正地創(chuàng)建一個永久的網(wǎng)絡(luò)驅(qū)動器,請確保加上 -Scope Global。/ # 如果 New-PSDrive 在全局作用域范圍之外運行(例如,在一個腳本中運行),該驅(qū)動器只會在腳本運行時出現(xiàn)在文件管理器中。 New-PSDrive -Name Z -PSProvider FileSystem -Root \\TEST-PC\USERS -Persist -Scope Global
小巧的cmd
::下面這條命令雖然可以在cmd使用此磁盤映射,但是不可利用資源管理器加載。 net use Z: \\TEST-PC\USERS ::這里是將systemroot文件夾映射為z:驅(qū)動器,可利用"explorer.exe"加載,可惜不能使用網(wǎng)絡(luò)路徑。 subst Z: $env:systemroot
完成如上的工作之后,不出意外,你的資源管理器會出現(xiàn)你想要訪問的網(wǎng)絡(luò)路徑的圖標(biāo)。
刪除共享
如果不需要再使用此共享文件夾了,可以卸載掉網(wǎng)絡(luò)驅(qū)動器,并在共享的主機(jī)上刪除該共享。
Powershell
$Shares = Get-WMIObject Win32_Share | Where {$_.Name -eq ""} Foreach ($Share in $Shares) { $Share.Delete() }
cmd
net share TestShare /delete
小結(jié)
- 建立共享文件夾需要事先在啟用網(wǎng)絡(luò)共享和發(fā)現(xiàn)。
- 需要提前做好文件夾權(quán)限控制以及共享的權(quán)限控制。
- 通過配置cmdkey可以免去身份認(rèn)證
cmdkey /add:targetname /user:username /pass:password
擴(kuò)展:使用PowerShell 中設(shè)置共享文件夾
使用PowerShell 中設(shè)置共享文件夾
# 定義要共享的文件夾路徑和共享名稱 $folderPath = "C:\Users\Public\Documents\SharedFolder" $shareName = "SharedFolder" # 創(chuàng)建共享 New-SmbShare -Name $shareName -Path $folderPath -FullAccess "Everyone" # 顯示共享信息 Get-SmbShare $shareName
使用New-SmbShare命令創(chuàng)建了一個名為SharedFolder的共享,并指定了共享文件夾的路徑和完全訪問權(quán)限(即允許所有人訪問)。然后,我們使用Get-SmbShare命令顯示共享的信息。
需要注意的是,要使用New-SmbShare和Get-SmbShare命令,你需要在你的計算機(jī)上安裝 Windows Management Framework 5.1 或更高版本。此外,還需要確保你有權(quán)限在計算機(jī)上創(chuàng)建共享,并且你要共享的文件夾必須存在。
到此這篇關(guān)于Powershell中的文件夾共享及磁盤映射的文章就介紹到這了,更多相關(guān)Powershell磁盤映射內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
PowerShell 未經(jīng)數(shù)字簽名 系統(tǒng)將不執(zhí)行該腳本
這篇文章主要介紹了PowerShell 未經(jīng)數(shù)字簽名 系統(tǒng)將不執(zhí)行該腳本的相關(guān)資料2017-10-10PowerShell中Job相關(guān)命令及并行執(zhí)行任務(wù)詳解
這篇文章主要給大家介紹了關(guān)于PowerShell中Job相關(guān)命令及并行執(zhí)行任務(wù)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。2018-03-03使用PowerShell獲取當(dāng)前主機(jī)內(nèi)存使用量和總量的方法
這篇文章主要介紹了使用PowerShell獲取當(dāng)前主機(jī)內(nèi)存使用量和總量的方法,需要的朋友可以參考下2015-07-07PowerShell連接SQL SERVER數(shù)據(jù)庫進(jìn)行操作的實現(xiàn)代碼
這篇文章主要介紹了PowerShell連接SQL SERVER數(shù)據(jù)庫進(jìn)行操作的實現(xiàn)代碼,需要的朋友可以參考下2016-11-11類似rpm包管理器的Windows Installer PowerShell Module簡介
前兩篇文章分享了使用PowerShell安裝Window程序的一些技巧。但是都是基于兼容已有命令行的調(diào)用。今天分享一個第三方組件,讓你直接可以使用Cmdlet命令來查詢,安裝,修復(fù)Windows程序2014-05-05PowerShell 4.0實現(xiàn)自動化設(shè)置服務(wù)器
PowerShell 4.0最大的變化是引入了新的Windows PowerShell期望狀態(tài)配置,該機(jī)制通過集中管理執(zhí)行類似功能的電腦,來控制電腦的配置方式。2015-09-09