Powershell中的文件夾共享及磁盤映射的操作步驟
在Linux環(huán)境下,我們很輕易就能得心應(yīng)手地通過(guò)命令操作一切事物,在Windows下,Powershell也算是后起之秀,提供大量的cmdlet以及c#的橫向拓展。下面將由小編帶領(lǐng)大家通過(guò)Powershell實(shí)現(xiàn)文件夾共享,當(dāng)然文中也不會(huì)冷落cmd這枚老將。
文件夾共享概述
共享文件夾的應(yīng)用非常廣泛,客戶端對(duì)服務(wù)器端進(jìn)行文件管理,局域網(wǎng)文件直傳等等,在linux下,可以簡(jiǎn)單的安裝smaba協(xié)議,簡(jiǎn)單的配置之后即可使用。在windows下,可以通過(guò)圖形化的操作開啟這項(xiàng)功能,當(dāng)然帶著一點(diǎn)極客風(fēng)格,我們通過(guò)powershell(少量出現(xiàn)cmd)來(lái)對(duì)其進(jìn)行管理。
操作步驟
查看共享列表
在powershell內(nèi),我們可以通過(guò)執(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)建一個(gè)共享文件夾
瘋狂的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"
我們很輕易地就能將一個(gè)文件夾的共享狀態(tài)開啟,我們可以通過(guò)UNC路徑對(duì)其進(jìn)行訪問(wèn)。創(chuàng)建完文件共享之后,我們來(lái)看看怎么使用吧。
驅(qū)動(dòng)器映射和共享訪問(wèn)
接下來(lái),我們摒棄圖形化界面的操作(如果你非喜歡那么做的話,可以通過(guò)網(wǎng)上鄰居【“網(wǎng)絡(luò)”】進(jìn)行查看,或者在計(jì)算機(jī)圖標(biāo)下右鍵選擇映射網(wǎng)絡(luò)驅(qū)動(dòng)器),我們來(lái)通過(guò)命令去啟用吧。
強(qiáng)悍的Powershell
臨時(shí)創(chuàng)建一個(gè)網(wǎng)絡(luò)驅(qū)動(dòng)器映射:
(New-Object -ComObject WScript.Network).MapNetworkDrive("Z:", "\\TEST-PC\USERS")創(chuàng)建一個(gè)持久化的網(wǎng)絡(luò)驅(qū)動(dòng)器映射:
# New-PSDrive 加上 -Persist 參數(shù)使得驅(qū)動(dòng)器在 PowerShell 之外可見。 # 要真正地創(chuàng)建一個(gè)永久的網(wǎng)絡(luò)驅(qū)動(dòng)器,請(qǐng)確保加上 -Scope Global。/ # 如果 New-PSDrive 在全局作用域范圍之外運(yùn)行(例如,在一個(gè)腳本中運(yùn)行),該驅(qū)動(dòng)器只會(huì)在腳本運(yùn)行時(shí)出現(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ū)動(dòng)器,可利用"explorer.exe"加載,可惜不能使用網(wǎng)絡(luò)路徑。 subst Z: $env:systemroot
完成如上的工作之后,不出意外,你的資源管理器會(huì)出現(xiàn)你想要訪問(wèn)的網(wǎng)絡(luò)路徑的圖標(biāo)。
刪除共享
如果不需要再使用此共享文件夾了,可以卸載掉網(wǎng)絡(luò)驅(qū)動(dòng)器,并在共享的主機(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)限控制。
- 通過(guò)配置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)建了一個(gè)名為SharedFolder的共享,并指定了共享文件夾的路徑和完全訪問(wèn)權(quán)限(即允許所有人訪問(wèn))。然后,我們使用Get-SmbShare命令顯示共享的信息。
需要注意的是,要使用New-SmbShare和Get-SmbShare命令,你需要在你的計(jì)算機(jī)上安裝 Windows Management Framework 5.1 或更高版本。此外,還需要確保你有權(quán)限在計(jì)算機(jī)上創(chuàng)建共享,并且你要共享的文件夾必須存在。
到此這篇關(guān)于Powershell中的文件夾共享及磁盤映射的文章就介紹到這了,更多相關(guān)Powershell磁盤映射內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Powershell后臺(tái)作業(yè)、異步操作實(shí)例
如果需要加快執(zhí)行一個(gè)腳本,你可能需要用到后臺(tái)作業(yè)。后臺(tái)作業(yè)能同時(shí)運(yùn)行腳本中多個(gè)事件2014-04-04
使用PowerShell將Excel工作表另存為獨(dú)立文件
這篇文章主要為大家介紹了如何使用?PowerShell?腳本將一個(gè)?Excel?文件中的每個(gè)工作表單獨(dú)另存為獨(dú)立的?Excel?文件,以提高工作效率,需要的可以參考一下2023-08-08
Windows Powershell調(diào)用靜態(tài)方法
Powershell將信息存儲(chǔ)在對(duì)象中,每個(gè)對(duì)象都會(huì)有一個(gè)具體的類型,簡(jiǎn)單的文本會(huì)以System.String類型存儲(chǔ),日期會(huì)以System.DateTime類型存儲(chǔ)。任何.NET對(duì)象都可以通過(guò)GetType()方法返回它的類型,該類型中有一個(gè)FullName屬性,可以查看類型的完整名稱。2014-09-09
PowerShell端口掃描之解析多格式輸出與結(jié)果處理技巧
在日常網(wǎng)絡(luò)安全評(píng)估或系統(tǒng)管理工作中,很多管理員都會(huì)遇到這樣的情況:執(zhí)行了一個(gè)看似簡(jiǎn)單的PowerShell端口掃描命令,期望得到一個(gè)簡(jiǎn)單的文本結(jié)果文件,卻發(fā)現(xiàn)生成了多個(gè)不同格式的文件,所以本文介紹了PowerShell端口掃描之解析多格式輸出與結(jié)果處理技巧2025-10-10
PowerShell中使用Like運(yùn)算符配合通配符查找字符串例子
這篇文章主要介紹了PowerShell中使用Like運(yùn)算符配合通配符查找字符串例子,Like的返值為TRUE和FALSE,需要的朋友可以參考下2014-08-08
PowerShell中按文件后綴過(guò)濾的實(shí)現(xiàn)代碼
這篇文章主要介紹了PowerShell中按文件后綴過(guò)濾的實(shí)現(xiàn)代碼,自定義了一個(gè)過(guò)濾器來(lái)滿足需求,需要的朋友可以參考下2014-08-08

