运行环境: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
}

使用PowerShell 自动创建DFS命名空间服务器的更多相关文章

  1. 使用PowerShell 自动创建DFS复制组

    运行环境:Windows Server 2012 R2 DFS 复制概述  DFS复制组 PowerShell脚本命令 需要注意的是DFS依赖域,若此服务器未存在于域控上,或未存在域内,则此脚本会报错 ...

  2. 阿里云ecs自动创建快照教程

    最近在一个博客联盟的微信群里面看到经常有朋友问阿里云的ecs服务器怎么设置自动创建快照,也不知道最近是怎么了,看到问这个问题的朋友有有四五个左右了,今天就特意到博客里来费大家分享设置自动创建快照的方法 ...

  3. ftp服务器Serv-U 设置允许自动创建不存在的目录

    一.由来 最近改写了项目中ftp上传部分的代码. 用到的组件为: <dependency> <groupId>commons-net</groupId> <a ...

  4. powershell对txt文件的服务器进行ping操作

    powershell对txt文件的服务器进行ping操作,txt文件有几百台服务器要进行Ping操作.每行一个 #//***************************************** ...

  5. nodejs创建一个HTTP服务器 简单入门级

    const http = require('http');//请求http.createServer(function(request, response){    /*createServer该函数 ...

  6. C#实现通过模板自动创建Word文档的方法

    原文地址:http://www.jb51.net/article/55332.htm   本文实例讲述了C#实现通过模板自动创建Word文档的方法,是非常实用的技巧.分享给大家供大家参考.具体实现方法 ...

  7. 在有跳板机的情况下,SecureCRT自动连接到目标服务器

    为了服务器的安全,运维人员经常会要求我们先登录到跳板机,然后再SSH连接到目标服务器.但是这样是很繁琐的,每次在SecureCRT创建一个连接,都需要输入SSH命令,然后输入密码. 下面的方法可以实现 ...

  8. sql2008 计划自动创建数据库分区【转】

    本文转自:http://jingyan.baidu.com/article/6b97984d9a26ec1ca3b0bf77.html sql2008 计划自动创建数据库分区 固定增量的数据,自动创建 ...

  9. [js高手之路]node js系列课程-创建简易web服务器与文件读写

    web服务器至少有以下几个特点: 1.24小时不停止的工作,也就是说这个进程要常驻在内存中 2.24小时在某一端口监听,如: http://localhost:8080, www服务器默认端口80 3 ...

随机推荐

  1. 4、路由事件 RoutedEvent

    路由事件的类型:具体参考https://www.cnblogs.com/jellochen/p/3475754.html Tunnel隧道方式:路由事件使用隧道策略,以便事件实例通过树向下路由(从根到 ...

  2. 前端Web浏览器基于Flash如何实时播放监控视频画面(四)之使用videoJs‘拉流’

    本片文章只是起到抛砖引玉的作用,能从头到尾走通就行,并不做深入研究.为了让文章通俗易懂,尽量使用白话描述. 0x001: 下载videoJs 对于Video.js 5.x及更低版本,Flash技术(v ...

  3. luogu3812 【模板】线性基

    Code: #include <cstdio> #include <algorithm> #define ll long long #define N 64 #define s ...

  4. 【原创】Python3 + Red + PyDev + Eclipse + Subversion + RobotFramework + UI Automator2 + Weditor 构建Web+Mobile 交互式移动App自动化测试环境

    环境搭建步骤: 1. 下载安装Oracle JDK: 安装路径设置为C:\Program Files\Java\jdk1.8.0_152 2. 下载安装Eclipse: 安装路径设置为C:\Eclip ...

  5. vue中全局组件与局部组件的注册,以及动态绑定props值

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  6. Lock和synchronized的区别

    总结来说,Lock和synchronized有以下几点不同: 1)Lock是一个接口,而synchronized是Java中的关键字,synchronized是内置的语言实现: 2)synchroni ...

  7. dstat命令 来自: http://man.linuxde.net/dstat

    来自: http://man.linuxde.net/dstat

  8. Android学习_服务

    一.           服务1.         Android多线程 每一个Android应用程序都会分别运行在一个独立的Dalvik(或ART?)虚拟机中,而每个虚拟机在启动时会运行一个UI主线 ...

  9. mybatis oracle mysql 批量插入时的坑爹问题--需谨记

    mybatis oracle mysql 批量插入一.oracle的批量插入方式insert into db(id, zgbh, shbzh) select '1', '2', '3' from du ...

  10. DB 分库分表(3):关于使用框架还是自主开发以及 sharding 实现层面的考量

    当团队对系统业务和数据库进行了细致的梳理,确定了切分方案后,接下来的问题就是如何去实现切分方案了,目前在sharding方面有不少的开源框架和产品可供参考,同时很多团队也会选择自主开发实现,而不管是选 ...