Jump to content

Helado

Members
  • Gesamte Inhalte

    19
  • Registriert seit

  • Letzter Besuch

Beiträge erstellt von Helado

  1. Guten Tag zusammen,

     

    ich versuche gerade via einer GPO eine *.exe-Datei von einem Netzlaufwerk auf mein Rechner zu kopieren:

     

    1. Habe eine neues Objekt angelegt und bearbeitet

    2. Unter Computerkonfiguration --> Einstellungen --> Windows Einstellungen --> Dateien: Aktion: Erstellen, Quelldatei: \\192.168.1.12\Releases\InternalTools\tet.exe Zieldatei: %PROGRAMFILES(x86)%\Tet-Software\TET\tet.exe

     

    Auf dem Zielrechner: gpupdate /force, ohne Erfolg... was mach ich falsch?

     

    Danke!

  2. Ich habe es mal so versucht, haut aber von vorne bis hinten nicht hin:

    $architecture = (Get-WmiObject win32_processor | Where-Object{$_.deviceID -eq "CPU0"}).AddressWidth
    If ($architecture -eq 64) {
        $FolderPath = "C:\Program Files (x86)\Test(x86)"
    } else {
        $FolderPath = "C:\Program Files\Test"
    }
    
    if (!(Test-Path $FolderPath))
    {
       New-Item -Path "C:\Program Files (x86)" -Name Test(x86) -ItemType directory
       Write-Host "Neuer Ordner wurde angelegt"
    }
    else
    {
      Add-Content -Path "C:\Program Files" -Name Test -ItemType directory
      Write-Host "Ordner existiert bereits"
    }

     

  3. Hallo Community,

     

    ich versuche gerade ein PowerShell Script zu basteln, besser gesagt: zusammen zu würfeln um NTFS Berechtigungen zu setzen für Gruppen. 

     

    Ich bekomme es aber nicht hin, die Objekt- und Containervererbungen zu implementieren (zuvor hatte ich ein Batch-Script mit .../grant Benutzer: (CI)(OI)(M). Modify Rechte habe ich bereits vergeben. Hier mal mein Script:

     

    # Is this a Wow64 powershell host
    function Test-Wow64() {
        return (Test-Win32) -and (test-path env:\PROCESSOR_ARCHITEW6432)
    }
    
    # Is this a 64 bit process
    function Test-Win64() {
        return [IntPtr]::size -eq 8
    }
    
    # Is this a 32 bit process
    function Test-Win32() {
        return [IntPtr]::size -eq 4
    }
    if (!(Test-Path "C:\MyFolder"))
    {
       New-Item -Path C:\ -Name "MyFolder" -ItemType directory
       Write-Host "Neuer Ordner wurde angelegt"
    }
    else
    {
      Add-Content -Path C:\ -Name "MyFolder" -ItemType directory
      Write-Host "Ordner existiert bereits"
    }
    
    #Benutzer
    $Right="Modify"
    $path="C:\MyFolder"
    $Principal= New-Object System.Security.Principal.SecurityIdentifier 'S-1-5-32-545'
    $rule=New-Object System.Security.AccessControl.FileSystemAccessRule($Principal,$Right,3, 0,"Allow")
    $acl = get-acl $path
    $acl.SetAccessRule($rule)
    set-acl $path $acl
    
    #Authentifizierte Benutzer
    $Right="Modify"
    $path="C:\MyFolder"
    $Principal= New-Object System.Security.Principal.SecurityIdentifier 'S-1-5-11'
    $rule=New-Object System.Security.AccessControl.FileSystemAccessRule($Principal,$Right,3, 0,"Allow")
    $acl = get-acl $path
    $acl.SetAccessRule($rule)
    set-acl $path $acl
    
    #Administratoren
    $Right="Modify"
    $path="C:\MyFolder"
    $Principal= New-Object System.Security.Principal.SecurityIdentifier 'S-1-5-32-544'
    $rule=New-Object System.Security.AccessControl.FileSystemAccessRule($Principal,$Right,3, 0,"Allow")
    $acl = get-acl $path
    $acl.SetAccessRule($rule)
    set-acl $path $acl
    
    #PowerUsers
    $Right="Modify"
    $path="C:\MyFolder"
    $Principal= New-Object System.Security.Principal.SecurityIdentifier 'S-1-5-32-547'
    $rule=New-Object System.Security.AccessControl.FileSystemAccessRule($Principal,$Right,3, 0,"Allow")
    $acl = get-acl $path
    $acl.SetAccessRule($rule)
    set-acl $path $acl
    
    #System
    $Right="Modify"
    $path="C:\MyFolder"
    $Principal= New-Object System.Security.Principal.SecurityIdentifier 'S-1-5-18'
    $rule=New-Object System.Security.AccessControl.FileSystemAccessRule($Principal,$Right,3, 0,"Allow")
    $acl = get-acl $path
    $acl.SetAccessRule($rule)
    set-acl $path $acl
    

     Weiß jemand zufällig, wie ich das in meinem bisherigen Script implementieren kann?

     

    Vorab vielen Dank!

  4. Hallo Community,

     

    ich habe eine Frage zu einem PowerShell Script:

     

    Ich möchte von allen Userdaten (bin Administrator) das Erstelldatum sowie Größe der Datei (um einen Vergleich zu machen) erstellen.

     

    Einen Anfang habe ich bereits gemacht:

    [String] $folder="H:\";
    Get-ChildItem -Path $folder -Recurse | SELECT Attributes, Name, CreationTime, Size | Format-Table -AutoSize > C:\tmp\ausgelesen_h_out.txt;
    

    Ich bekomme aber nicht angezeigt, wie groß die Dateien im Einzelnen sind.

     

    Das hier:

    $rootPath = „H:\home\“
    $colItems1 = Get-ChildItem $rootPath
    foreach ($i in $colItems1)
    {
    $colItems = (Get-ChildItem -recurse „$rootPath\$i“ | Measure-Object -property length -sum)
    „{0:N2}“ -f ($colItems.sum / 1GB) + “ GB,$i“
    „{0:N2}“ -f ($colItems.sum / 1GB) + “ GB,$i“ >>C:\Temp\ErgebnisDerZählungGB.txt
    }
    

    zeigt mir an, wie groß eine Datei ist. Habe mehrmals versucht,  beide Skripte zu vereinen, bekomme aber nur Fehlermeldungen...


    Habe was gefunden und es funktioniert zwar, aber nicht so wie ich es gern hätte:

    [String] $folder="H:\";
    Get-ChildItem -Path $folder -Recurse | Select-Object -property Name, CreationTime, Length | Format-Table -AutoSize > C:\tmp\ausgelesen_h_out.txt;
    

    Ich bekomme nun die Bytes angezeigt und nicht MB, wie kann ich das entsprechend ändern?

  5.  

    Wir hatten öfters die Fälle, das wir die Räume mit über 30 Studenten voll hatten und dann waren mehrere Arbeitsstationen gesperrt, weil dort gerechnet wurde. Die Studenten in der Vorlesung haben dann b***d in die Röhre geschaut, weil sie keinen Platz mehr hatten. 

     

    Früher wurden die Computer über 60 Minuten Leerlauf heruntergefahren, bis die Studenten gecheckt haben einfach ein Stück Papier in die STRG-Taste genau das umgeht.

     

    Du könntest ab der abendlichen Abschaltzeit ein Skript aktivieren, welches ausließ ob ein Benutzer angemeldet ist. Z.B. über die Variable %Username% oder in der Powershell mit $env:Username und dann entscheidet. 

    #requires -Version 1.0
    
    if ($env:USERNAME -like '')
    {
      shutdown.exe /s /t 300 /c "Der Computer wird in 5 Minuten heruntergefahren. Speichern Sie nun Ihre Daten."
    }
    

    Also mit einem PowerShell Skript wie von dir oben beschrieben, kann ich so ausführen?

  6. Moin und willkommen am Board :)

     

    wo wird denn das Robocoy ausgeführt, auf einer WS, auf einem der beiden Server?

     

    Jedenfall wird auf die Quelle und Ziel über das Netzwerk zugegriffen.

     

    Angenommen, Robocopy wird auf dem Quellgerät ausgeführt, dann könnte man direkt auf das Quellverzeichnis (Laufwerk\Verzeichnsis) zugreifen, ohne den Umweg über das Netzwerk.

     

    Funktioniert auch die Namensauflösung per DNS wirklich? Man könnte anstelle von NetBIOS Name oder FQDN die IP des Gerätes verwenden.

     

    Danke für die Antwort!

     

    Ich habe mal den FQDN genommen und der ist auch erreichbar. Momentan kopiere ich mit 7MBit/s...

     

    Robocopy wird auf dem Quelrechner ausgeführt und nicht auf Quel- und ZielPC.

     

    Seitdem ich das Script angepasst habe erscheint in der Logdatei "100%" und das dutzendfach.... Was hat das zu bedeuten?

    Hier mal ein Auszug aus eine der Logdateien:

    
    -------------------------------------------------------------------------------
       ROBOCOPY     ::     Robustes Dateikopieren fr Windows                              
    -------------------------------------------------------------------------------
    
      Gestartet: Wed Feb 01 09:08:28 2017
    
       Quelle : \\winserv1\h$\home\user1\
         Ziel : \\winserv2\h$\home\user2\
    
        Dateien : *.*
    	    
      Optionen: *.* /NDL /NFL /S /E /COPYALL /ZB /IS /MT:16 /R:0 /W:0 
    
    ------------------------------------------------------------------------------
    
    100%  
    100%  
    100%  
    100%  
    100%  
    100%  
    100%  
    100%  
    100%  
      0%  
    

    Es gibt auch Logdateien, da ist die "100%" unzählige Male vorhanden...

    Hier mal eine Logdatei, wenn alles einwandfrei kopiert wurde:

        Dateien : *.*
    	    
      Optionen: *.* /NDL /NFL /S /E /COPYALL /ZB /IS /R:0 /W:30 
    
    ------------------------------------------------------------------------------
    
    
    ------------------------------------------------------------------------------
    
               Insgesamt   KopiertšbersprungenKeine šbereinstimmung    FEHLER    Extras
    Verzeich.:      1357         0      1357         0         0         0
      Dateien:     21245     21245         0         0         0         0
        Bytes:  61.673 g  61.673 g         0         0         0         0
       Zeiten:  17:17:42  17:16:51                       0:00:00   0:00:51
    
    
    Geschwindigkeit:             1064456 Bytes/Sek.
    Geschwindigkeit:              60.908 Megabytes/Min.
    
      Beendet: Wed Feb 01 00:45:48 2017
    
  7. Wir wollen für unsere Vorlesungen nicht das die Computer gesperrt / belegt sind. Simulationen können sie machen, solange sie an dem PC sitzen. Das Sperren der Arbeitsstation haben wir auch gesperrt. Wir haben eigene Server auf denen die Studenten rechnen können. Bsp. Ansys..

    Ja! Das haben wir auch, sehr guter Einwand, kann ich gleich intern mal besprechen.

     

    Das finde ich im Übrigen auch eine gute Idee --> verhindern, dass der PC gesperrt wird. Ich sage nur LabVIEW, Matlab etc... :-/.

     

    Wie gesagt, es gibt welche, die bleiben bis 12 Uhr Nachts....

    Moin,

     

    wurde denn schon einmal in die Aufgabenplanung geschaut?

     

    Ja, suche mich gerade durch und so lerne ich was dazu :-)

  8. Update:

     

    /MT gibt es unter 2008R2 doch, nur nicht unter 2008.


    /B steht für "Backup Mode".

     

    Was Ihr da jede Nacht  wie spiegelt, verstehe ich nicht ganz. Ich könnte jetzt sagen: Man macht sich im Vorfeld um ein vernünftiges Backup & Recovery-Verfahren Gedanken und testet, ob das Recovery auch funktioniert. 

     

    Mein Kollege hat jede Nacht inkrementell die Daten gespiegelt, sollte mal ein Ausfall bzw. Festplattendefekt da sein, kann der andere Server einfach übernehmen.

  9. Virenscanner  temporär abschalten.

     

    /MT gibt es beim Robocopy aus 2008R2 noch nicht.

     

    Wir migrieren gerade auch versuchsweise Daten mit Robocopy. Unter 2012R2 läuft es wirklich schneller. Du solltest noch "/B" benutzen. Sonst fehlen hinterher u.U. NTFS-Rechte.

     

    Na toll, so eine *****. Das wäre meine letzte Hoffnung gewesen (MT). Was genau bedeutet B?

     

    Das Problem besteht darin, dass die beiden Server jede Nacht gespiegelt werden. Auf einem Server waren nach dem Hardware Defekt war (nach dem Rebuild) weniger Daten vorhanden als auf dem anderen Server zugleich defekte Dateien, somit Kopiere ich alle Dateien unserer Mitarbeiter rüber und ersetze sie... Geht halt verdammt langsam :-)

     

    Mein Vorgesetzter kam mit der Idee: Fastcopy... Option?

  10. Moin,

     

    wir machen das ähnlich, aber vom Server aus angeschubst, wenn der Scan durch ist.

     

    ;)

     

     

    Wie meinst du, vom Server aus? Vom AD Server?

    Hier könntest du 2 Trigger in der Aufgabenplanung erstellen. Einer beim Abmelden der den Prozess startet und einer beim Anmelden, der diesen wieder killt (falls innerhalb der 15min sich wieder jemand anmeldet)

     Das wäre eine gute Idee ja. Das Problem besteht darin, dass manche Studenten hier noch sind bis 22 Uhr.. deshalb die Frage, ob es ein Befehl gibt, der schaut, ob ein User angemeldet ist, so nicht, herunterfahren.

  11. Moin,

     

    das robocopy command sieht zunächst gut aus. Danke

    Wie sieht es den mit den technischen Gegebenheiten aus?

    Was sind es für Server? Phys. oder virtuell? Zwei Physikalische Windows Server mit Windows Server 2008 R2

    Findet sich auf den Maschinen im Übertragungszeitaum im Eventlog irgendwelche Meldungen? Nein, es wird lediglich angezeigt, ob es Fehlermeldungen gab, wieviel Daten und welche Datenmenge übertragen wurde, ganz unten dann die Übertragungsgeschwindigkeit

    Waren auf beiden Maschinen z.B. die Virenscanner aktiv? Ja, auf beiden Server ist McAfee 8 aktiv

    Sind in den Dateien viele kleine Dateien enthalten oder gar viele Zipfiles? ZIP-Files nicht, dafür kleine Dateien, wie gesagt, über 1 MIO Dateien mit einer Gesamtgroße i.H.v. 13 TB...

    Beides kann gerade bei aktivem Virenscanner den Vorgang ausbremsen. Na dann schalte ich den mal ab wa :-)

     

    Gruß Sebastian

    Moin,

    schau Dir mal folgenden Link an: http://www.prontosystems.org/win/robocopy

    Liefert Alles was Du an Erklärungen brauchst!

    Grundsätzlich kopiert robocopy File2File. Bei extrem vielen kleinen Dateien die kopiert werden müssen ist das Schnarchlahm! Daher sollte man dann die Anzahl der parallelen Kopieroptionen erhöhen: Option /MT:16

     

    Gruß

    Dirk

     

    Danke für die hilfreichen Informationen!

     

    Heißt auf Gutdeutsch: einfach ein /MT:16 im Skript hinzufügen? Kann ich dies einfach einfügen bei jedem Skript oder muss ich vorher schauen, wieviel Dateien vorhanden sind?

    Also so?

    robocopy.exe "\\winserv1\h$\home\user1" "\\winserv2\h$\home\user2" /ZB /COPYALL /MT:16 /E /IS /R:0 /NDL /NFL /LOG:"C:\rsync\_user1.txt"
    
    
  12. Hallo Community,

     

    ich bin auf der Suche nach einem Skript mit folgenden Eigenschaften:

     

    Wenn ein am PC keiner angemeldet ist soll PC herunterfahren

    Generell soll der PC herunterfahren um 19 Uhr, aber nur wenn keiner eingeloggt ist.

    Hochfahren muss nicht sein, das kann der User selbst.

     

    Bis jetzt habe ich folgendes:

    @ echo off
    title shutdown.bat
    shutdown -f -s -t 25 -c "This computer will shutdown now"
    

    Es gibt zwar sogenannte Shutdownmanager aber ich tue es lieber mit einem Skript. Dies kann ich im Autostart einfügen und die Berechtigungen entsprechend so setzen, dass ein normaler User das Skript weder sehen, noch ändern kann.

  13. Hallo Community,

     

    an Weihnachten sind im RAID5 zwei Festplatten ausgefallen. Ich bin nun dabei (auf der Arbeit) alle Daten zurück zu kopieren (beide Server werden gespiegelt und manche Daten konnten nicht geöffnet werden, weil sie kaputt waren). Mein Skript sieht wie folgt aus:

    robocopy.exe "\\winservs1\h$\home\user1" "\\winserv2\h$\home\user1" /ZB /COPYALL /E /IS /R:0 /W:0 /NDL /NFL /LOG:"C:\rsync\_user1.txt"
    
    

    Es sind insgesamt 13,3 TB zu kopieren mit üver 1 Mio. Daten. Als es ein Netzwerkausfall gab am Campus, gab es ein Fehlerbericht worin stand, dass der Vorgang mit 7 MB/s voranschritt... naja, schleicht besser gesagt obwohl wir Gigabit Ethernet haben...

     

    Hab ich ein Fehler im Skript?

×
×
  • Neu erstellen...