Prepárate para aprender cómo escribir mejores scripts de PowerShell DFS utilizando los conocimientos que obtengas en este tutorial. En esta publicación, ¡aprenderás todo sobre cómo gestionar enlaces DFS en PowerShell!
Esta publicación de blog tiene un video complementario creado por Scott Hurst, colaborador de TechSnips. ¡Siéntete libre de verlo o, si prefieres texto, sigue leyendo!
Mis Últimos Videos
Los enlaces del Sistema de Archivos Distribuidos (DFS) reducen la complejidad de trabajar con comparticiones de archivos en red. Los enlaces DFS permiten a los usuarios y aplicaciones acceder a un nombre de ruta virtual para conectar con carpetas compartidas. Puedes crear enlaces DFS con PowerShell.
Ya sea que estés gestionando Active Directory u otro producto DFS, escribir scripts de PowerShell DFS te ayudará a lidiar con cualquier problema que encuentres.
Este espacio de nombres virtual permite a los administradores presentar carpetas compartidas ubicadas en diferentes servidores, o incluso cambiar la ubicación de una carpeta compartida, completamente transparente para los consumidores de esa carpeta.
Los usuarios no necesitarán actualizar marcadores, y las aplicaciones no necesitarán ser actualizadas con nuevas rutas cuando cambien los servidores de archivos.
Beneficios del DFS
Para los usuarios, el acceso a carpetas compartidas de red se simplifica a un formato <nombre de espacio de nombres>\NombreDeCarpeta, una reducción en la complejidad asociada con carpetas almacenadas en servidores remotos.
Para las aplicaciones, los caminos codificados en duro a los recursos en la red no necesitan ser cambiados debido a un cambio en el camino de la red. Una actualización simple al enlace DFS y la aplicación seguirá accediendo a los recursos en su nueva ubicación.
Prerrequisitos para el Rol del Servidor DFS
- Active Directory
- Rol de Servicios de Archivos y Almacenamiento instalado en un servidor Windows
- Windows Server (Canal Semi-Anual)
- Windows Server 2016
- Windows Server 2012 R2
- Windows Server 2012
- Windows Server 2008 R2 Datacenter/Enterprise
Prerrequisitos
- Una cuenta de administrador con los permisos adecuados
- Herramientas RSAT con las herramientas de ‘Servicios de Archivos – Herramientas de Administración DFS’ instaladas
Preparación para tus Scripts de PowerShell de DSC
Primero, descargar e instalar RSAT. Luego, necesitas instalar todas las características necesarias de Windows. Esto instalará la GUI de Administración DFS, el módulo de espacios de nombres DFS para PowerShell de Windows para crear enlaces DFS con PowerShell y gestionarlos, y herramientas de línea de comandos, pero no instalará ningún servicio DFS en el servidor.
Comandos Comunes de DFS
Puedes administrar los espacios de nombres usando la GUI de Administración DFS, los cmdlets de Espacio de Nombres DFS (DFSN) en PowerShell, los comandos de DfsUtil, o scripts que llaman a WMI.
Algunos comandos comunes de PowerShell son:
Get-DfsnRoot
– Descubre todos los espacios de nombres de DFS en el dominio actual – Comúnmente utilizado para verificar los espacios de nombres disponibles en el dominio actualNew-DfsnFolder
– Crea un nuevo nombre de carpeta DFS
– Comúnmente utilizado para crear una nueva carpeta DFS en un espacio de nombresNew-DfsnFolderTarget
– Asigna ruta(s) a un nombre de carpeta DFS
– Comúnmente utilizado para asignar una o más rutas de carpetas de red a una carpeta DFSRemove-DfsnFolderTarget
– Elimina una ruta de una carpeta DFS pero no elimina la carpeta DFS.
– Comúnmente utilizado para eliminar una o más rutas de carpetas de red de una carpeta DFSRemove-DfsnFolder
– Elimina una carpeta y todas sus rutas
– Comúnmente utilizado para eliminar una carpeta DFS de un espacio de nombres
Encontrar espacios de nombres de DFS
Comenzaremos obteniendo una idea de todos los espacios de nombres en línea y disponibles en el dominio actual utilizando el cmdlet Get-DfsnRoot
.
Esto muestra que hay dos espacios de nombres en línea en este dominio.

