admin 管理员组文章数量: 887016
文章目录
- windows系统下的简单共享文件方案👺
- 就近共享
- 设置共享文件夹(推荐)
- 配置共享文件夹准备工作👺
- 选择一个合适的目录创建共享文件夹
- 创建共享文件夹
- 一键创建共享文件夹👺
- 使用命令行net share方式创建和管理
- 三种共享文件夹的访问权限对比
- 指定共享权限
- 简单授权共享文件夹示例
- 为不同用户分别指定权限
- 访问控制权限
- 使用powershell中的SmbShare模块命令
- 使用shrpubw程序引导创建
- 使用资源管理器图形界面创建和管理
- 匿名访问问题@创建一个专门用来访问共享文件夹的凭证用户
- 查看共享文件夹的网络路径👺
- 使用powershell管理共享文件夹👺
- 常用命令
- 基础命令
- 挂载类的命令
- 创建共享文件夹
- 参数解释
- 修改共享文件夹
- 删除共享文件夹
- 查看现有共享文件夹(推荐方法)
- 示例:完整的创建和配置共享文件夹过程
- 访问共享文件夹及其相关操作
windows系统下的简单共享文件方案👺
windows系统下局域网内传输文件的简单方法有2中,其中最简单的是NearBy Sharing(就近共享)
另一种是共享文件夹,更加通用和强大,支持老系统,和非windows系统访问资源
就近共享
支持单个和多个文件共享,配置最简单,但是要求传输文件的机器都是windows10以上的设备,而且不能直接共享文件夹目录,也没法直接点播和预览常见格式,比如视频和音乐等
-
不过,有相关的android软件能够让android设备也支持就近共享
-
NearShare (shortdev.de) 软件体积不小,可以用镜像加速链接后下载,或者论坛下载
-
Setup — NearShare (shortdev.de)
-
实际体验下来还可以,操作简单
- 注意手机端发送比较容易,但是接收需要获取蓝牙Mac地址,您需要先打开手机蓝牙开关(否则地址不可用),然后到系统设置里找到(状态信息里的蓝牙Mac地址);这个地址比较长,您可以
- 如果手机支持长按复制,则直接复制即可
- 也可以先截图,然后用ocr文字提取识别
- 或者支持屏幕提取文字的功能也可以直接提取
- 填写后点击下一步即可
- 注意手机端发送比较容易,但是接收需要获取蓝牙Mac地址,您需要先打开手机蓝牙开关(否则地址不可用),然后到系统设置里找到(状态信息里的蓝牙Mac地址);这个地址比较长,您可以
-
此外,也支持两个android设备之间进行互传文件(都需要安装好并启动设置NearShare app,没有广告,没不需要验证密码等操作)
-
好处就是配置少,开个开关就行,成功率高,可以用wifi,也可以用蓝牙传输,不要求有路由器
在 Windows 中与附近的设备共享内容 - Microsoft 支持
设置共享文件夹(推荐)
-
官方文档,列举出了问题清单和相应的解决办法和步骤,已经给出了最佳实践,这里补充一些细节(整合其他设置方案)
- 在 Windows 中通过网络共享文件 - Microsoft 支持
- File sharing over a network in Windows - Microsoft Support
-
更多参考:Windows 文件夹共享指南:轻松分享文件和资料 - 系统极客 (sysgeek)
配置共享文件夹准备工作👺
为了更好的理解windows的共享文件夹及其相关功能,可以阅读一下准备工作,尽管这不是必须的
windows@文件高级共享设置@网络发现功能@从资源管理器网络中访问远程桌面-CSDN博客
选择一个合适的目录创建共享文件夹
- 为了避免共享文件夹创建完成后,其他用户无法访问(尽管登录成功,但内容是空的),建议把共享文件夹建立或选择在非用户目录下,例如,
C:\share
这类简短的目录;而C:\User\UserX\...
这类目录(这个目录是用户Userx
的家目录下的某个目录,不妨记为目录P)则容易与到权限问题,比如您创建了一个普通用smb
分发给需要的设备访问共享文件夹P,可能会读取不到内容,除非您使用UserX
的身份访问才可以读取目录P里的内容
创建共享文件夹
windows上创建共享文件夹的方式有好几种,有命令行方式,也有GUI方式
下面分别介绍这两大类方法,每大类里又细分两种方法
为了提高易用性,降低操作成本,我创建了一个脚本,可以直接运行实现基本的共享文件夹创建和使用,如果您有兴趣,可以看后面的章节
一键创建共享文件夹👺
- 参考windows@一键创建共享文件夹@优秀的局域网内文件传输方案
使用命令行net share方式创建和管理
Net share | Microsoft Learn
建议在win10之前的系统中使用,虽然截至win11为止还通用,但这类方法不在被维护,新系统用powershell的方法
net share <ShareName>
net share <ShareName>=<drive>:<DirectoryPath> [/grant:<user>,{read | change |full}] [/users:<number> | /unlimited] [/remark:<text>] [/cache:{manual | documents | programs | BranchCache |none} ]
net share [/users:<number> | /unlimited] [/remark:<text>] [/cache:{manual | documents | programs | BranchCache |none} ]
net share {<ShareName> | <DeviceName> | <drive>:<DirectoryPath>} /delete
net share <ShareName> \\<ComputerName> /delete
示例:
-
用管理员身份打开一个命令行窗口
-
假设我的机器上有一个目录
C:\sharePlus
,那么我执行以下语句net share DemoShareNew=C:\shareNew /remark:"demo share new"
可以创建一个名为DemoShare
的共享文件夹;-
注意到,我们可以不暴露被共享的文件夹的真实名字,而可以取一个便于共享的简单别名
-
PS> net share DemoShare=C:\sharePlus /remark:"demo share" DemoShare was shared successfully.
-
此时其他计算机可以访问
Demoshare
这个名字来访问该目录中的内容- 例如,创建共享文件夹的机器名为
colorfulcxxu
,并且启用了网络发现,在另一台也启用了网络发现的windows中执行start \\colorfulcxxu\demoshare
,就可以访问共享文件夹demoshare
了
- 例如,创建共享文件夹的机器名为
-
Note
- 被共享的文件夹路径结尾不要有
\
,而且参数是/
,否则会无法识别(解析错误) - 如果无法访问或读取内容,请检查并设置共享文件夹的权限控制,参考文档或者下节中的介绍
- 被共享的文件夹路径结尾不要有
-
三种共享文件夹的访问权限对比
权限对比总结
- read(读取):仅允许查看和读取文件,适用于需要只读访问权限的用户。
- change(更改):允许创建、修改和删除文件和文件夹,但不能更改共享设置,适用于需要对文件进行操作但不需要更改权限的用户。
- full(完全控制):允许所有操作,包括更改共享设置,适用于需要完全管理文件和文件夹的用户。
选择适当的权限级别取决于用户的需求和安全性要求。合理分配权限可以有效地保护文件安全,同时满足用户的使用需求。
指定共享权限
上述方法创建共享文件夹的方式十分简单,通常使用共享文件夹的主人(拥有者)身份访问不会遇到权限问题,但是必要时需要再设置访问控制权限,简单期间,可以设置为everyone 拥有访问权限
语法 | 用法说明 |
---|---|
`/grant:,{read | change |
简单授权共享文件夹示例
PS☀️[BAT:70%][MEM:40.4% (12.81/31.71)GB][19:52:23]
#⚡️[cxxu@COLORFULCXXU][C:\]
PS> net share DemoShareFC=C:\share1 /remark:"share folder grant everyone" /grant:everyone,full
DemoShareFC was shared successfully.
#查看创建结果
PS> net share
Share name Resource Remark
-------------------------------------------------------------------------------
IPC$ Remote IPC
DemoShare C:\sharePlus demo share
DemoShareFC C:\share1 share folder grant everyone
share C:\share ColorfulCxxuShare
Users C:\Users
The command completed successfully.
为不同用户分别指定权限
实操示例:为用户smb
仅分配只读权限,为用户cxxu
分配完全控制的权限
PS> net share DemoShareMultipleGrant=C:\share1 /grant:smb,read /grant:cxxu,full
DemoShareMultipleGrant was shared successfully.
访问控制权限
我们可以用Get-Acl
来查看指定目录或文件的访问控制权限
PS> Get-Acl C:\sharePlus |fl
Path : Microsoft.PowerShell.Core\FileSystem::C:\sharePlus
Owner : COLORFULCXXU\cxxu
Group : COLORFULCXXU\cxxu
Access : BUILTIN\Administrators Allow FullControl
NT AUTHORITY\SYSTEM Allow FullControl
BUILTIN\Users Allow ReadAndExecute, Synchronize
NT AUTHORITY\Authenticated Users Allow Modify, Synchronize
NT AUTHORITY\Authenticated Users Allow -536805376
Audit :
Sddl : O:S-1-5-21-1150093504-2233723087-916622917-1001G:S-1-5-21-1150093504-2233723
087-916622917-1001D:AI(A;OICIID;FA;;;BA)(A;OICIID;FA;;;SY)(A;OICIID;0x1200a9
;;;BU)(A;ID;0x1301bf;;;AU)(A;OICIIOID;SDGXGWGR;;;AU)
但是,这不等同于共享文件夹的访问控制权限,假设使用凭据Userx来访问共享文件,那么共享文件夹的[Share权限]和[文件系统权限,比如NTFS权限]都设置为可以被[Userx]访问时,其他端才可以通过Userx的身份凭据来访问共享文件夹
使用powershell中的SmbShare模块命令
SmbShare Module | Microsoft Learn
这个模块中命令众多,适合于windows10以及之后的系统使用
后面单独开一节介绍常用的几个命令
使用shrpubw程序引导创建
-
使用共享文件夹引导程序
shrpubw.exe
,这是一个windows系统自带的一个使用程序- 打开windows命令行,输入
shrpubw.exe
即可启动
- 打开windows命令行,输入
-
shrpubw.exe
是一个在 Microsoft Windows 操作系统中用于帮助用户创建和配置共享文件夹的向导程序。这个可执行文件(.exe)是系统自带的一部分,由 Microsoft Corporation 开发,主要用于简化网络共享设置过程。当用户需要在网络上共享本地计算机上的某个文件夹,以便其他网络用户可以访问时,可以通过运行
shrpubw.exe
启动“创建共享文件夹向导”。该向导提供了图形化界面,引导用户完成以下步骤:- 选择要共享的文件夹路径。
- 设置共享名,即网络上其他用户看到的共享资源的名称。
- 配置共享权限,包括哪些用户或组可以访问此共享,并确定他们的读写权限级别。
-
该引导软件支持它会更改防火墙使得共享文件夹能够生效(通常不需要我们自己再去设置防火墙)
-
总的来说这是个很方便的程序,但是注意,windows为了安全,匿名访问可能是不被允许的,如果需要匿名,可能要改注册表策略组等,我的建议是创建一个名为smb的用户专门用来访问共享文件夹就可以了(不需要登录该用户桌面),既安全又高效,如果要匿名的体验,可以把密码设置简单点即可
使用资源管理器图形界面创建和管理
-
设置防火墙(参考准备工作一节)
-
选择文件或文件夹进行共享
-
打开资源管理器,右键进行共享设置
-
可以指定对那些人共享(进入设置可以允许任何用户访问,但是不保证匿名访问可行,可能需要进一步设置)
- 对于启用了SMB1功能的及其可能默认允许匿名访问
-
包括选择哪些用户能够访问被共享的文件或目录
-
匿名访问问题@创建一个专门用来访问共享文件夹的凭证用户
-
为了安全考虑,windows逐渐禁止匿名访问smb服务,对于较新的系统,即使在设置网络中允许免密访问共享文件夹(文件),但是仍然需要登录某个账户才可以访问(来宾(Guest)匿名不再能轻易访问共享文件夹)
-
这里建议创建一个专门共享文件的账户,来供其他设备验证身份来访问本机的提供的共享文件价
-
新建的用户可以是普通用户,我们甚至不需要登录这个用户,例如设置本地用户
smb_share
,密码随意,不介意安全性时尽可能简单,毕竟在可信的局域网内,默认是安全的,特别是真个局域网只有自己用,自己用来传输文件,我们甚至不需要创建这个新用户,直接用已有的账户登录就行 -
创建新用户:命令行中或者win+r输入:
lusrmgr.msc
启动新用户创建面板-
普通的通用界面创建新用户 设置共享文件夹时在选择授权用户时会提供创建新用户的入口 步骤简单 设置步骤较多 -
此外,也可以用命令行创建新用户,对于仅仅用于公开访问的凭证用途的用户,可以执行一下命令直接创建一个普通用户
-
net user smb 1 /add
该用户名为
smb
,密码为1
-
删除:
net user smb /delete
,这会删除smb
这个用户
-
-
-
创建新用户的相关参考:
- Local Users and Groups | Microsoft Learn
- Net user | Microsoft Learn
- windows@添加本地用户账户等操作
-
查看共享文件夹的网络路径👺
事实上您可以通过右键被共享的文件夹,查看其属性,其中的sharing部分给出了网络路径(NetWork Path)
其中\\
后面跟的第一个字段(截止于\
前)的是当前共享文件夹的主机名(但是需要您启用网络发现才可以直接使用此路径访问,否则需要用ip地址代替主机名)
使用powershell管理共享文件夹👺
在PowerShell中,可以使用New-SmbShare
、Set-SmbShare
和Remove-SmbShare
等命令来创建、修改和删除共享文件夹。这些命令提供了更强大的功能和灵活性来管理共享资源。
常用命令
基础命令
- New-SmbShare (SmbShare) | Microsoft Learn
- Get-SmbShare (SmbShare) | Microsoft Learn
- Remove-SmbShare (SmbShare) | Microsoft Learn
挂载类的命令
- New-SmbMapping (SmbShare) | Microsoft Learn 默认挂载只对powershell可见,资源管理器中是看不到的
- 同理有
Get-SmbMapping
,Remove-SmbMapping
- 在powershell中挂载共享文件夹的地址为盘符,可以方便命令行访问共享文件夹中的内容而不需要打开资源管理器
- 当然,您也可以选择使用合适的命令先挂载到资源管理器,然后任何命令行(比如
net use
或new-psdrive
)就可以访问挂载后的盘符了
- 同理有
- New-PSDrive (Microsoft.PowerShell.Management) - PowerShell | Microsoft Learn
- 如果需要挂载到资源管理器,那么可以考虑用
New-PSdrive
命令 - 这里直接用被挂载的文件夹所在主机名,需要启用系统的网络发现功能才可以
- 如果需要挂载到资源管理器,那么可以考虑用
PS C:\Users\cxxu\Desktop> New-PSDrive -Name "Z" -PSProvider "FileSystem" -Root "\\redmibookpc\share" -Persist
Name Used (GB) Free (GB) Provider Root
---- --------- --------- -------- ----
Z 114.17 361.79 FileSystem \\redmibookpc\share
PS C:\Users\cxxu\Desktop>
而直接用ip导致报错,将来可能会改进
PS C:\Users\cxxu\Desktop> New-PSDrive -Name "Q" -PSProvider "FileSystem" -Root "\\192.168.1.158\share"
New-PSDrive: The specified drive root "\\192.168.1.158\share" either does not exist, or it is not a folder.
创建共享文件夹
使用 New-SmbShare
命令可以创建新的共享文件夹。下面是创建共享文件夹的基本示例:
# 创建共享文件夹
New-SmbShare -Name "Share" -Path "C:\Share" -ChangeAccess "Everyone" #这里赋予任意用户修改权限(包含了可读权限和修改权限)
参数解释
-Name
:指定共享的名称。-Path
:指定要共享的文件夹路径。-FullAccess
:指定具有完全访问权限的用户或组。
如果需要设置“读取”或“更改”权限,可以使用 -ReadAccess
和 -ChangeAccess
参数,并且这三个参数可以同时出现
修改共享文件夹
使用 Set-SmbShare
命令可以修改现有的共享文件夹设置。例如,修改共享文件夹的权限:
# 修改共享文件夹的权限
Set-SmbShare -Name "Share" -ChangeAccess "Everyone"
删除共享文件夹
使用 Remove-SmbShare
命令可以删除共享文件夹:
# 删除共享文件夹
Remove-SmbShare -Name "Share" -Force
查看现有共享文件夹(推荐方法)
使用 Get-SmbShare
命令可以查看现有的共享文件夹:
# 查看所有共享文件夹
Get-SmbShare
# 查看特定共享文件夹
Get-SmbShare -Name "Share"
PS> get-smbshare
Name ScopeName Path Description
---- --------- ---- -----------
DemoShareCC * C:\share1 share folder grant everyone
DemoShareFC * C:\share1 share folder grant everyone
DemoShareMultipleGrant * C:\share1
DemoShareRC * C:\share1 share folder grant everyone
IPC$ * Remote IPC
share * C:\share ColorfulCxxuShare
Users * C:\Users
PS> get-smbshare -Name share
Name ScopeName Path Description
---- --------- ---- -----------
share * C:\share ColorfulCxxuShare
通过上述命令,您可以在PowerShell中有效地管理共享文件夹,包括创建、修改和删除共享文件夹。合理设置权限和管理共享资源,可以提高网络资源的安全性和使用效率。
示例:完整的创建和配置共享文件夹过程
假设我们要创建一个名为 ReportsShare
的共享文件夹,路径为 D:\Documents\Reports
,并赋予用户组 Everyone
“读取”权限,下面是完整的过程:
# 创建共享文件夹并设置读取权限
New-SmbShare -Name "ReportsShare" -Path "D:\Documents\Reports" -ReadAccess "Everyone"
# 查看已创建的共享
Get-SmbShare -Name "ReportsShare"
# 修改权限为更改权限
Set-SmbShare -Name "ReportsShare" -ChangeAccess "Everyone"
# 最后删除共享文件夹
Remove-SmbShare -Name "ReportsShare" -Force
访问共享文件夹及其相关操作
另见它文 windows@资源管理器中的地址栏@访问共享文件夹的各种方法@管理共享文件夹-CSDN博客
本文标签: 蓝牙 局域网 文件传输 共享文件夹 Windows
版权声明:本文标题:windows@局域网或蓝牙文件传输@共享文件夹@就近共享 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1729000989h1305374.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论