Ordner Umbenennen +heutiges Datum
Hallo zusammen,
Ich muss für eine tagliche Außerhaussicherrung auf Externe Festplatten immer folgendes manuell ausführen:
nun ich dachte mir das muss auch mit Powershell gehen und habe angefangen mich schlau zu machen.
Ordner Löschen kein Problem löscht mir alle Ordner mit Backup-extern_
Umbennen geht mit hier weiss ich leider nicht wie ich das heutige datum dazu bekomme
neuen Ordner anlegen kein Problem mit
für die Ordnerfreigabe habe ich leider noch nichts gefunden. nur für Netzlaufwerke.
könnt ihr mir behilflich sein?
Ich muss für eine tagliche Außerhaussicherrung auf Externe Festplatten immer folgendes manuell ausführen:
- Löschen des Ordners "Backup-extern_20170201" (datum ist immer älter als das aktuelle)
- umbenennen des Ordners "Backup-extern" in "Backup-extern_20170802 (heutiges datum)
- neuerstellen des Ordners "Backup-extern"
- Freigabe mit schreibberechtigung für "jeder" auf den Ordner "Backup-extern"
nun ich dachte mir das muss auch mit Powershell gehen und habe angefangen mich schlau zu machen.
Ordner Löschen
remove-item E:\Backup-extern_*
Umbennen geht mit
rename-item E:\Backup-extern
neuen Ordner anlegen kein Problem mit
New-Item E:\Backup-extern -type directory
könnt ihr mir behilflich sein?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 328827
Url: https://administrator.de/contentid/328827
Ausgedruckt am: 22.11.2024 um 11:11 Uhr
12 Kommentare
Neuester Kommentar
Zitat von @ahsenden:
Umbennen geht mit hier weiss ich leider nicht wie ich das heutige datum dazu bekomme
Hier:Umbennen geht mit
rename-item E:\Backup-extern
rename-item 'E:\Backup_Extern' -NewName "Backup_Extern_$(get-date -f 'yyyyMMdd')"
neuen Ordner anlegen kein Problem mit
Geht auch weiterhin alles zusammen mitNew-Item E:\Backup-extern -type directory
md "E:\Backup_Extern_$(get-date -f 'yyyyMMdd')"
für die Ordnerfreigabe habe ich leider noch nichts gefunden. nur für Netzlaufwerke.
New-SmbSharehttp://windowsitpro.com/powershell/managing-file-shares-windows-powersh ...
(gwmi win32_share -list).Create("E:\Ordner",'TestShare',0)
Geht aber auch problemlos alles per Batch wenn man das wollte:
Ordner mit Datum erstellen:
md "E:\Backup_Extern_%date:~-4%%date:~3,2%%date:~0,2%"
net share MeineFreigabe=E:\Test
Alles da was du brauchst
Gruß
Zitat von @ahsenden:
ich brauche nicht das aktuelle DAtum sondern das änderungsdatum der neusten Datei in einem Ordner
ich brauche nicht das aktuelle DAtum sondern das änderungsdatum der neusten Datei in einem Ordner
$dest = 'e:\Backup-exterm'
$date = gci $dest | ?{!$_.PSIsContainer} | sort LastWriteTime -Desc | Select -First 1 | %{$_.LastWriteTime.toString("yyyyMMdd")}
die Problematik besteht jetzt noch darin das das Script mir den Ordner zwar freigibt und auch die Berechtigungen für "Jeder" auf vollzugriff setzt,
aber den Ordner nicht für "Jeder" Frei gibt
?? im Bild ist doch alles richtig!aber den Ordner nicht für "Jeder" Frei gibt
Ich glaube du verstehst das Jeder nicht. Jeder bedeutet nicht "jeder ohne jegliches Passwort" in dem Sinne sondern nur alle Accounts die auf diesem Rechner existieren (da keine Domäne) bzw. durch eine Gruppenmitgliedschaft das Recht haben auf den Rechner zuzugreifen..
Zusätzlich sind die nachgeschalteten NTFS ACLs ebenso relevant für den Zugriff auf eine Freigabe!
Zitat von @ahsenden:
nur bisher gehe ich halt hin und gebe den Ordner Manuell für "jeder ohne jegliches Passwort" manuell frei.
Das "null Password" musst du aber in der lokalen Sicherheitsrichtlinie geändert haben denn per Default ist das so nicht möglich. Auch nicht nur durch das Jeder , denn jeder bedeutet hier nicht jeder.nur bisher gehe ich halt hin und gebe den Ordner Manuell für "jeder ohne jegliches Passwort" manuell frei.
Das Freigegeben Verzeichnis wird über den Tag verteilt von Mehreren Personen gefüllt. ich möchte nicht für jeden einen User anlegen.
ich dachte das ich das auch über Powershell bewerkstelligen kann.
s.o. Umstellung das man sich ohne Passwort an einem Server anmelden kann nur global per Sicherheitsrichtlinie (secpol.msc).ich dachte das ich das auch über Powershell bewerkstelligen kann.
First, you'll need to set go to Administrative Tools and open Local Security Policy. Next, you'll need to go to Local Policies -> Security Options. There, you'll find a key called "Network Access: Let Everyone permissions apply to anonymous users". Double-click and enable this setting. This will allow anonymous (unauthenticated users) to part of the Everyone group. Next, you'll need to do one of two things. You can either navigate to "Network Access: Shares that can be accessed anonymously" and add the name of the share everyone will need access to, limiting anonymous access to that purpose, or you'll need to find the key "Network Access: Restrict anonymous access to Named Pipes and Shares" and disable it, allowing anonymous access to a lot more areas of your server.
Zitat von @ahsenden:
also der Punkt Netzwerkzugriff: Die Verwendung von "Jeder"-Berechtigungen für Anonyme Benutzer ermöglichen" steht auf deaktiviert.
das würde bedeuten das das eigentlich nicht funktionieren sollte oder?
Korrekt. Ist das so eingestellt ist die Eingabe eines Benutzernamens mit Passwort Pflicht. Steht ja unmissverständlich oben...also der Punkt Netzwerkzugriff: Die Verwendung von "Jeder"-Berechtigungen für Anonyme Benutzer ermöglichen" steht auf deaktiviert.
das würde bedeuten das das eigentlich nicht funktionieren sollte oder?
p.s. wir bewegen uns vom eigentlichen Thread weg. Bitte für neue Fragen auch einen neuen Thread. Danke.
Gruß