Jump to content

BOfH_666

Expert Member
  • Gesamte Inhalte

    2.038
  • Registriert seit

  • Letzter Besuch

Beiträge erstellt von BOfH_666

  1. vor 2 Stunden schrieb OhGottSkripte:

    Das Problem:

    Ich habe folgende Zeile in meiner Batch stehen

    schtasks /create /tn Aufgabe_nach_Neustart /tr C:\temp\Aufgabe_nach_Neustart.bat /sc onstart /ru system /rl highest /z

     

    Hast Du diese Kommandozeile mal manuell ausgeführt? Wird der Task angelegt? Eigentlich solltest Du CMD.exe starten und die BATCH Datei als Argument "/C C:\temp\Aufgabe_nach_Neustart.bat" übergeben.  ... der Pfad stimmt so?

  2. vor 10 Minuten schrieb orkon:

    Bin auch so in der Thematik nicht drin (PowerShell) 

    Du erwartest also, dass Dir hier jemand den Code frei Haus liefert, oder wie soll man diesen Satz verstehen?

     

    Wenn der Code in Deiner Frage von Dir ist, scheinst Du ja mit dem Konzept der Pipeline vertraut zu sein, oder?

     

    Wenn Du jetzt Deine Liste von Dateien hast ($FileList), dann selektierst Du einfach die ersten 50 mit "Select-Object -First 50" und leitest sie per Pipeline weiter an ein "Move-Object"  :neutral2:

  3. Die Frage passt dann wohl eher in "Scripting" Unterforum. ;-) 

     

    Wonach hast Du denn gesucht? Ich finde relativ viel zu diesem Thema:

    https://www.google.com/search?q=cmd+batch+create+shortcut&oq=cmd+batch+create+shortcut

     

    Davon unabhängig - man kann Verknüpfungen auch einfach kopieren. Also je nach dem, was Du genau machen möchtest, kannst Du einmal auf einem System eine Verknüpfung anlegen und diese dann auf andere Systeme kopieren - natürlich unter der Voraussetzung, dass der Pfad auf den Ziel-Systemen der gleiche ist.

     

    Mit aktueller Technologie geht das übrigens auch ... mit PowerShell:

    Das cmdlet "New-Item" hat den Parameter "-ItemType". Diesem kannst Du als Wert "SymbolicLink" mitgeben und damit auch eine Verknüpfung erzeugen.

    https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.management/new-item?view=powershell-7.3

     

     

     

  4. vor 9 Stunden schrieb Peter Weinrich:

    Wie macht ihr das?

     

    Ganz allgemein gesprochen, musst Du einfach sicherstellen, dass kein Account der Schreibrechte auf die ursprünglichen Daten hat, auch Schreibrechte auf die Backup-Daten hat. Ein Verschlüsselungstrojaner verrichtet sein destruktives Werk ja üblicherweise mit den Rechten eines Benutzers, der auf die Nutz-Daten Schreibrechte besitzt. ;-) 

  5. vor 3 Stunden schrieb daabm:

    curl ist ein Alias für Invoke-Webrequest.

     

    Das wusste ich tatsächlich. Aber wenn ich sowieso schon PowerShell nutze, würd ich dann lieber das cmdlet nutzen.

     

    vor 3 Stunden schrieb daabm:

    Und eine curl.exe in System32 hat dann "irgendwer" da hinkopiert. "Aus dem Nichts" ist sie nicht vorhanden.

     

    Das habe ich heute auch erst gelernt - Windows 10 und 11 bringen die tatsächlich schon mit - raus aus der Kiste - sozusagen. ;-)  :D  Ist vielleicht nicht die aller-aller-aktuellste Version, aber vermutlich für 99% der Alltagsfälle ausreichend.   

  6. vor 54 Minuten schrieb Osel:

    Vielleicht beschreibe ich mein Problem so: Ich habe noch Verständnisprobleme mit dem Ansprechen einer Variable. $_. ist z. B. eine Besonderheit von dem where-object. Ich glaube auch zu wissen, dass immer nur ein Objekt über die Pipe "wandert".

    $_ representiert immer das jeweilige Pipeline-Objekt an der aktuellen Stelle der Pipeline. Möchtest Du an einer späteren Stelle der Pipeline auf Elemente von einer früheren Stelle zugreifen, musst Du an der Stelle den "common Parameter" "-PipelineVariable" einsetzen, von dem Du später die Werte anzeigen möchtest. Also so, wie ich das in meinem Code-Beispiel gemacht habe.

     

    Hier noch ein bissl Material zum Nachlesen:

     

    https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_commonparameters?view=powershell-7.2

     

    https://fercorrales.com/powershell-practical-use-of-pipelinevariable-common-parameter/

     

    https://mcpmag.com/articles/2016/12/15/pipelinevariable-common-parameter.aspx

     

    Eine weitere häufig genutzte Möglichkeit wäre, eine Schleife einzusetzen und darin ein "[PSCustomObject]" zu benutzen:

     

    $Result =
    Get-ChildItem -Path 'U:\Eigene Dateien\Privat' -Recurse  -filter *.pdf |
        Where-Object { $_.LastWriteTime -gt (Get-Date).AddDays(-300) }  |
            ForEach-Object {
                $ACL = Get-Acl -Path $_.FullName
                [PSCustomObject]@{
                    Owner         = $ACL.Owner
                    Name          = $_.Name
                    FullName      = $_.FullName
                    LastWriteTime = $_.LastWriteTime
                }
            }
    $Result 

     

     

    • Danke 1
×
×
  • Neu erstellen...