PowerShell文件夹共享及磁盘映射的方法
今天小编给大家分享一下PowerShell文件夹共享及磁盘映射的方法的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。
PowerShell是一种功能强大的脚本语言和shell程序框架,主要用于Windows计算机方便管理员进行系统管理并有可能在未来取代Windows上的默认命令提示符。
共享文件夹的应用非常广泛,客户端对服务器端进行文件管理,局域网文件直传等等,在linux下,可以简单的安装smaba协议,简单的配置之后即可使用。在windows下,可以通过图形化的操作开启这项功能,当然带着一点极客风格,我们通过powershell(少量出现cmd)来对其进行管理。
操作步骤查看共享列表在powershell内,我们可以通过执行以下cmdlet获取共享信息:
λGet-WmiObject-ClassWin32_ShareNamePathDescription-------------------ADMIN$C:\Windows远程管理C$C:\默认共享D$D:\默认共享E$E:\默认共享IPC$远程IPCUsersC:\Users
同理,在cmd下,也可以
λnetshare共享名资源注解-------------------------------------------------------------------------------C$C:\默认共享D$D:\默认共享E$E:\默认共享IPC$远程IPCADMIN$C:\Windows远程管理UsersC:\Users命令成功完成。创建一个共享文件夹
疯狂的Powershell
#共享名$ShareName='TestShare'#共享路径$Path='D:\SHARE'If(!(Get-WmiObject-ClassWin32_Share-Filter"name='$ShareName'")){$Shares=[WMICLASS]"WIN32_Share"$Shares.Create($Path,$ShareName,0).ReturnValue}else{Write-Warning"$ShareNamehasbeensharing!!"}
如果如果您有远程机器的管理员权限的话,也利用WMI在远程的机器上创建新的共享文件夹,下面是在远程主机上创建共享文件夹的代码:
#共享名$ShareName='TestShare'#共享路径$Path='D:\SHARE'#远程主机名$Server='Server'If(!(Get-WmiObject-ClassWin32_Share-Filter"name='$ShareName'")){$Shares=[WMICLASS]"\\$Server\root\cimv2:WIN32_Share"$Shares.Create($Path,$ShareName,0).ReturnValue}else{Write-Warning"$ShareNamehasbeensharing!!"}低调的cmd
::建议先查看当前的共享文件夹再进行创建操作netshareTestShare=D:\SHARE/users:25/remark:"testshareoftheafolder"
我们很轻易地就能将一个文件夹的共享状态开启,我们可以通过UNC路径对其进行访问。创建完文件共享之后,我们来看看怎么使用吧。
驱动器映射和共享访问接下来,我们摒弃图形化界面的操作(如果你非喜欢那么做的话,可以通过网上邻居【“网络”】进行查看,或者在计算机图标下右键选择映射网络驱动器),我们来通过命令去启用吧。
强悍的Powershell临时创建一个网络驱动器映射:
(New-Object-ComObjectWScript.Network).MapNetworkDrive("Z:","\\TEST-PC\USERS")
创建一个持久化的网络驱动器映射:
#New-PSDrive加上-Persist参数使得驱动器在PowerShell之外可见。#要真正地创建一个永久的网络驱动器,请确保加上-ScopeGlobal。/#如果New-PSDrive在全局作用域范围之外运行(例如,在一个脚本中运行),该驱动器只会在脚本运行时出现在文件管理器中。New-PSDrive-NameZ-PSProviderFileSystem-Root\\TEST-PC\USERS-Persist-ScopeGlobal小巧的cmd
::下面这条命令虽然可以在cmd使用此磁盘映射,但是不可利用资源管理器加载。netuseZ:\\TEST-PC\USERS::这里是将systemroot文件夹映射为z:驱动器,可利用"explorer.exe"加载,可惜不能使用网络路径。substZ:$env:systemroot
完成如上的工作之后,不出意外,你的资源管理器会出现你想要访问的网络路径的图标。
删除共享如果不需要再使用此共享文件夹了,可以卸载掉网络驱动器,并在共享的主机上删除该共享。
Powershell
$Shares=Get-WMIObjectWin32_Share|Where{$_.Name-eq""}Foreach($Sharein$Shares){$Share.Delete()}
cmd
netshareTestShare/delete小结
cmdkey/add:targetname/user:username/pass:password
以上就是“PowerShell文件夹共享及磁盘映射的方法”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注亿速云行业资讯频道。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。