运行环境:Windows Server 2012 R2

DFS命名空间概述

DFS命名空间 PowerShell脚本命令

Writing PowerShell DFS Scripts: Managing DFS Links——包含了常用dfs操作语句

需要注意的是DFS依赖域,若此服务器未存在于域控上,或未存在域内,则此脚本会报错

创建DFS命名空间服务器,DFS命名空间会创建在当前服务器上

在脚本中自动获取本机服务器名称

$server = (Get-WmiObject -Class Win32_ComputerSystem | Select-Object Name).Name

脚本如下

# 创建DFS命名空间服务器,DFS命名空间会创建在当前服务器上
# author:lttr <www.cnblogs.com/GoCircle>
# date:2019-08-09
# eg.
# C:\dfsn.ps1 -Domain 'test.to' -ShareFolderPhysicalPath 'C:\dfsn' -ShareFolderNetworkPath 'DFSN01' [CmdletBinding()]
param
(
# 域名
[Parameter(Mandatory=$true,Position=0)][string]$Domain,
# 共享文件夹物理路径
[Parameter(Mandatory=$true,Position=1)][string]$ShareFolderPhysicalPath,
# 共享文件夹网络路径
[Parameter(Mandatory=$true,Position=2)][string]$ShareFolderNetworkPath
) # 设置共享文件夹
function SET-Share($ShareFolderPhysicalPath,$ShareFolderNetworkPath){
#文件夹不存在就创建
if(!(Test-Path $ShareFolderPhysicalPath)){
$null = New-Item -Path $ShareFolderPhysicalPath -type directory
}
#调用WMI对象 WIN32_Share类
$ShareHandle=[WMIClass]"WIN32_Share"
#添加为共享
$null = $ShareHandle.Create($ShareFolderPhysicalPath,$ShareFolderNetworkPath,0)
}
SET-Share $ShareFolderPhysicalPath $ShareFolderNetworkPath
pause
try {
#检测命名空间是否存在
if((Get-DfsnRoot -Path "\\$Domain\$ShareFolderNetworkPath" -ErrorAction SilentlyContinue).State -eq 'Online') {
Write-Host "DFS命名空间[\\$Domain\$ShareFolderNetworkPath]已存在!" -ForegroundColor Red
}else{
$DFSServerName = (Get-WmiObject -Class Win32_ComputerSystem | Select-Object Name).Name
$null = New-DfsnRoot -Path "\\$Domain\$ShareFolderNetworkPath" -TargetPath "\\$DFSServerName\$ShareFolderNetworkPath" -Type DomainV2
if((Get-DfsnRoot -Path "\\$Domain\$ShareFolderNetworkPath" -ErrorAction SilentlyContinue).State -eq 'Online') {
Write-Host "创建DFS命名空间[\\$Domain\$ShareFolderNetworkPath]成功!" -ForegroundColor Green
} else {
Write-Host "创建DFS命名空间[\\$Domain\$ShareFolderNetworkPath]失败!" -ForegroundColor Red
}
}
} catch {
Write-Host "DFS命名空间[\\$Domain\$ShareFolderNetworkPath]失败" -ForegroundColor Red
}

最新文章

  1. With(ReadPast)就不会被阻塞吗?
  2. hadoop streaming 多路输出 [转载]
  3. JS魔法堂:函数重载 之 获取变量的数据类型
  4. 【代码笔记】iOS-离线地图
  5. P&#243;lya计数定理
  6. PLSQL显示乱码-无法进行中文条件查询解决
  7. 如何实现XA式、非XA式Spring分布式事务
  8. 在IIS上Office Word下载失败,检索 COM 类工厂中 CLSID 为000209FF的组件失败,80070005 拒绝访问。
  9. Windows - Windows的文件名的全路径(Fully Qualified File Name)的最大长度为260字节
  10. A 洛谷 P3601 签到题 [欧拉函数 质因子分解]
  11. ueditor 插件集成到 xadmin 中的相关操作
  12. php+ajax文件上传
  13. 使用lua实现99乘法口诀表,就这么简洁
  14. Linux进程ID号--Linux进程的管理与调度(三)【转】
  15. vue教程1-02 data里面存储数据
  16. odoo开发笔记--odoo可用小图标
  17. scala语言简介及其环境安装
  18. 自然语言交流系统 phxnet团队 创新实训 个人博客 (九)
  19. Chrome驱动安装问题
  20. python3-开发进阶补充Django中的文件的上传

热门文章

  1. Axure RP 8 破解汉化(实测可用)
  2. Win7安装VS2019
  3. XML -- 为什么选择XML?
  4. 数位dp入门(内容一样,新版格式)
  5. eclipse打开项目中文件时左侧project explorer同时展开该文件的路径
  6. Android 内存 - 获取单个应用内存限制
  7. vue 钩子函数的使用
  8. 评CSDN上一篇讲述数据迁移的文章“程序员 12 小时惊魂记:凌晨迁移数据出大事故!”
  9. 用Python在Android手机上架FTP服务器
  10. Mysql强制修改密码