Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Powershell: Registry-Wert setzen

Frage Microsoft Windows XP

Mitglied: AnkhMorpork

AnkhMorpork (Level 2) - Jetzt verbinden

26.01.2014, aktualisiert 17:16 Uhr, 3602 Aufrufe, 10 Kommentare, 2 Danke

Hallo zusammen,

Win XP, 32 bit, SP3, Patchstand tagesaktuell
PS 2.0

Ich versuche die Auslagerungsdatei in der Registry neu zu setzen:

01.
Set-StrictMode -Version "2.0" 
02.
  
03.
$Key = "HKLM:\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" 
04.
$Wert = "PagingFiles" 
05.
$PathSize = [String]"C:\PageFile.sys", [long]5008, [long]5008 
06.
 
07.
Set-Itemproperty -Path $Key -Name $Wert -Value $PathSize
Der Reg-Typ von PagingFiles ist REG_MULTI_SZ, also MultiString.
Meine Überlegung: In der PS sollte das einem Array-Typ entsprechen.

In die Registry wird der Wert eingetragen, aber leider nicht übernommen. Wenn ich über die Systemsteuerung den virtuellen Arbeitsspeicher abrufe, steht dort "Keine Auslagerungsdatei".
Selbstverständlich nach Reboot.

Hat jemand einen Hinweis?


Gruß

ANKH
Mitglied: colinardo
26.01.2014, aktualisiert um 14:57 Uhr
Hallo ANKH,
du solltest diese Einstellung nicht manuell über die Registrierung vornehmen sondern die dafür vorgesehenen WMI-Methoden benutzen:
01.
$pf = gwmi -Class "Win32_PageFileSetting" 
02.
$pf.InitialSize = [int]4000 
03.
$pf.MaximumSize = [int]4000 
04.
$pf.Put()
Grüße Uwe
Bitte warten ..
Mitglied: AnkhMorpork
26.01.2014 um 16:19 Uhr
Zitat von colinardo:

Hallo ANKH,
du solltest diese Einstellung nicht manuell über die Registrierung vornehmen sondern die dafür vorgesehenen WMI-Methoden
benutzen:
01.
> $pf = gwmi -Class "Win32_PageFileSetting" 
02.
> $pf.InitialSize = [int]4000 
03.
> $pf.MaximumSize = [int]4000 
04.
> $pf.Put() 
05.
> 
Grüße Uwe

Hallo Uwe,

danke für die Meldung. Ich bekomme mit deiner Lösung folgende Mecker:

Property 'InitialSize' cannot be found on this object; make sure it exists and is settable. 
At C:\Dokumente und Einstellungen\XPMUser\Eigene Dateien\PowerShell\Scripts\regkeywrite2.ps1:2 char:5 
+ $pf. <<<< InitialSize = [int]4000 
    + CategoryInfo          : InvalidOperation: (:) [], RuntimeException 
    + FullyQualifiedErrorId : PropertyAssignmentException 
 
Property 'MaximumSize' cannot be found on this object; make sure it exists and is settable. 
At C:\Dokumente und Einstellungen\XPMUser\Eigene Dateien\PowerShell\Scripts\regkeywrite2.ps1:3 char:5 
+ $pf. <<<< MaximumSize = [int]4000 
    + CategoryInfo          : InvalidOperation: (:) [], RuntimeException 
    + FullyQualifiedErrorId : PropertyAssignmentException 
 
Method invocation failed because [System.Object[]] doesn't contain a method named 'Put'. 
At C:\Dokumente und Einstellungen\XPMUser\Eigene Dateien\PowerShell\Scripts\regkeywrite2.ps1:4 char:8 
+ $pf.Put <<<< () 
    + CategoryInfo          : InvalidOperation: (Put:String) [], RuntimeException 
    + FullyQualifiedErrorId : MethodNotFound

Was tun nun?

Gruß

