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