1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. Racer

Beiträge von Racer

  • Ordner mit laufender Nummer

    • Racer
    • 11. Dezember 2024 um 09:19

    Bin da voll bei Dir Moombas, aber manchmal muss man sich nach der Decke strecke. So manche Vorgaben von Andere provozieren bei mir auch immer nur ein Kopfschütteln....

  • Ordner mit laufender Nummer

    • Racer
    • 11. Dezember 2024 um 07:37

    Wenn sicher gestellt ist das in dem Zielordner keine anderen Verzeichnisse vorhanden sind, kann man mit _FileListToArray ($sBasisPfad, "*." ,2 ) die Anzahl der Ordner ermitteln und dadurch die nächste freie fortlaufende Nummer ermitteln.

    Bei ein paar hundert Verzeichnissen wird das egal sein, überhaupt wenn sie lokal liegen, aber wenn das mal auf einen Fileshare liegt von dem ich durch einen VPN-Tunnel auf die Firmendaten zugreiffe und dort liegen einige 10000 Ordner könnte das einen gewissen Geschwindigkeitsvorteil bringen...

    lg
    Racer

  • Smart TV Tips erbeten // erledigt

    • Racer
    • 7. November 2024 um 11:02
    Zitat von MojoeB

    genau das ist der punkt den ich gemeint habe bei den smarttvs heutzutage darfst du nichts mehr privat aufnehmen, du kannst es versuchen aber begibst dich automatisch in einen grau Bereich.

    Da muss ich Dir widersprechen. Mein "alter" Fernsehr (LG, ~ 5 Jahre alt) kann auf einen USB-Stick (HD geht auch) das Fernseheprogramm aufnehmen (nicht aus den Apps vie Netflix und Co).
    Das funktioniert auch zeitgesteuert, selbst wenn das Gerät auf Standby ist.
    Auch mein neues Gerät (Grundig, mit AndroidTV, ~1 Jahr alt) kann das.
    Was aus technischen Gründen nicht geht, ist eine Sendung aufnehmen und eine andere ansehen - dazu sind 2 Tuner notwendig und das haben meine Geräte nicht.

    Was aber bewusst sein muss: Beide Fernseher verschlüsseln die aufgezeichteten Daten, so das sie nur dort abgeschspielt werden können.

    lg
    Racer

  • Smart TV Tips erbeten // erledigt

    • Racer
    • 27. Oktober 2024 um 20:13
    Zitat von Kanashius

    Naja... basierend auf diesem Artikel von gestern würde ich sagen: Lass den SmartTV garnicht ans Internet und nutze nur HDMI zuspieler...

    https://www.heise.de/news/Moderne-D…er-9994787.html

    Echt ne Frechheit, was mittlerweile alles gemacht/überwacht/ausspioniert wird (oft für Werbung),...

    Sehr schöner Artikel....da hat man gleich die FQDN die man in die Kindersicherung eingeben kann ;) Oder in meinen Fall verwende ich ein WhiteList, damit der Fernseher nur dort hin kann wo ich es erlaube. Das ist zwar sicher nicht 100%ig, aber besser als gar nichts.

    Ach ja, auch diverse Webcams schicken Daten Kreuz und Quer durchs Internet zu irgendwelchen dubiosen Server nach China....Sind auch gleich im abgeschottenen Netz gelandet...

  • Smart TV Tips erbeten // erledigt

    • Racer
    • 26. Oktober 2024 um 21:20

    Hallo!

    Ich habe mir vor rund 1 Jahr eine neue Flimmerkiste angeschafft. Ich wollte als Betriebsystem unbedingt AndroidTV haben. Grund dafür war das ich doch ganz gerne die eine oder andere APP aus dem Store haben wollte (Kodi, ES-Explorer,..) und auf der anderen Seite auch ein bisschen für die Zukunft sicher zu sein - punkto App.

    LG und Samsung haben leider eine "Time-Soll-Bruchstelle", so nach 7 Jahren werden mehr oder weniger alle Geräte kaputt. Leider habe ich das selbst erlebt und ein Reparaturversuch bei einer kleinen Fachwerkstätte hat mir das auch bestädigt. Dort standen fast ausschliesslich LG und Samsung Geräte herum....

    Auch wenn diese zwei Hersteller sicher immer die modernsten Technologien haben, die ich nicht unbedigt benötige, bin ich auf einen Grundig Smart TV (75 Zoll) gekommen und muss sagen auch nach einem Jahr bin ich immer noch begeistert.

    Ich habe dann noch einen kleiner Fernsehr, das ich einmal bei einem Diskonter (Hofer, in DE heißt er Aldi) günstig erworben habe. Grundsätzlich funktioniert er gut, auch nach vielen Jahren nur das BS ist WebOS. Da ist man schon etwas eingeschränkt. Das was mich am meisten stört ist das er im Menü und bei den App recht langsam ist.
    Es kusieren auch Gerüchte das für die große Diskonter eine abgespeckte Geräte produziert werden die auf der einen Seite günstig sind, auf der anderen Seite halt (in dem Fall) etwas langsamere Prozessoren haben....aber als Zweitgerät ist das für mich noch OK.

    Was ich bei Smart-Geräten leider noch festgestellt habe: Selbst in den Menüs wird versucht Werbung zu machen (Videoeinblendungen!!) ...Ich habe daher an meinen Router für den Fernsehr die Kindersicherung aktiviert und lasse nur bestimmte DNS-Namen zu...Werbung weg und gut ist es.

    Ist schwer hier eine Empfehlung zu geben....Ich hoffe Du kannst meine Erfahung nutzen.

    lg
    Racer

  • Kennt jemand eine Open Source Werkstattverwaltungssoftware?

    • Racer
    • 11. Oktober 2024 um 21:53

    Hmm...hört sich für mich eher wie Lagerverwaltung an....vielleicht findest Du da in der Richtung was

    lg
    Racer

  • Exe digital Signieren

    • Racer
    • 2. Oktober 2024 um 11:45
    Zitat von Schnuffel

    Racer Lass uns teilhaben ... ^^

    Aber sicher doch!
    Im Anhang sind alle Dateien zum Signieren unter Windows dabei. Der Batchjob ist jetzt nicht perfekt von den Pfadangaben....kann sich ja jeder selber herrichten wie er möchte.

    lg
    Racer

    Und klar, man braucht sein eigenes Codesigner Zertifikat!

    Dateien

    signtool.zip 1,68 MB – 442 Downloads
  • Exe digital Signieren

    • Racer
    • 27. September 2024 um 18:10

    Hallo!

    Auch bei mir in der Arbeit ist das Ausführen von Programmen ganz streng geregelt. Zum Virenscanner, kommt noch Applocker und jetzt seit kurzen der MS Defender mit ERD,... dazu.

    Ausnahmen gibt es so gut wie keine...Aber da ich eine Signatur besitze darf ich Programme schreiben und auch ausführen. Nicht nur auf meinen ArbeitsPC sondern auch bei allen anderen Benutzer.

    Leider ist es so das die Art wie AutoIT ein lauffähiges Programm erzeugt eine Technik die auch die bösen Leute nutzen und darum schlagen immer wieder die Sicherheitsprogramme an.

    Ich habe das Signtool von Windows 10 so lange bearbeitet bis es eine "portable App" geworden ist und rufe das nur via Link und Batchjob auf. Wichtig ist auch der Timestamp! Allerdings wenn kann zu oft den Timestamp vom Internet holt verweigert das Service für eine gewissen Zeit den Zugriff. Daher ist meine Erfahrung das gleich beim Compilieren zu machen eher schlecht.

    lg

    Racer

  • _Timer_GetIdleTime

    • Racer
    • 19. Juli 2024 um 11:18

    Auch unter Windows 11 23H2 funktioniert das Tool!

    lg
    Racer

  • _Timer_GetIdleTime

    • Racer
    • 19. Juli 2024 um 09:15

    Test unter Windows 10 22H2 gesteuert mit einer Benutzer GPO: Der Test-User wurde wie definiert nach 10 Minuten ausgeloggt!
    Ich würde sagen voller Erfolg!

    vielen Danke nochmal an Alle!

    lg
    Racer

  • _Timer_GetIdleTime

    • Racer
    • 19. Juli 2024 um 07:45

    Liebe AutoITler!

    tiefste Verbeugung vor Eurem Nowhow und Eurer Hilfsbereitschaft!

    MojoeB : Ja das hat mir meine "Mustererkennung" auch gesagt, aber mir fehlt da einfach Wissen über die Programmiersprachen um das zu verstehen. Das Powershellscript funktioniert nach den ersten Test auch nicht so wie es soll. Bei den Tests hat es mich gleich ausgeloggt - nur um 15 Stunden zu früh.

    gmmg : Volltreffer! Das ist genau das was ich gesucht habe. Opensource-Tool und gesteuert via GPO: was gibt es Besseres!

    Bericht folgt ob das so funktioniert wie beschrieben

    lg

    Racer

  • _Timer_GetIdleTime

    • Racer
    • 18. Juli 2024 um 14:03

    Das hat mir ein Kollege gegben - verstehe ich leider genausoviel wie Dein Script, aber vielleicht kannst Du es mit Deinem kombinieren...

    param([string]$ComputerName=".")


    $cs=@'
    using System;
    using System.Runtime.InteropServices;

    public class WTSSessions
    {
    public enum WTS_TYPE_CLASS
    {
    WTSTypeProcessInfoLevel0,
    WTSTypeProcessInfoLevel1,
    WTSTypeSessionInfoLevel1
    }

    [DllImport("wtsapi32.dll")]
    public static extern void WTSFreeMemory(IntPtr ValuePointer);
    [DllImport("wtsapi32.dll")]
    public static extern void WTSFreeMemoryEx(WTS_TYPE_CLASS Type, IntPtr ValuePointer, int Count);
    [DllImport("wtsapi32.dll",SetLastError=true)]
    public static extern IntPtr WTSOpenServer(string ServerName);
    [DllImport("wtsapi32.dll", SetLastError = true)]
    public static extern IntPtr WTSOpenServerEx(string ServerName);
    [DllImport("wtsapi32.dll",SetLastError=true)]
    public static extern void WTSCloseServer(IntPtr ServerHandle);
    [DllImport("wtsapi32.dll", SetLastError = true)]
    public static extern bool WTSEnumerateSessions(IntPtr ServerHandle,UInt32 Reserved,UInt32 Version,ref IntPtr pBuffer,ref UInt32 Count);
    [DllImport("winsta.dll", SetLastError = true)]
    public static extern int WinStationQueryInformationW(IntPtr ServerHandle,uint SessionId,uint WinStationInformation,[Out] IntPtr pBuffer,uint BufferSize,ref uint BytesReturned);
    [DllImport("wtsapi32.dll", SetLastError = true)]
    public static extern bool WTSLogoffSession(IntPtr ServerHandle,uint SessionId,bool WaitForCompletion);

    private enum WINSTATIONINFOCLASS
    {
    WinStationInformation = 8
    }

    public enum WTS_CONNECTSTATE_CLASS
    {
    WTSActive,
    WTSConnected,
    WTSConnectQuery,
    WTSShadow,
    WTSDisconnected,
    WTSIdle,
    WTSListen,
    WTSReset,
    WTSDown,
    WTSInit
    }

    [StructLayout(LayoutKind.Sequential)]
    public struct WINSTATIONINFORMATION
    {
    [MarshalAs(UnmanagedType.ByValArray, SizeConst = 72)]
    Byte[] Reserved1;
    public UInt32 SessionId;
    [MarshalAs(UnmanagedType.ByValArray, SizeConst = 4)]
    Byte[] Reserved2;
    public System.Runtime.InteropServices.ComTypes.FILETIME ConnectTime;
    public System.Runtime.InteropServices.ComTypes.FILETIME DisconnectTime;
    public System.Runtime.InteropServices.ComTypes.FILETIME LastInputTime;
    public System.Runtime.InteropServices.ComTypes.FILETIME LoginTime;
    [MarshalAs(UnmanagedType.ByValArray, SizeConst = 1096)]
    Byte[] Reserved3;
    public System.Runtime.InteropServices.ComTypes.FILETIME CurrentTime;
    }

    public struct WinStationTimestampInfo
    {
    public int SessionID;
    public DateTime Connect;
    public DateTime Disconnect;
    public DateTime LastInput;
    public DateTime Login;
    public DateTime Current;
    }

    [StructLayout(LayoutKind.Sequential)]
    public struct WTS_SESSION_INFO
    {
    public uint SessionID;
    public string WinStationName;
    public WTS_CONNECTSTATE_CLASS State;
    }

    public static WTS_SESSION_INFO[] GetSessions(IntPtr hServer)
    {
    IntPtr pBuffer = IntPtr.Zero;
    IntPtr pWork = IntPtr.Zero;
    UInt32 nCount = 0;
    WTS_SESSION_INFO[] oaSessionInfo = null;

    try
    {
    if (WTSEnumerateSessions(hServer, 0, 1, ref pBuffer, ref nCount))
    {
    oaSessionInfo = new WTS_SESSION_INFO[nCount];
    pWork = pBuffer;

    for (int nSession = 0; nSession < nCount; nSession++)
    {
    oaSessionInfo[nSession] = (WTS_SESSION_INFO)Marshal.PtrToStructure(pWork,typeof(WTS_SESSION_INFO));
    pWork = new IntPtr(pWork.ToInt64() + 3*IntPtr.Size);
    }
    WTSFreeMemory(pBuffer);

    return oaSessionInfo;
    }
    else
    throw new Exception("WTSSessions.GetSessions() failed (Error " + Marshal.GetLastWin32Error() + " in WTSEnumerateSessions)");
    }
    catch (Exception oExc)
    {
    if (pBuffer != IntPtr.Zero)
    WTSFreeMemory(pBuffer);
    throw oExc;
    }
    }

    public static DateTime COMFileTimeToDateTime(System.Runtime.InteropServices.ComTypes.FILETIME oFT)
    {
    long nFT = (((long)oFT.dwHighDateTime) << 32) + oFT.dwLowDateTime;
    return DateTime.FromFileTime(nFT);
    }

    public static WinStationTimestampInfo GetTimestamps(IntPtr hServer, uint nSession)
    {
    WINSTATIONINFORMATION oData = new WINSTATIONINFORMATION();
    IntPtr pBuffer;
    WinStationTimestampInfo oResult;
    uint nBytesReturned;
    int nStatus;

    pBuffer = Marshal.AllocHGlobal(Marshal.SizeOf(oData));
    oResult = new WinStationTimestampInfo();
    nBytesReturned = 0;
    nStatus = WinStationQueryInformationW(hServer, nSession, (uint)WINSTATIONINFOCLASS.WinStationInformation, pBuffer, (uint)Marshal.SizeOf(typeof(WINSTATIONINFORMATION)), ref nBytesReturned);
    if (nStatus == 1)
    {
    oData = (WINSTATIONINFORMATION)Marshal.PtrToStructure(pBuffer, typeof(WINSTATIONINFORMATION));
    oResult.Connect = COMFileTimeToDateTime(oData.ConnectTime);
    oResult.Current = COMFileTimeToDateTime(oData.CurrentTime);
    oResult.Disconnect = COMFileTimeToDateTime(oData.DisconnectTime);
    oResult.LastInput = COMFileTimeToDateTime(oData.LastInputTime);
    oResult.Login = COMFileTimeToDateTime(oData.LoginTime);
    oResult.SessionID = (int)oData.SessionId;
    }
    Marshal.FreeHGlobal(pBuffer);

    return oResult;
    }

    }
    '@

    try { [WTSSessions] | Out-Null } catch { Add-Type -TypeDefinition $cs }

    $WTS=[WTSSessions]::WTSOpenServer($ComputerName)
    $sessions=[WTSSessions]::GetSessions($WTS)
    foreach ($session in $sessions)
    {
    if ($session.WinStationName -eq "Services" -or $session.State -eq [WTSSessions+WTS_CONNECTSTATE_CLASS]::WTSListen)
    {
    continue;
    }

    $timestamps=[WTSSessions]::GetTimestamps($WTS,$session.SessionID)
    if ($session.State -eq [WTSSessions+WTS_CONNECTSTATE_CLASS]::WTSDisconnected)
    {
    if ($timestamps.Login -eq [System.DateTime]::MinValue)
    {
    $idle=New-Object System.TimeSpan(0)
    }
    else
    {
    $idle=$timestamps.Current.Subtract($timestamps.Disconnect)
    }
    }
    elseif ($session.State -eq [WTSSessions+WTS_CONNECTSTATE_CLASS]::WTSActive)
    {
    if ($timestamps.Login -eq [System.DateTime]::MinValue)
    {
    $idle=New-Object System.TimeSpan(0)
    }
    else
    {
    $idle=$timestamps.Current.Subtract($timestamps.LastInput)
    }
    }
    else
    {
    $idle=New-Object System.TimeSpan(0);
    }

    Write-Host "$($session.WinStationName) $($session.State) $($idle)"

    if (([int]$idle.TotalHours) -gt 18)
    {
    Write-Host " ==> LOGOFF"
    [WTSSessions]::WTSLogoffSession($WTS,$session.SessionID,$true)
    }
    }
    [WTSSessions]::WTSCloseServer($WTS)

  • _Timer_GetIdleTime

    • Racer
    • 18. Juli 2024 um 13:15

    Hallo MojeB!
    Ob es ein Dienst ist oder ein Task der mit Systemrechte getriggert wird ist egal. Wichtig ist das ich diese Idle-Time vom Benutzer herausfinde...

    lg
    Racer

  • _Timer_GetIdleTime

    • Racer
    • 18. Juli 2024 um 11:14

    Hallo Moombas!

    Das umloggen ist ein guter Ansatz, aber es ist auch nur ein "anmelden"....wird nicht weiter unterschieden! Der aktive User kann selbst keinen anderen User ausloggen, da fehlen die Rechte dazu.

    Ich habe nur die Möglichkeit das im betreffenden Userkontext laufen zu lassen und irgendwie ein loggoff zu ermöglichen oder ich lasse was am System laufen (mit hohen Rechten) der die Usersession auswertet und bei Bedarf dann ein Logoff auf den User/Session macht.

    Hätte ich fast vergessen: Das lauft immer nur auf den Client, also keine Auswertung übers Netz (:klatschen:)

    Bitte nicht nach den Sinn fragen - das habe ich schon vor langer Zeit aufgegeben. Ich habe einen Scherbenhaufen übergeben bekommen und muss jetzt sehen ich damit klar komme ohne den laufenden Betrieb zu behindern.

    Nur so das Du Dir den (Computer)-IQ von meinen Benutzer vorstellen kannst: Nach mehr als 10 Jahre Terminalserver wissen meine User immer noch nicht das man dort ausloggen soll. Alle machen nur das Fenster zu und gehen heim....und wenn man es ihnen sagt ist es ihnen auch egal....

    lg

    Racer

  • _Timer_GetIdleTime

    • Racer
    • 18. Juli 2024 um 10:44

    Hallo!

    Ich stehe vor einer Aufgabe die sich als tückischer als am Anfang geglaubt habe heraus stellt: Es gibt immer (leider) Benutzer die sich einen PC teilen müssen und daher den "schnellen Benutzerwechsel" verwenden. Da ist jetzt noch nichts verwerfliches daran, aber wenn auf doch eher schwach ausgestatten Rechner 10 oder mehr Benutzer angemeldet sind wird das zum Problem.

    Jetzt soll ich einen automatischen Logout nach x Stunden Inaktivität machen. GPO gibt da keine (ist keine RDP-Sitztung), Boardmittel sind nicht vorhanden. Jetzt hatte ich die Idee ein kleines Programm dem Benutzer zu gegben der die _Timer_GetIdelTime auswertet und nach einer Zeitvorgabe ein Logoff durchführt.

    Jetzt kommt der Teil der leider nicht funktioniert: Das Programm läuft auch weiter wenn sich ein andere Benutzer anmeldet (mit Logfile wegschreiben getestet), nur das logoff sei es aus Autoit oder auch mit logoff.exe wird einfach nicht durchgeführt bzw. einfach ignoriert.

    Setzte ich ein logoff /sessionID mit erhöhten Rechten auf den auszuloggenden User ab funktioniert das. Nur aus dem Kontext heraus kann ich nicht die Idle-Time des Benutzer feststellen :(
    Quser.exe hat ein paar Bugs und zeigt nicht immer die richtige Idle-Time an...das hatte ich auch schon am Schirm!

    Nun zur AutoIT-Frage: gibt es eine Möglichkeit die Idle-Time für alle User abzufragen (mit erhöhten Rechten oder als System? Oder hat wer eine ganz andere Idee wie man das lösen kann?

    lg

    Racer

  • Denkknoten im Umgang mit Timerinit/Timerdiff

    • Racer
    • 12. Juli 2024 um 18:49

    Für eine asynchrone Anzeige (Hinweis, Zähler,...) habe ich die Funktion mit Adlib sehr zu schätzen gelernt. Vorallem kann das echt Speed in deinen Projekten bringen...

    Beipspiel: Du hast eine Schleife mit 100000 Durchläufe, dazwischen Berechnungen und vielleicht ein paar Strings die du noch parsen musst. Wenn Du bei jedem Durchgang die Anzeige refresht kostet das wertvolle Rechenzeit. Nichts Anzeigen frustiert, aber wenn sich die Anzeige nur alle 5 Sekunden ändert sieht man den Fortschritt und das Script läuft richtig flott.

    Ist nur ein Gedanke bzw. meine Erfahrungen...

    lg

    Racer

  • Laminat Calculator

    • Racer
    • 11. Juni 2024 um 19:48

    Was mich immer faziniert das wir EDV-Fuzzis für alles ein Programm schreiben müssen;)
    Da ich aber auch so ticke verstehe ich das voll und ganz...

    Vielleicht ein paar Anmerkungen:
    Man kauft ja immer eine Packung und dort stehen die m2 oben (z.B.: 1.92m2)....da wäre jetzt noch nett wenn die aufgerundet gleich die Packungsanzahl hätte.
    Fehlerquote...also wie oft vernichte ich durch vermessen, verschneiden einen Teil; Nichts ist ärgerlicher wenn es sich um 1 ode 2 Bretter (Dielen) wegen der eigenen Unfähigkeit nicht ausgeht. Was dazupasst: Räume sind nie quatratisch und eine Wand ist nie gerade, ganz besonders im Altbau...

    Bei mehrern Räumen gibt es Türen und damit einen Durchgang. Das sollte man auch beachten. Ich hatte mal so eine Kaminwand mit Durchgang da hat gleich 1m2 Boden reingepasst...

    lg
    Racer

  • Ordnerverzeichnis auslesen und in Array speichern, anschließendes weiterverarbeiten

    • Racer
    • 27. Mai 2024 um 12:01

    Hallo!

    Ist nicht ganz ein AutIT-Thema aber Profile für den Firefox lassen sich sehr leicht und und Profilemanager mit vernünftigen Namen erstellen.

    Wichtig ist nur die Ordnerstruktur zu behalten und ein paar Konfigdateien das richtige hinschrieben. Solltest Du für andere Benutzer die Profiles vorab anlegen wollen, dann musst noch ein bisschen mit den Dateirechten herumspielen (ACLs), ist aber nicht wild.....

    meiner persönlichen Meinung ist das Profilemanager zum schmeissen...

    lg

    Racer

  • Von Systemaccount generierte Gui im Userkontext anzeigen

    • Racer
    • 7. Mai 2024 um 07:05

    Hallo!

    Ich weiß leider auch keine direkten Weg, aber ich hatte so etwas ähnliches mal: Der Benutzer sollte auf einer GUI ein Systembackup (Diskimage) auslösten können. Dazu war es aber notwendig die Bootauswahl von Windows zu ändern und ein Flag zu setzten.

    Ich habe die Programm quasi geteilt: Der Benutzer (nur Userrechte) setzt via GUI ein Flag (Datei oder Registry) und ein Taks hat das überwacht und dann abgearbeitet.

    Bei Dir würde es umgekehrt gehen: Ein Benutzertask/Prozess (muss unter den User ausgeführt werden der angemeldet ist) überwacht ein Ereignis das ein anderer Prozess auslöst und dann zeigt der Userprozess an was Du brauchst. Unterm Strich brauchst Du die Möglichkeit eines gemeinsamen Nenners der einen Austausch zwischen Prozessen ermöglicht. Datei oder Registry ist am Einfachsten, TCP/IP auf 127.0.0.1 Port xxx würde auch gehen. Ich bin sicher das hier einige Gurus auch eine Interprozess-Kommunikation (ich glaube so heißt das) kennen-

    lg

    Racer

  • Mit Autoit eine BIOS Option ändern?

    • Racer
    • 26. April 2024 um 07:58

    Hallo!

    Da HP immer grauslicher wird und immer wieder Tools einstellt um Biossetting zu machen bzw. auch Updates durchzuführen (nicht interaktiv sondern gescriptet) verwenden wir das BiosSledgehamme-Tool:

    GitHub - texhex/BiosSledgehammer: Automated BIOS, ME, TPM firmware update and BIOS settings for HP devices
    Automated BIOS, ME, TPM firmware update and BIOS settings for HP devices - texhex/BiosSledgehammer
    github.com

    Biite unbedingt aufpassen ....damit kann man sich auch ganz schnell einen Client zerschiessen und mehr oder weniger zu Elektroschrott verwandeln....

    lg

    Racer

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™