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, 6105 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 ..
Ähnliche Inhalte
Batch & Shell
gelöst Skript für: Automatisch generierte CSV Datei (3)

Frage von janelsaesser zum Thema Batch & Shell ...

Windows 10
Skript zum Auslesen und Automatischen Versenden von E-Mails (3)

Frage von weber4134 zum Thema Windows 10 ...

XML
gelöst XML Datei per Skript ändern (12)

Frage von chrisen zum Thema XML ...

Batch & Shell
gelöst Suche bzw. automatische löschung von Videos (3)

Frage von Schnoedl zum Thema Batch & Shell ...

Neue Wissensbeiträge
Windows Tools

Zeit für Energiesparmodus, Bildschirmabschaltung etc. schnell anpassen

Anleitung von hannsgmaulwurf zum Thema Windows Tools ...

Linux Netzwerk

Ping und das einstellbare Bytepattern

(1)

Erfahrungsbericht von LordGurke zum Thema Linux Netzwerk ...

Windows Update

Microsoft Update KB4034664 verursacht Probleme mit Multimonitor-Systemen

(4)

Tipp von beidermachtvongreyscull zum Thema Windows Update ...

Heiß diskutierte Inhalte
Firewall
Richtige Grundeinstellungen der Pfsense für mein Netzwerk (14)

Frage von Spitzbube zum Thema Firewall ...

Switche und Hubs
gelöst Cisco 2960x Stacking über mehrere Etagen (12)

Frage von b3scher zum Thema Switche und Hubs ...