[PowerShell] Schrijven van registerwaarde o.b.v. WMI Query

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • loewie1984
  • Registratie: Mei 2003
  • Laatst online: 14-09 19:56
Heren, en wellicht dames :)

Momenteel ben ik bezig om in powershell een registerwaarde te gaan schrijven op basis van een WMI query met powershell. Omdat ik niet wil verwijzen naar andere scripts, bestanden of reg's had ik het volgende commando bedacht:

Vanuit onze SCCM task sequence > Run Command Line >
code:
1
powershell.exe -command "New-ItemProperty -Path Registry::HKLM\SOFTWARE\VersionControl\CompanyName -Name BiosVersion -PropertyType String -Value "Get-WmiObject Win32_Bios | select SMBIOSBIOSVersion" -Force -ErrorAction SilentlyContinue"


Nu is het zo dat de register hives...
- VersionControl
- CompanyName
... al aanwezig zijn in het register.

Echter als ik dit commando uitvoer in PowerShell, krijg ik geen foutmelding terug, maar de waarde is ook niet in het register weggeschreven.

Misschien loopt het spaak, omdat het een new-item property is, en ik eerst het item moet aanmaken voordat ik de waarde genereer. Maar het gekke is dat als ik een variabele gebruik die een WMI query doet, of een fixed waarde er neer zet dit wel weggeschreven wordt in het register. Ik heb ook al liggen spelen met de "quotes", en deze blog die het haarfijn uitlegd, brengt me helaas ook geen oplossing :(

Indien jullie een mogelijke oplossing aandragen, wil ik jullie vriendelijk vragen deze powershell georienteerd te laten zijn, een andere taal heeft niet de voorkeur.

discogs


Acties:
  • 0 Henk 'm!

  • loewie1984
  • Registratie: Mei 2003
  • Laatst online: 14-09 19:56
En ja, ik ben er al uit dankzij een handige collega. Dus mocht het voor iemand anders nog handig zijn:

code:
1
powershell.exe -command New-ItemProperty -Path Registry::HKLM\SOFTWARE\VersionControl\CompanyName -Name BiosVersion -PropertyType String -Value "$(Get-WmiObject Win32_Bios | select SMBIOSBIOSVersion).SMBIOSBIOSVersion" -Force -ErrorAction SilentlyContinue


En dat gaat het dus met name hierom: "$(Get-WmiObject Win32_Bios | select SMBIOSBIOSVersion).SMBIOSBIOSVersion"

discogs