ANKH
Bitte warten ..
Mitglied: colinardo
26.01.2014, aktualisiert um 16:23 Uhr
Das wäre aber seltsam, denn hier geht es in einer Test-XP-VM mit PS2.0 einwandfrei.
mach mal folgendes:
Get-WMIObject -Class "Win32_PageFileSetting"  | get-member
und poste hier die Ausgabe ..
Bitte warten ..
Mitglied: AnkhMorpork
26.01.2014, aktualisiert um 16:32 Uhr
Zitat von colinardo:

Das wäre aber seltsam, denn hier geht es in einer Test-XP-VM mit PS2.0 einwandfrei.
mach mal folgendes:
> Get-WMIObject -Class "Win32_PageFileSetting"  | get-member 
> 
und poste hier die Ausgabe ..

Ja seltsam, denn die Parameter stimmen ja wohl:


PS C:\Dokumente und Einstellungen\XPMUser\Eigene Dateien\PowerShell\Scripts> Get-WMIObject -Class "Win32_PageFileSetting"  | gm 
 
 
   TypeName: System.Management.ManagementObject#root\cimv2\Win32_PageFileSetting 
 
Name                MemberType   Definition 
----                ----------   ---------- 
Caption             Property     System.String Caption {get;set;} 
Description         Property     System.String Description {get;set;} 
InitialSize         Property     System.UInt32 InitialSize {get;set;} 
MaximumSize         Property     System.UInt32 MaximumSize {get;set;} 
Name                Property     System.String Name {get;set;} 
SettingID           Property     System.String SettingID {get;set;} 
__CLASS             Property     System.String __CLASS {get;set;} 
__DERIVATION        Property     System.String[] __DERIVATION {get;set;} 
__DYNASTY           Property     System.String __DYNASTY {get;set;} 
__GENUS             Property     System.Int32 __GENUS {get;set;} 
__NAMESPACE         Property     System.String __NAMESPACE {get;set;} 
__PATH              Property     System.String __PATH {get;set;} 
__PROPERTY_COUNT    Property     System.Int32 __PROPERTY_COUNT {get;set;} 
__RELPATH           Property     System.String __RELPATH {get;set;} 
__SERVER            Property     System.String __SERVER {get;set;} 
__SUPERCLASS        Property     System.String __SUPERCLASS {get;set;} 
ConvertFromDateTime ScriptMethod System.Object ConvertFromDateTime(); 
ConvertToDateTime   ScriptMethod System.Object ConvertToDateTime();
Gruß

ANKH
Bitte warten ..
Mitglied: colinardo
26.01.2014, aktualisiert um 16:51 Uhr
Dann setzt mal deinen Registry-Wert auf Standard zurück, vielleicht steht der jetzt auf einem ungültigen Wert, danach Neustart:
C:\pagefile.sys 0 0
zusätzlich sollte folgende Ausgabe einen Count von 1 ergeben:
gwmi -Class "Win32_PageFileSetting" | measure-object
Dies lässt sich auch mit dem Tool wbemtest.exe in Windows überprüfen:

b39287739ac0ea888502ce5ef32a2bfc - Klicke auf das Bild, um es zu vergrößern
Bitte warten ..
Mitglied: AnkhMorpork
26.01.2014 um 16:56 Uhr
Zitat von colinardo:

Dann setzt mal deinen Registry-Wert auf Standard zurück, vielleicht steht der jetzt auf einem ungültigen Wert, danach
Neustart:
> C:\pagefile.sys 0 0 
> 
zusätzlich sollte folgende Ausgabe einen Count von 1 ergeben:
> gwmi -Class "Win32_PageFileSetting" | measure-object 
> 
Dies lässt sich auch mit dem Tool wbemtest.exe in Windows überprüfen:

b39287739ac0ea888502ce5ef32a2bfc - Klicke auf das Bild, um es zu vergrößern

So sieht es aus:

Nach Rücksetzung und Reboot kommt:
Exception calling "Put" with "0" argument(s): "Der Wert liegt außerhalb des Gültigkeitsbereichs. "
At C:\Dokumente und Einstellungen\XPMUser\Eigene Dateien\PowerShell\Scripts\regkeywrite2.ps1:4 char:8

