Anzeige

Am Puls von Microsoft

Anzeige

[gelöst] Visual Basic Script in Powershell umwandeln

Status
Dieses Thema wurde gelöst! Lösung ansehen…
Für weitere Antworten geschlossen.
Ach und noch was
Code:
$var1 = ([System.Windows.Forms.SystemInformation]::PrimaryMonitorSize.Width)
$var2 = ([System.Windows.Forms.SystemInformation]::PrimaryMonitorSize.Height)
write-host "Die horizontale Auflösung sind" $var1 "Bildpunkte, die vertikale Auflösung sind" $var2 "Bildpunkte."
pause

Gleiche Variante aber ohne runde Klammern

$var1 = [System.Windows.Forms.SystemInformation]::PrimaryMonitorSize.Width
$var2 = [System.Windows.Forms.SystemInformation]::PrimaryMonitorSize.Height
write-host "Die horizontale Auflösung sind" $var1 "Bildpunkte, die vertikale Auflösung sind" $var2 "Bildpunkte."
pause
ANSI-Format ist klar.
Mache ich die Datei mit Powershell ISE auf und drücke auf play, (grünes Dreieck), dann funzt es.
Sage ich im Windows Explorer mit der rechten Maustaste Öffnen mit Powershell,
dann funzt die Datei nicht...
Langsam habe ich keinen Bock mehr...
 
