Powershell - Windows und Office Versionen ohne Admin-Rechte auslesen
Hallo,
ich bin gerade dabei die beiden Versionsnummer mit einem Powershell-Code auszulesen.
Für die Windows-Version nehme ich z. B. diesen hier:
$winver = (Get-ItemProperty "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\" -Name ReleaseID).ReleaseId
Die Fehlermeldung, die ich bekomme:
Set-ExecutionPolicy : Der Zugriff auf den Registrierungsschlüssel
"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell" wurde verweigert. Starten Sie zum Ändern der
Ausführungsrichtlinie für den Standardbereich (LocalMachine) Windows PowerShell mit der Option "Als Administrator ausführen". Führen Sie zum Ändern
der Ausführungsrichtlinie für den aktuellen Benutzer "Set-ExecutionPolicy -Scope CurrentUser" aus.
In C:\Users\XXXXXX\Desktop\bitlocker_test.ps1:1 Zeichen:1
Das Problem ist, dass ich den Script nicht überall selbst ausführen kann, weil die User 80% nicht im Büro sind.
Mein Plan ist also auf dem Fileserver den Script als EXE (mit PS2EXE) zur Verfügung zu stellen und jeder könnte mir die Infos zukommen lassen können.
(Die Infos werden automatisch als E-Mail versendet)
Die User haben aber keine Admin-Rechte, um das EXE mit erhöhten Rechten auszuführen ...
Welche Möglichkeiten habe ich hier (außer GPO), wenn ich die Infos von User in "Home Office" bekommen möchte?
Vielen Dank für eure Vorschläge ...
Gr. I.
ich bin gerade dabei die beiden Versionsnummer mit einem Powershell-Code auszulesen.
Für die Windows-Version nehme ich z. B. diesen hier:
$winver = (Get-ItemProperty "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\" -Name ReleaseID).ReleaseId
Die Fehlermeldung, die ich bekomme:
Set-ExecutionPolicy : Der Zugriff auf den Registrierungsschlüssel
"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell" wurde verweigert. Starten Sie zum Ändern der
Ausführungsrichtlinie für den Standardbereich (LocalMachine) Windows PowerShell mit der Option "Als Administrator ausführen". Führen Sie zum Ändern
der Ausführungsrichtlinie für den aktuellen Benutzer "Set-ExecutionPolicy -Scope CurrentUser" aus.
In C:\Users\XXXXXX\Desktop\bitlocker_test.ps1:1 Zeichen:1
Das Problem ist, dass ich den Script nicht überall selbst ausführen kann, weil die User 80% nicht im Büro sind.
Mein Plan ist also auf dem Fileserver den Script als EXE (mit PS2EXE) zur Verfügung zu stellen und jeder könnte mir die Infos zukommen lassen können.
(Die Infos werden automatisch als E-Mail versendet)
Die User haben aber keine Admin-Rechte, um das EXE mit erhöhten Rechten auszuführen ...
Welche Möglichkeiten habe ich hier (außer GPO), wenn ich die Infos von User in "Home Office" bekommen möchte?
Vielen Dank für eure Vorschläge ...
Gr. I.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 1405648388
Url: https://administrator.de/forum/powershell-windows-und-office-versionen-ohne-admin-rechte-auslesen-1405648388.html
Ausgedruckt am: 13.03.2025 um 16:03 Uhr
10 Kommentare
Neuester Kommentar
Moin,
wenn du schon ein Skript nutzen willst, dann mach es doch direkt mit Powershell und dem dazugehörigem Kommando:
Ansonsten schau einfach mal was du sonst von get-computerinfo benötigst
Nachtrag:
Oder du fragst Alternativ direkt deinen DC ab:
Gruß
Doskias
wenn du schon ein Skript nutzen willst, dann mach es doch direkt mit Powershell und dem dazugehörigem Kommando:
Get-ComputerInfo | select-object OSname,OsVersion | fl
Ansonsten schau einfach mal was du sonst von get-computerinfo benötigst
Nachtrag:
Oder du fragst Alternativ direkt deinen DC ab:
Get-ADComputer -Filter * -Properties *|Select-Object DNSHostname, OperatingSystem, OperatingSystemVersion
Gruß
Doskias
(Get-ItemProperty "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\" -Name ReleaseID).ReleaseId
funktioniert ohne Adminrechte. Was auch immer mit Deiner Executionpolicy ist, an dieser Zeile liegt es nicht.
Die Windowsversion würde ich in Batch mit
ver
auslesen.
Die Officeversion mit
reg query "HKEY_CLASSES_ROOT\Word.Application\CurVer"
Wie genau brauchst Du die OffVersion denn?
funktioniert ohne Adminrechte. Was auch immer mit Deiner Executionpolicy ist, an dieser Zeile liegt es nicht.
Die Windowsversion würde ich in Batch mit
ver
auslesen.
Die Officeversion mit
reg query "HKEY_CLASSES_ROOT\Word.Application\CurVer"
Wie genau brauchst Du die OffVersion denn?

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned
Wenn man die obige Zeile in ein Skript packt das am Client ausgeführt werden soll dann wundert mich gar nicht das du eine Access Denied Meldung bekommst, denn die Zeile ist hier absoluter Schwachsinn!! Warum, kann ich dir erklären: die Executionpolicy setzt man einmalig mit Admin-Rechten oder per GPO und setzt die nicht in jedes Skript denn zum Setzen dieser sind ja bekanntlich Admin-Rechte erforderlich! Außerdem ist das hier ja schon ein Skript das ausgeführt wird, bringt also doppelt nichts, außer eben die Fehlermeldung das zum Setzen der Executionpolicy Admin Rechte erforderlich sind. Die Zeile ist also absolut fehl am Platz in einem Client-Skript.Wenn du die entfernst klappen die Abfragen oben nämlich alle auch ohne Admin-Rechte wie @DerWoWusste oben auch schon darauf hinweist!
Wenn man eine gesetzte Executionpolicy im System umgehen will muss man das schon beim Aufruf der Powershell Session mitteilen und zwar so
powershell -ExecutionPolicy Bypass -F "c:\pfad\script.ps1"
Jetzt wäre es vielleicht mal an der Zeit sich erst mal die absoluten Grundlagen zu Gemüte zu führen
Powershell - Leitfaden für Anfänger

Zitat von @istike2:
Diese ist die genaue Zeile:
Also mit "ft" funkioniert es nicht ...
Diese ist die genaue Zeile:
Get-ComputerInfo | select-object OSname,OsVersion,WindowsInstallDateFromRegistry,WindowsProductId,BiosBIOSVersion,BiosFirmwareType,BiosManufacturer,BiosReleaseDate,BiosSeralNumber,CsCaption,CsManufacturer,CsModel,CsNumberOfLogicalProcessors,CsSystemFamily | ft | Export-Csv -ErrorAction Stop -path $pcinfodatei -noTypeInformation -Delimiter ";" -Force
Also mit "ft" funkioniert es nicht ...
Lass das ft weg, Export-Csv erwartet ein Objekt und keine Formatierungsanweisungen die ft ausgibt.
Get-ComputerInfo | select-object OSname,OsVersion,WindowsInstallDateFromRegistry,WindowsProductId,BiosBIOSVersion,BiosFirmwareType,BiosManufacturer,BiosReleaseDate,BiosSeralNumber,CsCaption,CsManufacturer,CsModel,CsNumberOfLogicalProcessors,CsSystemFamily | Export-Csv -path $pcinfodatei -NoType -Delimiter ";" -Encoding UTF8