$pf.Put <<<< ()

+ CategoryInfo : NotSpecified: ( [], MethodInvocationException
+ FullyQualifiedErrorId : DotNetMethodException

Count 1 kommt:
PS C:\Dokumente und Einstellungen\XPMUser\Eigene Dateien\PowerShell\Scripts> gwmi -Class "Win32_PageFileSetting" | measure-object


Count : 1
Average :
Sum :
Maximum :
Minimum :
Property :


ANKH
Bitte warten ..
Mitglied: colinardo
LÖSUNG 26.01.2014, aktualisiert um 17:16 Uhr
Das ist schon mal gut, setze mal einen niedrigeren Wert als 4096 für beide Werte ein dann sollte es funktionieren, aus irgendeinem Grund möchte Windows hier keine Werte größer 4095 setzen ...scheint mit 32bit und 4GB Grenze zu tun zu haben, obwohl es über die GUI auch größer geht ...
Bitte warten ..
Mitglied: AnkhMorpork
26.01.2014 um 17:16 Uhr
Zitat von colinardo:

Das ist schon mal gut, setze mal einen niedrigeren Wert als 4096 für beide Werte ein dann sollte es funktionieren, aus
irgendeinem Grund möchte Windows hier keine Werte größer 4095 setzen ...scheint mit 32bit und 4GB Grenze zu tun zu
haben

Hallo Uwe,

Strike!

2048 nimmt es. Ich muss das jetzt nicht verstehen?

Die Sache mit wbemtest.exe hatte ich zu spät gesehen, war aber konsistent mit deinen Bildern.

Herzlichen Dank für deine Hilfe!

Bin wieder etwas weiter und etwas ratloser ... bleibe aber dicht am Ball.

Gruß

ANKH
Bitte warten ..
Mitglied: colinardo
26.01.2014, aktualisiert um 17:22 Uhr
ansonsten mach es nach deiner ursprünglichen Methode, aber schreibe die Zeile für die Werte so:
01.
$PathSize = 'C:\PageFile.sys 5008 5008'
Viel Erfolg weiterhin
Grüße Uwe
Bitte warten ..
Mitglied: AnkhMorpork
26.01.2014 um 17:33 Uhr
Zitat von colinardo:

ansonsten mach es nach deiner ursprünglichen Methode, aber schreibe die Zeile für die Werte so:
01.
> $PathSize = 'C:\PageFile.sys 5008 5008' 
02.
> 
Viel Erfolg weiterhin
Grüße Uwe

Hatte ich irgendwann auch schon mal, aber eher mit " " (mein Kriegsfußthema).

Gruß

ANKH
Bitte warten ..
Neuester Wissensbeitrag
Internet

Unbemerkt - Telekom Netzumschaltung! - BNG - Broadband Network Gateway

(3)

Erfahrungsbericht von ashnod zum Thema Internet ...

Ähnliche Inhalte
Batch & Shell
gelöst Powershell Registry (1)

Frage von Marabunta zum Thema Batch & Shell ...

Exchange Server
Powershell Abwesenheitsnotiz für Gruppe setzen (3)

Frage von 124611 zum Thema Exchange Server ...

Batch & Shell
gelöst Powershell: Lokaler DTC Eigenschaften setzen? (2)

Frage von Andoreasu zum Thema Batch & Shell ...

Batch & Shell
gelöst Powershell: Netzwerk-Einstellung auf automatisch setzen (3)

Frage von Andoreasu zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Windows Server
Outlook Verbindungsversuch mit Exchange (15)

Frage von xbast1x zum Thema Windows Server ...

Grafikkarten & Monitore
Tonprobleme bei Fernseher mit angeschlossenem Laptop über HDMI (11)

Frage von Y3shix zum Thema Grafikkarten & Monitore ...

Microsoft Office
Keine Updates für Office 2016 (11)

Frage von Motte990 zum Thema Microsoft Office ...