Encontrar carpetas DFS
Usando el comando Get-DfsnFolder
, podemos listar las carpetas DFS en cada espacio de nombres.
A partir de esta salida, podemos ver que en el espacio de nombres AppRoot no existe una carpeta DFS llamada PowerShell.

Creación de carpetas de enlace DFS para scripts de PowerShell DSC
En este ejemplo, tenemos una carpeta replicada llamada PowerShell en nuestros tres servidores de archivos; FileServer01, FileServer02 y Datacenter.
El objetivo es compartir esta carpeta replicada con nuestros administradores utilizando una única ruta.
Para hacer esto, crearemos una nueva carpeta DFS enlace en el AppRoot namespace llamada PowerShell utilizando New-DfsnFolder
y apuntándola a la carpeta compartida de archivos del servidor del centro de datos. Configuraremos el estado de la carpeta DFS carpeta a En línea y estableceremos el estado de TargetPath a En línea.
En la interfaz gráfica de administración de DFS, podemos ver que la carpeta DFS PowerShell no existe.


Ahora ejecutemos el Explorador de Windows desde una consola de PowerShell y confirmemos que no existe.
Si la carpeta no existe, mostrará la salida Ruta no encontrada. Listo para continuar en texto verde en la ventana de la terminal, como se puede ver a continuación.
A partir de la salida, vemos que la carpeta ha sido creada, la Referral Priority Class
se establece en Global-High
y el State
está en En línea
.

La interfaz gráfica también confirma lo que PowerShell nos dijo.

y nuestra ruta ahora está disponible en el Explorador de Windows.

Creación de Destinos de Carpeta DFS
Ahora que hemos creado con éxito la carpeta DFS en el espacio de nombres con Powershell, añade una ruta de destino de carpeta adicional y configura esa ruta como En línea usando New-DfsnFolderTarget
. Los scripts de PowerShell de DFS te permiten añadir cualquier cantidad de componentes.
Hasta este punto, tenemos dos de nuestras tres rutas de servidor añadidas y en línea. Para nuestra última ruta de carpeta, queremos añadir la ruta pero no hacerla disponible para los usuarios. Así que agreguemos una ruta de destino de carpeta a nuestra carpeta DFS y esta vez establezcamos el estado de la ruta de la carpeta DFS en fuera de línea, nuevamente usaremos New-DfsnFolderTarget
.

Puedes ver que la ruta de FileServer01 y del Datacenter está actualmente En línea
y el estado de la ruta de FileServer02 se ha establecido en Fuera de línea
.

Configuración de las rutas de carpetas DFS en modo Fuera de línea o En línea
Podemos también cambiar qué servidores son los anfitriones En línea y Desconectado, e incluso cuál será nuestro servidor principal de la ruta del archivo usando Set-DfsnFolderTarget
.
Como se puede ver a continuación:
- La ruta de FileServer01 ha cambiado a
Desconectado
- El servidor Datacenter ha cambiado a
ReferralPriorityClass
asitecost-normal
desdeglobal-high
- La ruta de FileServer02 ha cambiado a
En línea
- El
ReferralPriorityClass
de FileServer02 ha cambiado aglobal-high

Eliminando rutas de destino de carpetas DFS con PowerShell
I try to vaccinate my code against the fat finger flu as much as possible. Here we will try to install a safety net before removing one of the folders by making sure that it is offline before deleting it.
¡Hasta pronto carpeta FileServer01!

Para aquellos que prefieren prescindir de la opción de red de seguridad, podemos acomodarlos, valientes almas también.
Hemos dicho adiós a la carpeta FileServer02.

Eliminando Carpetas DFS
Ha sido un camino largo y sinuoso, pero ha llegado el momento de decir adiós a nuestro enlace DFS. Podemos eliminar la carpeta PowerShell y el enlace DFS utilizando el cmdlet Remove-DfsnFolder
.

A quick double-check of the DFS Management GUI shows our DFS link is no more.

Resumen
¡Eso es todo! Has recorrido un camino sinuoso de DFS y kung fu de PowerShell. ¡Espero que ahora tengas algunos fragmentos de código para ayudarte a construir mejores scripts de PowerShell DFS!
Source:
https://adamtheautomator.com/dfs-powershell-scripts/