Zuletzt bearbeitet:
Anzeige
Damit habe ich mir jetzt so beholfen und es sieht ganz gut aus:
Code:
$Mein_Betriebssystem = (Get-WmiObject -class Win32_OperatingSystem).Caption
$Version = (Get-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion').DisplayVersion
$Architektur = (Get-CimInstance Win32_operatingsystem).OSArchitecture
$Buildnummer = (Get-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion').CurrentBuild
$Erweiterung = (Get-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion').UBR
$Computername = (Get-CimInstance Win32_ComputerSystem).Name
$Meine_Domaene = (Get-CimInstance Win32_ComputerSystem).Domain
$Benutzername = (Get-CimInstance Win32_ComputerSystem).PrimaryOwnerName
$User_ID = [System.Security.Principal.WindowsIdentity]::GetCurrent().User.value
Write-Host ('
Die wichtigsten Kerndaten dieses Systems werden hier mit Powershell angezeigt.')
Write-Host 
Write-Host Auf Ihrem Coumputer ist $Mein_Betriebssystem, Version $Version als $Architektur'-'Betriebssystem installiert.
Write-Host 
Write-Host Die momentane Buildnummer lautet $Buildnummer'.'$Erweiterung'.'
Write-Host 
Write-Host Der Name dieses Computers lautet $Computername'.'
Write-Host 
Write-Host Der Name der Arbeitsgruppe lautet $Meine_Domaene'.'
Write-Host 
Write-Host Die User-ID des momentan angemeldeten Benutzers $Benutzername lautet $User_ID'.'
Write-Host
write-host "Bildschirmauflösung horizontal                  vertikal."
write-host "------------------- ----------                  ---------" 
Get-WmiObject -Class Win32_videocontroller | Select-Object currenthorizontalresolution,currentverticalresolution | format-table -hidetableheaders 
Write-Host Hier werden Ihnen nur die zuletzt installierten Windows Updates angezeigt.
Write-Host "Darunter fallen jedoch nicht Treiber, Office oder unter WSUS empfangene Updates."
Write-Host WSUS steht für Windows Server Update Services. Die Server sind von Microsoft.
Write-Host 
Write-Host "HotFixID  Beschreibung    installiert am (keine Uhrzeitauflösung möglich)."
Write-Host "--------- --------------- -------------------"
Get-hotfix | Select-Object -Property HotFixID, Description, Installedon | Format-Table -HideTableHeaders
Write-Host Zum Beenden drücken Sie eine beliebige Taste . . .

[void]($Host.UI.RawUI.ReadKey('NoEcho,IncludeKeyDown'))

exit
 
Es geht noch eleganter ;););)
Sehe ich auch so, guckst du wie folgt bzw. angefügtes Archiv Abfrage_Kerndaten_neu.zip:
Code:
$Host.UI.RawUI.WindowTitle = 'Abfrage von Kerndaten'
$Host.UI.RawUI.ForegroundColor = 'Black'
$Host.UI.RawUI.BackgroundColor = 'Gray'
cls
$Mein_Betriebssystem = (Get-WmiObject Win32_OperatingSystem).Caption
$Version = (Get-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion').DisplayVersion
$Architektur = (Get-CimInstance Win32_operatingsystem).OSArchitecture
$Buildnummer = (Get-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion').CurrentBuild
$Erweiterung = (Get-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion').UBR
$Computername = (Get-CimInstance Win32_ComputerSystem).Name
$Meine_Domaene = (Get-CimInstance Win32_ComputerSystem).Domain
$Benutzername = (Get-CimInstance Win32_ComputerSystem).PrimaryOwnerName
$User_ID = [System.Security.Principal.WindowsIdentity]::GetCurrent().User.value
$Horizontal = (Get-WmiObject Win32_VideoController).CurrentHorizontalResolution
$Vertical = (Get-WmiObject Win32_VideoController).CurrentVerticalResolution
Write-Host `nDie wichtigsten Kerndaten dieses Systems werden hier mit Powershell angezeigt.
Write-Host ------------------------------------------------------------------------------
Write-Host `nAuf Ihrem Coumputer ist $Mein_Betriebssystem, Version $Version als $Architektur'-'Betriebssystem installiert.
Write-Host `nDie momentane Buildnummer lautet $Buildnummer'.'$Erweiterung'.'
Write-Host `nDer Name dieses Computers lautet $Computername'.'
Write-Host `nDer Name der Arbeitsgruppe lautet $Meine_Domaene'.'
Write-Host `nDie User-ID des momentan angemeldeten Benutzers $Benutzername lautet $User_ID'.'
Write-Host `nDie horizontale Auflösung sind $Horizontal Bildpunkte und die vertikale Auflösung sind $Vertical Bildpunkte.
Write-Host `nHier werden Ihnen nur die zuletzt installierten Windows Updates angezeigt.
Write-Host Darunter fallen jedoch nicht Treiber, Office oder unter WSUS empfangene Updates.
Write-Host WSUS steht für Windows Server Update Services. Die Server sind von Microsoft.
Write-Host `n'HotFixID  Beschreibung    Installiert am'
Write-Host --------- --------------- -------------------
Get-HotFix | Select-Object -Property HotFixID, Description, Installedon | Format-Table -HideTableHeaders
Write-Host 'Zum Beenden drücken Sie eine beliebige Taste . . . '-NoNewLine;[void][System.Console]::ReadKey($False);Write-Host

Und die Auflösung ist jetzt auch mit drin, damit sind dann die Beiträge #20 und #21 mit beantwortet. Zusätzlich habe ich noch die ehemaligen CMD-Befehle Title, Color und Pause hinzugefügt.

Damit habe ich mir jetzt so beholfen und es sieht ganz gut aus: ...
Leider habe ich nicht immer so viel Zeit zum Testen, sodass ich immer etwas hinterherhinke.
 

Anhänge

  • Abfrage_Kerndaten_neu.zip
    1,3 KB · Aufrufe: 61
Eyh @skorpion68 immer locker bleiben... Zeit spielt keine Rolle...
Habe ich schon erwähnt, dass ich mit Deinem Chef gesprochen habe bezüglich einer superfetten
Gehaltserhöhung.................. nee mal im ernst............ Du bist unbezahlbar!!!
Machst Du das beruflich oder nutzt Du wie ich Google und oder KI?

DANKE :love::love::love::love::love::love:
 
So sieht es etwas schicker aus:

Code:
$Host.UI.RawUI.WindowTitle = 'Abfrage von Kerndaten'
$Host.UI.RawUI.ForegroundColor = 'White'
$Host.UI.RawUI.BackgroundColor = 'Black'
cls

Try {
    $Mein_Betriebssystem = (Get-WmiObject Win32_OperatingSystem).Caption
    $Version = (Get-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion').DisplayVersion
    $Architektur = (Get-CimInstance Win32_operatingsystem).OSArchitecture
    $Buildnummer = (Get-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion').CurrentBuild
    $Erweiterung = (Get-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion').UBR
    $Computername = (Get-CimInstance Win32_ComputerSystem).Name
    $Meine_Domaene = (Get-CimInstance Win32_ComputerSystem).Domain
    $Benutzername = (Get-CimInstance Win32_ComputerSystem).PrimaryOwnerName
    $User_ID = [System.Security.Principal.WindowsIdentity]::GetCurrent().User.Value
    $Horizontal = (Get-WmiObject Win32_VideoController).CurrentHorizontalResolution
    $Vertical = (Get-WmiObject Win32_VideoController).CurrentVerticalResolution
} Catch {
    Write-Host "Es gab einen Fehler beim Abrufen der Systeminformationen: $_"
    Exit
}

Write-Host Die wichtigsten Kerndaten dieses Systems werden hier mit Powershell angezeigt.
Write-Host ------------------------------------------------------------------------------
Write-Host "Auf Ihrem Computer ist" -NoNewLine; Write-Host " $Mein_Betriebssystem" -ForegroundColor Green -NoNewLine; Write-Host ", Version" -NoNewLine; Write-Host " $Version" -ForegroundColor Green -NoNewLine; Write-Host " als" -NoNewLine; Write-Host " $Architektur" -ForegroundColor Green -NoNewLine; Write-Host "-Betriebssystem installiert."
Write-Host "Die momentane Buildnummer lautet" -NoNewLine; Write-Host " $Buildnummer" -ForegroundColor Green -NoNewLine; Write-Host "." -NoNewLine; Write-Host "$Erweiterung" -ForegroundColor Green
Write-Host "Der Name dieses Computers lautet" -NoNewLine; Write-Host " $Computername" -ForegroundColor Green
Write-Host "Der Name der Arbeitsgruppe lautet" -NoNewLine; Write-Host " $Meine_Domaene" -ForegroundColor Green
Write-Host "Die User-ID des momentan angemeldeten Benutzers" -NoNewLine; Write-Host " $Benutzername" -ForegroundColor Green -NoNewLine; Write-Host " lautet" -NoNewLine; Write-Host " $User_ID" -ForegroundColor Green
Write-Host "Die horizontale Auflösung sind" -NoNewLine; Write-Host " $Horizontal" -ForegroundColor Green -NoNewLine; Write-Host " Bildpunkte und die vertikale Auflösung sind" -NoNewLine; Write-Host " $Vertical" -ForegroundColor Green -NoNewLine; Write-Host " Bildpunkte."

Write-Host Hier werden Ihnen nur die zuletzt installierten Windows Updates angezeigt.
Write-Host Darunter fallen jedoch nicht Treiber, Office oder unter WSUS empfangene Updates.
Write-Host WSUS steht für Windows Server Update Services. Die Server sind von Microsoft.
Write-Host HotFixID  Beschreibung    Installiert am
Write-Host --------- --------------- -------------------
Get-HotFix | Select-Object -Property HotFixID, Description, Installedon | Format-Table -HideTableHeaders

Write-Host 'Zum Beenden drücken Sie eine beliebige Taste . . . '-NoNewLine;[void][System.Console]::ReadKey($False);Write-Host
 
Naja über Geschmack kann man nicht streiten...
Aber mal was Anderes als blau und weiss!

So habe ich mir das jetzt zurecht gestrickt!
Code:
$Host.UI.RawUI.WindowTitle = 'Abfrage von Kerndaten'
$Host.UI.RawUI.ForegroundColor = 'Black'
$Host.UI.RawUI.BackgroundColor = 'White'
cls

    $Mein_Betriebssystem = (Get-WmiObject Win32_OperatingSystem).Caption
    $Version = (Get-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion').DisplayVersion
    $Architektur = (Get-CimInstance Win32_operatingsystem).OSArchitecture
    $Buildnummer = (Get-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion').CurrentBuild
    $Erweiterung = (Get-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion').UBR
    $Computername = (Get-CimInstance Win32_ComputerSystem).Name
    $Meine_Domaene = (Get-CimInstance Win32_ComputerSystem).Domain
    $Benutzername = (Get-CimInstance Win32_ComputerSystem).PrimaryOwnerName
    $User_ID = [System.Security.Principal.WindowsIdentity]::GetCurrent().User.Value
    $Horizontal = (Get-WmiObject Win32_VideoController).CurrentHorizontalResolution
    $Vertical = (Get-WmiObject Win32_VideoController).CurrentVerticalResolution


Write-Host Die wichtigsten Kerndaten dieses Systems werden hier mit Powershell angezeigt.
Write-Host 
Write-Host "Auf Ihrem Computer ist" -NoNewLine; Write-Host " $Mein_Betriebssystem" -ForegroundColor Green -NoNewLine; Write-Host ", Version" -NoNewLine; Write-Host " $Version" -ForegroundColor Green -NoNewLine; Write-Host " als" -NoNewLine; Write-Host " $Architektur" -ForegroundColor Green -NoNewLine; Write-Host "-Betriebssystem installiert."
Write-Host 
Write-Host "Die momentane Buildnummer lautet" -NoNewLine; Write-Host " $Buildnummer" -ForegroundColor Green -NoNewLine; Write-Host "." -ForegroundColor Green -NoNewLine; Write-Host "$Erweiterung" -ForegroundColor Green -NoNewLine; Write-Host "."
Write-Host 
Write-Host "Der Name dieses Computers lautet" -NoNewLine; Write-Host " $Computername" -ForegroundColor Green -NoNewLine; Write-Host "."
Write-Host 
Write-Host "Der Name der Arbeitsgruppe lautet" -NoNewLine; Write-Host " $Meine_Domaene" -ForegroundColor Green -NoNewLine; Write-Host "."
Write-Host 
Write-Host "Die User-ID des momentan angemeldeten Benutzers" -NoNewLine; Write-Host " $Benutzername" -ForegroundColor Green -NoNewLine; Write-Host " lautet" -NoNewLine; Write-Host " $User_ID" -ForegroundColor Green -NoNewLine; Write-Host "."
Write-Host 
Write-Host "Die Bilschirmauflösung ist" -NoNewLine; Write-Host " $Horizontal" -ForegroundColor Green -NoNewLine; Write-Host " Bildpunkte horizontal" -NoNewLine; Write-Host " und" -NoNewLine; Write-Host " $Vertical" -ForegroundColor Green -NoNewLine; Write-Host " Bildpunkte vertikal."
Write-Host 
Write-Host Hier werden Ihnen nur die zuletzt installierten Windows Updates angezeigt.
Write-Host Darunter fallen jedoch nicht Treiber, Office oder unter WSUS empfangene Updates.
Write-Host WSUS steht für Windows Server Update Services. Die Server sind von Microsoft.
Write-Host 
Write-Host "HotFixID  Beschreibung    Installiert am     (Eine genaue Uhrzeitauflösung ist nicht möglich)."
Write-Host ---------   ---------------    -------------------
Get-HotFix | Select-Object -Property HotFixID, Description, Installedon | Format-Table -HideTableHeaders

Write-Host 'Zum Beenden drücken Sie eine beliebige Taste . . . '-NoNewLine;[void][System.Console]::ReadKey($False);Write-Host
 
Zuletzt bearbeitet:
@edv.kleini
Gemäß dem Hinweis von @NotNerdNotDau in Beitrag #26 habe ich folgenden Learm-Artikel gefunden:

Diesbezüglich kannst du folgende Befehle:
Code:
$Mein_Betriebssystem = (Get-WmiObject Win32_OperatingSystem).Caption
$Horizontal = (Get-WmiObject Win32_VideoController).CurrentHorizontalResolution
$Vertical = (Get-WmiObject Win32_VideoController).CurrentVerticalResolution

ändern in:
Code:
$Mein_Betriebssystem = (Get-CimInstance Win32_OperatingSystem).Caption
$Horizontal = (Get-CimInstance Win32_VideoController).CurrentHorizontalResolution
$Vertical = (Get-CimInstance Win32_VideoController).CurrentVerticalResolution

Warum hast du jetzt wieder folgende Leerzeilen drin:
Code:
Write-Host

Durch `n wird doch eine Leerzeile eingefügt, siehe z. Bsp. folgenden Befehl:
Code:
Write-Host `nDie wichtigsten Kerndaten dieses Systems werden hier mit Powershell angezeigt.
 
Alles gut

Aber noch was ist mir aufgefallen.
Und das passiert nur bei meinem Uraltnotebook HP Pavillon 620
Er zeigt egal in welchem Powershellscript das hier an: Die User-ID habe ich unkenntlich gemacht.
1718456491077.jpeg

Der Witz ist:
Es tritt nirgendwo anders auf. In den DOS-Scripts nicht und auch nicht auf anderen Computern und
Notebooks von mir...
Muss ich nicht verstehen oder?
Unterschiedliche Grakatreiber habe ich auch schon getestet und das kann ich somit ausschließen.
Der Fehler bleibt...
@skorpion68
Du hast eine PN erhalten!
 
Zuletzt bearbeitet:
So bleibt das jetzt
Wie hieß es noch in dem Ägypten-Film mit Yul Brynner "Die zehn Gebote" ??? 🇪🇬
So soll man es schreiben... sol soll es geschehen...🇪🇬
Bähm;)
Ach und noch was: Dieses Bild zeigt ein anderes Notebook... Auch hier ist die USER-ID unkenntlich gemacht.
Wie man hier sieht, funktioniert die Anzeige der Auflösung korrekt! Und nicht wie in Beitrag #29! (rote Pfeile).
Mit den unterschiedlichen Farben hat das auch nichts zu tun! Alles schon getestet...
Der Computer JOJO238-2 ist das alte Notebook Pavillon HP620
und JOJO238 ist das "neue" Notebook Medion Akoya E6228 stark aufgerüstet. I7 3840QM, 16 GB, 2 1TB SSDs.

Code:
    $Host.UI.RawUI.WindowTitle = 'Abfrage von Kerndaten'
    $Host.UI.RawUI.ForegroundColor = 'Black'
    $Host.UI.RawUI.BackgroundColor = 'White'
    cls
    $Mein_Betriebssystem = (Get-WmiObject Win32_OperatingSystem).Caption
    $Version = (Get-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion').DisplayVersion
    $Architektur = (Get-CimInstance Win32_operatingsystem).OSArchitecture
    $Buildnummer = (Get-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion').CurrentBuild
    $Erweiterung = (Get-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion').UBR
    $Computername = (Get-CimInstance Win32_ComputerSystem).Name
    $Meine_Domaene = (Get-CimInstance Win32_ComputerSystem).Domain
    $Benutzername = (Get-CimInstance Win32_ComputerSystem).PrimaryOwnerName
    $User_ID = [System.Security.Principal.WindowsIdentity]::GetCurrent().User.Value
    $Horizontal = (Get-WmiObject Win32_VideoController).CurrentHorizontalResolution
    $Vertical = (Get-WmiObject Win32_VideoController).CurrentVerticalResolution
Write-Host ('
Die wichtigsten Kerndaten dieses Systems werden hier mit Powershell angezeigt.')
Write-Host
Write-Host "Auf Ihrem Computer ist" -NoNewLine; Write-Host " $Mein_Betriebssystem" -ForegroundColor Green -NoNewLine; Write-Host ", Version" -NoNewLine; Write-Host " $Version" -ForegroundColor Green -NoNewLine; Write-Host " als" -NoNewLine; Write-Host " $Architektur" -ForegroundColor Green -NoNewLine; Write-Host " Betriebssystem installiert."
Write-Host
Write-Host "Die momentane Buildnummer lautet" -NoNewLine; Write-Host " $Buildnummer" -ForegroundColor Green -NoNewLine; Write-Host "." -ForegroundColor Green -NoNewLine; Write-Host "$Erweiterung" -ForegroundColor Green -NoNewLine; Write-Host "."
Write-Host
Write-Host "Der Name dieses Computers lautet" -NoNewLine; Write-Host " $Computername" -ForegroundColor Green -NoNewLine; Write-Host "."
Write-Host
Write-Host "Der Name der Arbeitsgruppe lautet" -NoNewLine; Write-Host " $Meine_Domaene" -ForegroundColor Green -NoNewLine; Write-Host "."
Write-Host
Write-Host "Die User-ID des momentan angemeldeten Benutzers" -NoNewLine; Write-Host " $Benutzername" -ForegroundColor Green -NoNewLine; Write-Host " lautet" -NoNewLine; Write-Host " $User_ID" -ForegroundColor Green -NoNewLine; Write-Host "."
Write-Host
Write-Host "Die Bilschirmauflösung ist" -NoNewLine; Write-Host " $Horizontal" -ForegroundColor Green -NoNewLine; Write-Host " Bildpunkte horizontal" -NoNewLine; Write-Host " und" -NoNewLine; Write-Host " $Vertical" -ForegroundColor Green -NoNewLine; Write-Host " Bildpunkte vertikal."
Write-Host
Write-Host Hier werden Ihnen nur die zuletzt installierten Windows Updates angezeigt.
Write-Host Darunter fallen jedoch nicht Treiber, Office oder unter WSUS empfangene Updates.
Write-Host WSUS steht für Windows Server Update Services. Die Server sind von Microsoft.
Write-Host
Write-Host "HotFixID  Beschreibung    Installiert am     (Eine genaue Uhrzeitauflösung ist nicht möglich)."
Write-Host ---------   ---------------    -------------------
Get-HotFix | Select-Object -Property HotFixID, Description, Installedon | Format-Table -HideTableHeaders

Write-Host 'Zum Beenden drücken Sie eine beliebige Taste . . .($Host.UI.RawUI.ReadKey('NoEcho,IncludeKeyDown'));Write-Host
exit

1718463241359.jpeg
 

Anhänge

  • 1718462961209.jpeg
    1718462961209.jpeg
    98,5 KB · Aufrufe: 48
Zuletzt bearbeitet:
Status
Dieses Thema wurde gelöst! Lösung ansehen…
Für weitere Antworten geschlossen.
Anzeige
Oben