Jump to content

User Homedrive Serverumzug - Powershell Skript


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Hi,

ich habe bei uns von einem alten Server, die Homedrives umgezogen.

 

Die Freigabe habe ich wie folgt umgezogen:

Neuen Server Home Ordner angelegt und als Home$ freigegeben - Berechtigungen vom Home Ornder der Ursprungsservers übernommen - nicht weiter nach unten vererbt und dann per XCOPY alle Daten mit den NTFS Berechtigungen verschoben:

 

xcopy /k/r/e/i/s/c/h/o

 

Per PowerShell habe ich die HomedriveAttribute ausgelesen und den Servernamen durch den neuen ersetzt.

 

=> Fertig.

(Ja ich weiß man kann das auch sicher über Pipes lösen, da ich das aber übersichtlich wollte in ne Foreach gepackt, ist nur ein kleiner Rohling der zweckmäßig ist ).

 

#Import AD-Extensiosn
import-module activedirectory
#Mitarbeiter OU/CN
$userpath="cn=users" #Pfad zum Benutzer (cn=users oder ou=Mitarbeiter - Abhängig ob Benutzer im Container oder OU
#Objekt beinhaltet alle AD Windows Gruppen
$domain=([ADSI]"LDAP://rootDSE").defaultNamingContext
$users=Get-aduser -Filter {ObjectClass -eq "user"} -Searchbase "$userpath,$domain" -properties *

foreach($object in $users)
{
#aktualisiert den Profilpath zum neuen Server
$profilpath=$object.homedirectory -replace "dsrv31","psrv18"
$profilpath
#Setzt das  Homelaufwerk
set-ADUser $object.sAMAccountName –homedrive "w:"
#Setzt den Profilpath auf den Benutzer
set-ADUser $object.sAMAccountName –homedirectory $profilpath
}

 

vielleicht hilfts ja einen weiter - Grüße Admin.

 

PS:

Hier ist noch ein einfacher Skript, den ich auf die schnelle gemacht hatte.

Er läd aus dem SVN eine aktuelle Version einer Datei und verteilt diese in einen fest definierten Ordner zu jeden Benutzerordner - bei Bedarf legt er den Ordner automatisch an.

Dazu ist noch eine einfache Fehlerbearbeitung eingebaut und eine Emailbenachrichtigung.

 

#Version 1.1
#Date 02.04.2012
# Softwareverteilung
cls
#Fehlervariable wird auf $null gesetzt
#$error[0] = $null
#Varbiablen werden definiert
#Emailversandt
$email_versender="softwareverteilung@domain.biz"
$email_empfaenger="me@domain.biz"
$email_smtpserver="10.1.2.15
#Emailfunktion
function sendmail
{
if($error[0] -ne $null)
   {
       $email_titel="Beispiel Verteilung Fehler"
       #Fehlerbeschreibung wird übergeben
       $email_inhalt=$error_message
   }
   else
   {
       $email_titel="Beispiel Verteilung erfolgreich"
       #Fehlerbeschreibung wird übergeben
       $email_inhalt="Das Beispiels wurde erfolgreich verteilt"
   }    
#setzt die Kodierung der eMail
$email_encoding  = New-Object System.Text.utf8encoding

#eMail wird versand
send-mailmessage -From $email_versender -To $email_empfaenger -Subject $email_titel -Body $email_inhalt -Smtpserver $email_smtpserver -BodyAsHtml -Encoding $email_encoding
}
#Läd die aktuelle Version der Frontenddaten herunter
& "C:\Program Files\TortoiseSVN\bin\svn.exe" up "E:\SVN\Trunk\Projects\beispiel.mdb"
& "C:\Program Files\TortoiseSVN\bin\svn.exe" up "E:\SVN\Trunk\Projects\beispiel.xls"
#Homefolder wird geladen
$homelaufwerk = Get-ChildItem "\\psrv18\home$"
foreach( $benutzer in $homelaufwerk )
{
   #Überprüft ob der Ordner \Programme\Beispiel vorhanden ist
   if (!(Test-Path -path ($benutzer.FullName+"\Programme\Beispiel").tostring()))
    {
       #erstellt die neuen Ordner, falls nicht vorhanden
       New-Item ($benutzer.FullName+"\Programme\Beispiel").tostring() -type directory      
    }
   #überschreibt die alten Versionen
   copy-Item E:\SVN\Trunk\Projects\beispiel.mdb ($benutzer.FullName+"\Programme\Beispiel").tostring()
   copy-Item E:\SVN\Trunk\Projects\beispiel.xls ($benutzer.FullName+"\Programme\Beispiel").tostring()      
}
if($error[0] -ne $null)
{
   #schreibt die Fehlermessage
   $error_message=$Error[0]
   #ruft Mailfuntkion auf
   sendmail 
   echo 'error'
   #beendet den Skript
   exit
}
sendmail 

Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...