Jump to content

Dukel

Members
  • Gesamte Inhalte

    11.536
  • Registriert seit

  • Letzter Besuch

Alle erstellten Inhalte von Dukel

  1. ! heißt "nicht". D.h. wenn der Pfad NICHT existiert, dann soll er das im If Zweig machen. Das Code Stück $dstfile.split('\')[0..($dstfile.split('\').length-2)] -join '\' entfernt aus dem kompletten Pfad mit Dateinamen den Dateinamen so dass nur noch der Pfad übrig bleibt.
  2. Wenn's ums gleiche Thema geht (dieses Script) kann man das ruhig im selben Thread machen. Um Tipps zum Powershell lernen oder ähnliches machen kannst du gerne einen neuen Thread aufmachen. Ich würde das Script folgendermaßen machen: #Quelle $src = "C:\etc" #Ziel $dst = "D:\temp\etc" #Schleife über Dateisystem. -iclude definiert die Dateitypen, die durchsucht gehören foreach($file in (Get-ChildItem $src -Recurse -include *.xml,*.exe)){ #Dateiname im Ziel $dstfile = $file.FullName.replace("$src","$dst") #Ordner im Ziel $dstfolder = $dstfile.split('\')[0..($dstfile.split('\').length-2)] -join '\' #Testen ob diese Datei NICHT existiert if(!(test-path $dstfile)){ #Testen ob ein Ordner existiert if(!(test-path $dstfolder)){ #Wenn er nicht existiert, dann an anlegen new-item $dstfolder -type directory -recurse } #Wenn die Datei nicht existiert von der Quelle kopieren copy-item $file.FullName $dstfolder } }
  3. Mache doch bei deinem Urspungsthread weiter: http://www.mcseboard.de/windows-forum-scripting-71/verschiedene-filetypen-vergleichen-verschiedenen-laufwerken-184912.html Vielleicht ist es auch sinnvoller mit etwas abstrakten und keinem konkreten Problem anzufangen. Willst du primär Powershell lernen oder dein Problem lösen?
  4. Dukel

    Best Practices für Backups

    Wieso nutzt du dann nicht gleich den Hyper-V Agenten von Backup Exec? (wenn es einen gibt).
  5. Dukel

    Best Practices für Backups

    Kommt, wie so oft, auf die Anforderungen, Budget und andere Einflüsse ab. Bei einem kompletten Disasterfall ist eine Hyper-V Sicherung besser, je weiter die Restores "in die Applikationen" gehen wird es teurer (und komplexer). Dann brauchst du neben dem Hyper-V Agenten auch noch welche für die Applikationen wie SQL Server, Sharepoint und Exchange.
  6. Sicherheitstechnisch ist es eine schlechte Idee auf einem Root Server Sharepoint zu installieren. Was hast du denn vor?
  7. Ich habe in der EMC einen Verteiler erstellt und auf der letzten Seite des Wizards hat er mir den Powershell Befehl ausgespuckt. Diesen Befehl kannst du nun für deine User nutzen und anpassen. Mehrere Nutzer legst du am besten mit einer Schleife an.
  8. Was meinst du mit hinteren Teil? Im get-childitem? Da kannst du alles machen, was du sonst mit get-childitem machen kannst. Mit Get-Command bekommst du alle Befehle der Powershell.
  9. IN der Schleife kannst du alles machen. Dort kannst du vergleichen und kopieren. Was hast du denn bisher mit Powershell schon gelernt? Was genau willst du vergleichen? Dateiname? Größe? Inhalt? Fang erst mal mit einer Datei an. Gleiche eine Lokale Datei mit einer auf dem Server und kopiere die ggf. Wenn du das hast kannst du deine Schleife drum herum bauen.
  10. Auf der Completion Seite beim Wizard zeigt Exchange den Powershell Befehl an, den er genutzt hat: Summary: 1 item(s). 1 succeeded, 0 failed. Elapsed time: 00:00:03 Foo Completed Exchange Management Shell command completed: new-DistributionGroup -Name 'Foo' -SamAccountName 'Foo' -Alias 'Foo' Elapsed Time: 00:00:03
  11. Erstelle einen Verteiler manuell und schau auf der letzte Seite nach dem Powershellscript und passe dieses an.
  12. 1.: Ich würde auch bei dem Beispiel nicht die Daten in eine Variable schreiben, sondern das ganze in der Schleife einbauen: Statt: $ordner1 = Get-ChildItem c:\ordner1 foreach ($datei1 in $ordner1) ... folgendes: foreach ($datei1 in (Get-ChildItem c:\ordner1)) ... Spart einen Durchlauf. 2.: #Frage aber wo ist die $datei1 defniert ? Das wird im Foreach definiert. Foreach ist die Kurzform von Foreach-Object. D.h. im Array $ordner1 wird alles in den Klammern ausgeführt und der aktuelle Wert ist in der Variable $datei1. 3.: Wenn die Ordnerstruktur gleich ist muss nicht jede Datei aus der Quelle mit jeder Datei aus dem Ziel vergleichen werden. Einfach statt dem 2. Foreach folgendes (exemplarisch): test-path $datei1.FullName.Replace('c:\ordner1','c:\ordner2')
  13. Klar. Wenn es fertig ist beendet sich die Powershell. Tipps gabs hier schon zur genüge.
  14. Google mal nach "Powershell Foreach".
  15. Ich würde das nicht mit solchen Variablen lösen sondern mit einer Schleife. In der Schleife kannst du den Vergleich und das kopieren erledigen.
  16. Führst du das Interaktiv in der Powershell aus oder ist das ein Script welches du ausführst?
  17. Beim IIS ist es sowieso möglich nur auf einer NIC zu lauschen und bei Jetty auch: Newbie Guide to Jetty - Jetty - Codehaus <Set name="host"><SystemProperty name="jetty.host" /></Set> Der Webserver sollte dann aber wirklich nur Webserver sein und keine anderen Rollen (vorallem AD) ausführen.
  18. Ja. Du kannst den IIS auf der einen NIC lauschen lassen und Topdesk auf der anderen. Und jeweils unterschiedliche DNS Namen auf die beiden IP's verweisen.
  19. Wir haben ein selbst entwickeltes Monitoring auf Powershell Basis. Um keine Probleme während der Laufzeit mit Anwendungen zu bekommen starten wir das Script mit der niedrigsten Priorität. Wenn es um Laufzeit und Ressourcenverbrauch geht ist, wie schon geschrieben, eher eine Programmiersprache sinnvoll und keine Scriptsprache.
  20. Hast du nun in der Registry geschaut ob die Änderung dort auch angekommen ist oder nicht?
  21. Steht das gewünschte in der Registry, nachdem du dein Script ausgeführt hast? Wieso ist auf den Rechnern Outlook Express installiert? Deinstalliere es doch, wenn du es nicht brauchst.
  22. Stimmt. War ein Denkfehler von mir.
  23. Alternativ (wenn Topdesk das unterstützt) mit Hostheader oder mehreren IP's arbeiten. D.h. intranet:80 geht auf den IIS, topdesk:80 geht auf Topdesk. Noch ne Möglichkeit (wobei ich das eher anderst lösen würde) wäre ein Reverse Proxy.
  24. Danke für die Rückmeldung.
  25. Dann brauchst du den IIS dafür gar nicht und wenn du ihn für nichts anderes brauchst kannst du ihn deinstallieren, ansonsten einfach keine Webseite auf Port 80 laufen lassen.
×
×
  • Neu erstellen...