Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Suche Skript für automatische Besitzer-Änderung (NTFS)

Frage Microsoft Windows Server

Mitglied: 15187

15187 (Level 2)

03.11.2009 um 22:42 Uhr, 6071 Aufrufe, 2 Kommentare

Aufgabe: Migration auf neuen Fileserver (2008 R2) ist schief gelaufen. Alle homefolder sind jetzt aber kopiert, aber mit falschem Besitzer. Ändere für jeden der 200 Ordner den Besitzer

es muss doch sicher schon mal jemand auf folgende Idee gekommen sein: was tun, wenn man hunderte von Ordnern hat (homefolder von Usern), die mit dem Namen des Users benannt sind (%username%), deren Besitzer nach einem Serverumzug jedoch nicht mehr passen.
Ich rede [nicht davon, dass es ganz einfach ist, wenn man alles richtig macht (alten Server laufen lassen, GPO für Ordnerumleitung ändern, warten, bis sich 200 User angemeldet haben und ihre Daten auf den neuen Server verschoben sind), sondern eben] von einem Automatismus, mit dem ich den Besitzer auf denjenigen ändern kann, wie der Ordnername heißt.
Ein Skript, das den Namen des Ordners liest, mit icacls (stimmt's so?) den Besitzernamen einträgt (=Ordnername) und gleichzeitig noch die passende Berechtigung setzt.

Der gute Internetindex google führt mich hier auf ganz gute Ideen, jedoch keine ausgereift und lauffähig, oder die "gehässigen" Skripter geben bei Erfolg ihr Wissen nicht raus (ok, ich könnte mich noch in 1000 Foren registrieren und nachfragen...).

Die manuelle Korrektur ist dank Microsofts Sicherheitswahn nun noch umständlicher als unter Windows 200x, sodass ich irgendwie nicht wirklich Lust hab, damit anzufangen.

Wer nun statt Skript eine Idee hat, wie ich die Ordner mit den Usern als Besitzer auf andere Art und Weise hinbekomme, würde mir ebenfalls sehr weiterhelfen.
Ich dachte schon an ein Skript, das einen neuen Ordner anlegt und die Daten aus einer zweiten Freigabe raus-"move-t" - doch dabei wird der Benutzer nicht als Besitzer eingetragen.

Eine aufwendige Möglichkeit wäre, die homefolder zu verschieben, sich alle User neu anmelden lassen, und die Daten zurückkopieren - manuell oder per logonskript (xcopy \\server\home_org\%username% \\server\home\%username% /E). Den Zeitaufwand darf ich mir jedoch nicht mehr machen, denn das Projekt ist am Ende seiner Laufzeit angelangt.

Wer hat Ideen?

vg tc
Mitglied: bastla
03.11.2009 um 23:26 Uhr
Hallo turbocyclone!

Könnte mit folgendem (ungetesteten) Oneliner gehen:
for /d %i in ("D:\Home\*.*") do @echo icacls "%i" /setowner "Domain\%~nxi" /T && @echo icacls "%i" /grant "Domain\%~nxi":F /T
Das "echo" sorgt dafür, dass die jeweiligen "icacls"-Befehle (zum Testen) nur angezeigt werden - um sie ausführen zu lassen, anstelle von "@echo icacls" nur "@icacls" verwenden.

Falls die Zeile als Batch ausgeführt werden soll, jedes Prozentzeichen verdoppeln.

Grüße
bastla
Bitte warten ..
Mitglied: 15187
06.11.2009 um 19:14 Uhr
hallo bastla,

vielen Dank für deine Antwort. Ich probiere sie heute Abend mal im Labor aus und melde mich, wenn ich ein Ergebnis hab.
viele Grüße,
TC
Bitte warten ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Heiß diskutierte Inhalte
Windows Server
DHCP Server switchen (25)

Frage von M.Marz zum Thema Windows Server ...

SAN, NAS, DAS
gelöst HP-Proliant Microserver Betriebssystem (14)

Frage von Yannosch zum Thema SAN, NAS, DAS ...

Grafikkarten & Monitore
Win 10 Grafikkarte Crash von Software? (13)

Frage von Marabunta zum Thema Grafikkarten & Monitore ...

Windows 7
Verteillösung für IT-Raum benötigt (12)

Frage von TheM-Man zum Thema Windows 7 ...