Thursday, 12 October 2017

New Item Property Propertytype Binary Options


Wie man einen binären Registrierungswert (REGBINARY) mit PowerShell setzt Ich muss einige Eigenschaften des ASP State Service mit einem PowerShell-Skript ändern. Leider können Sie mit dem eingebauten PowerShell-Cmdlet Set-Service nur die Servicebeschreibung, den Starttyp, den Anzeigenamen und den Status ändern. Ich muss die Eigenschaft "Nachfolgende Fehler" auf der Registerkarte "Wiederherstellung" (beim Anzeigen der Diensteeigenschaften) ändern. Ich fand, dass dieser Wert in der Registry als REGBINARY-Wert gespeichert wurde. Ein Export des Wertes sieht so aus: In Powershell gibt es ein Set-ItemProperty-Cmdlet, mit dem Sie Registrierungswertwerte festlegen können. Für einen String - oder Dword-Wert können Sie einfach einen String oder einen Int übergeben. Ich weiß, welche Hex-Wert in der Array zu ändern, aber ich kann nicht herausfinden, wie man einen binären Wert setzen. Fragte am 1. Juli um 17:24 Ist es nur mich, wer das fühlt, dass der Hauptteil dieser Frage ist, wie würdest du das Original ändern: In ein Format wie: EDIT: Nach dem Versuch, diese Arbeit zu bekommen, stellt sich heraus, dass du nur Präfix hast Alle Paare mit 0x. Nicht sicher, warum das nicht in der Antwort erwähnt wurde. Also ändern Sie einfach die oben auf: Dann wickeln, dass in der folgenden: beantwortet Okt 20 14 um 7:47 Dieser Beitrag hat mir mit ähnlichen Problem geholfen. Danke Bringing xBr0k3n und Howards Antworten zusammen: beantwortet 7. November 15 um 18:46 Ihre Antwort 2017 Stack Exchange, IncI Ich versuche, eine benutzerdefinierte Registrierung Eintrag, den ich aus einer Testmaschine exportiert. Es sieht aus wie unten. Ich kam auf diese ähnliche Anfrage auf einer anderen Website, aber ich konnte nicht machen, dass es zu arbeiten. TextFontSimplehex: 3c, 00,00,00,1f, 00,00, f8,00,00,00,40, dc, 00,00,00,00,00,00, 00,00,00,00, ff, 00,31,43,6f, 75,72,69,65,72,20,4e, 65,77,00,00,00,00,00,00,00, 00,00,00,00,00, 00,00,00,00,00,00,00,00,00,00,00 Wie pro die andere Lösung, mein PS-Befehl unten, wirft Fehler. Ein Parameter kann nicht gefunden werden, der mit dem Parameternamen Set-ItemProperty - Path HKEYCURRENTUSERSoftwareMicrosoftOffice14 übereinstimmt .0CommonMailSettings - Name TextFontSimple - PropertyType Binary - Value (Byte (0x3c, 0x00,0x00,0x00,0x1f. 0x00)) Der Key-Amp-Wert existiert bereits. Wenn ich Get-ItemProperty verwende Um herauszufinden, was mit dem direkten Registry-Setting-Ansatz schief gegangen ist, müssen Sie mehr Informationen über das, was Sie versucht haben und was schief gelaufen ist. Für den Powershell-Ansatz scheinst du New-ItemProperty und Set-ItemProperty zu verwirren. Bei der Erstellung eines neuen Wertes können Sie den Typ einstellen. Wenn Sie einen vorhandenen Wert ändern, können Sie dies nicht für alle Methoden zum Ändern der Windows-Registry wahrnehmen, und der Grund dafür, dass Ihr Parameter - PropertyType den Befehl zum Fehler verursacht. Wenn der Wert bereits vorhanden ist, aber nicht richtig eingestellt ist: Wenn es nicht vorhanden ist: Microsoft hat die Registrierung auf einfache Weise mit Powershell zugänglich gemacht. Sie können die Systemregistrierung wie jedes andere Laufwerk in Powershell zugreifen. Zum Beispiel können Sie ganz einfach alle Registrierungseinträge in HKLM auflisten: SOFTWAREMicrosoftWindowsCurrentVersionRun Registrierungsschlüssel mit Get-ItemProperty Cmdlet PS C: cd HKLM: SOFTWAREMicrosoftWindowsCurrentVersionRun PS HKLM: SOFTWAREMicrosoftWindowsCurrentVersionRun Get-ItemProperty. RTHDCPL RTHDCPL. EXE Alcmtr. ALCMTR. EXE IgfxTray. C: WINDOWSystem32igfxtray. exe HotKeysCmds. C: WINDOWSystem32hkcmd. exe Persistenz. C: WINDOWSystem32igfxpers. exe Sie können einen neuen Eintrag zum Registrierungsschlüssel mit dem Cmdlet New-ItemProperty hinzufügen Ich habe soeben einen Eintrag zu HKLM hinzugefügt: SOFTWAREMicrosoftWindowsCurrentVersionRun zum Autostart notepad. exe auf dem Windows-Boot-up PS C: New-ItemProperty - Path HKLM: SOFTWAREMicrosoftWindowsCurrentVersionRun-name Notepad - value C: WINDOWSNOTEPAD. EXE - Typ string PS C: Get-ItemProperty - pfad HKLM: SOFTWAREMicrosoftWindowsCurrentVersionRun RTHDCPL. RTHDCPL. EXE Alcmtr. ALCMTR. EXE IgfxTray. C: WINDOWSystem32igfxtray. exe HotKeysCmds. C: WINDOWSystem32hkcmd. exe Persistenz. C: WINDOWSystem32igfxpers. exe Notepad. C: WINDOWSNOTEPAD. EXE Wie Sie vielleicht im obigen Codefenster bemerkt haben, habe ich PropertyType als String verwendet. Unten ist die Liste der PropertyType-Werte, die für Registry-Einträge verfügbar sind. Der New-Item CmdLet wird verwendet, um einen Registrierungsschlüssel normal zu erstellen: New-Item - Type String HKLM: SoftwareExample Das funktioniert gut, aber das kann ein Umweg sein, wenn du einen Schlüssel erstellen musst Deren Unterschlüssel nicht vorhanden sind: New-Item - Type String HKLM: SoftwareExample New-Item - Type String HKLM: SoftwareExampleSub1 New-Item - Type String HKLM: SoftwareExampleSub1NewKey Last but not least müssen Sie den Wert setzen: Set-ItemProperty HKLM: SoftwareExampleSub1 NewKey Name-Wert John Doe - Typ String Mit der folgenden Funktion können Sie einen Registrierungsschlüssel und seinen Wert festlegen: Den Registrierungspfad in seine einzelnen Schlüssel aufteilen und in einem Array speichern, als Trennzeichen verwenden: Unterschlüssel key. split ( ) Gib dies für alle Elemente im Array: foreach (Unterschlüssel in Unterschlüssel) Extended currentkey mit dem aktuellen Element des Arrays: currentkey (subkey) Prüfen Sie, ob aktueller Schlüssel bereits in der Registry vorhanden ist ((Test-Pfad currentkey)) Wenn nein, Erstellen Sie es und senden Sie Powershell-Ausgabe an null (zeigen Sie es nicht) New-Item - Type String currentkey Out-Null Set (oder ändern, wenn alreday existiert) der Wert für currentkey Set-ItemProperty CurrentKey Name - value Wert-type type Function Call: New - RegistryKey ltPATHgt ltNAMEgt ltDATATYPEgt ltVALUEgt Datentypen: String ExpandString (für die Verwendung mit Umgebungsvariablen) Binäres DWord Multistring QWord Beispiel: New-RegistryKey HKLM: SoftwareVendorMySoftware2012ExampleAnotherKeyStopHere Name STRING John DoeNO GARANTIE, DASS DIESE FUNKTION OHNE FEHLER IN IHREM UMWELT ARBEITET - BITTE TESTEN SIE ERSTE

No comments:

Post a Comment