<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>PowerShell - Computer Blog</title>
	<atom:link href="https://ewpm.eu/tag/powershell/feed" rel="self" type="application/rss+xml" />
	<link>https://ewpm.eu/tag/powershell</link>
	<description>Computerprobleme leicht lösen</description>
	<lastBuildDate>Sat, 22 Mar 2025 08:05:09 +0000</lastBuildDate>
	<language>de</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.8.3</generator>
	<item>
		<title>PowerShell Befehl: Status eines Programms prüfen</title>
		<link>https://ewpm.eu/powershell-befehl-status-eines-programms-pruefen</link>
					<comments>https://ewpm.eu/powershell-befehl-status-eines-programms-pruefen#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Sat, 22 Mar 2025 08:04:46 +0000</pubDate>
				<category><![CDATA[Windows 10]]></category>
		<category><![CDATA[Windows 11]]></category>
		<category><![CDATA[Windows 7]]></category>
		<category><![CDATA[Windows 8]]></category>
		<category><![CDATA[PowerShell]]></category>
		<guid isPermaLink="false">https://ewpm.eu/?p=1222</guid>

					<description><![CDATA[<p>PowerShell Befehle für Prozessüberwachung Mit PowerShell prüfen, ob ein Programm ausgeführt wird Die PowerShell ist ein mächtiges Werkzeug zur Automatisierung&#8230;</p>
<p>Der Beitrag <a href="https://ewpm.eu/powershell-befehl-status-eines-programms-pruefen">PowerShell Befehl: Status eines Programms prüfen</a> erschien zuerst auf <a href="https://ewpm.eu">Computer Blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2>PowerShell Befehle für Prozessüberwachung</h2>
<h3>Mit PowerShell prüfen, ob ein Programm ausgeführt wird</h3>
<p>Die PowerShell ist ein mächtiges Werkzeug zur Automatisierung von Aufgaben unter Windows. Eine häufige Anforderung für Systemadministratoren oder Power-User ist es, zu überprüfen, ob ein bestimmtes Programm oder Prozess aktuell auf einem System läuft. In diesem Artikel zeige ich dir, wie du genau das mit PowerShell machst – einfach, effektiv und flexibel.</p>
<h2 class="" data-start="486" data-end="540">Warum sollte man den Status eines Programms prüfen?</h2>
<p class="" data-start="542" data-end="637">Das Überprüfen, ob ein Programm ausgeführt wird, kann aus verschiedenen Gründen notwendig sein:</p>
<ul data-start="639" data-end="801">
<li class="" data-start="639" data-end="681">
<p class="" data-start="641" data-end="681"><strong data-start="641" data-end="655">Monitoring</strong> von wichtigen Anwendungen</p>
</li>
<li class="" data-start="682" data-end="717">
<p class="" data-start="684" data-end="717"><strong data-start="684" data-end="717">Vermeidung von Mehrfachstarts</strong></p>
</li>
<li class="" data-start="718" data-end="801">
<p class="" data-start="720" data-end="801"><strong data-start="720" data-end="754">Skripte an Bedingungen knüpfen</strong>, z. B. „Nur starten, wenn nicht bereits offen“</p>
</li>
</ul>
<h2 class="" data-start="808" data-end="846">Methode 1: Mit <code data-start="826" data-end="839">Get-Process</code> prüfen</h2>
<p class="" data-start="848" data-end="991">Die einfachste Methode ist die Verwendung von <code data-start="894" data-end="907">Get-Process</code>. Damit lässt sich feststellen, ob ein Prozess mit einem bestimmten Namen aktiv ist.</p>
<p data-start="848" data-end="991"><a href="https://ewpm.eu/wp-content/uploads/2025/03/PowerShell-Befehl-Get-Process-und-Programmname-.png"><img fetchpriority="high" decoding="async" class="size-full wp-image-1223 aligncenter" src="https://ewpm.eu/wp-content/uploads/2025/03/PowerShell-Befehl-Get-Process-und-Programmname-.png" alt="" width="891" height="222" srcset="https://ewpm.eu/wp-content/uploads/2025/03/PowerShell-Befehl-Get-Process-und-Programmname-.png 891w, https://ewpm.eu/wp-content/uploads/2025/03/PowerShell-Befehl-Get-Process-und-Programmname--768x191.png 768w, https://ewpm.eu/wp-content/uploads/2025/03/PowerShell-Befehl-Get-Process-und-Programmname--365x91.png 365w" sizes="(max-width: 891px) 100vw, 891px" /></a></p>
<p><code>if (Get-Process -Name "notepad" -ErrorAction SilentlyContinue) {<br />
Write-Host "Notepad ist geöffnet."<br />
} else {<br />
Write-Host "Notepad ist nicht geöffnet."<br />
}<br />
</code></p>
<p><strong data-start="1174" data-end="1186">Hinweis:</strong> Der Name des Prozesses ist meist der ausführbare Dateiname ohne „.exe“. Beispiel: <code data-start="1269" data-end="1281">chrome.exe</code> → <code data-start="1284" data-end="1292">chrome</code>.</p>
<h2 class="" data-start="1300" data-end="1370">Methode 2: Alternative mit <code data-start="1330" data-end="1344">Where-Object</code> (für komplexere Abfragen)</h2>
<p class="" data-start="1372" data-end="1460">Wenn du z. B. nach bestimmten Parametern oder einem bestimmten Benutzer suchen möchtest:</p>
<p data-start="1372" data-end="1460"><a href="https://ewpm.eu/wp-content/uploads/2025/03/PowerShell-Befehl-Get-Process-und-Programmname-und-Parametern-.png"><img decoding="async" class="size-full wp-image-1224 aligncenter" src="https://ewpm.eu/wp-content/uploads/2025/03/PowerShell-Befehl-Get-Process-und-Programmname-und-Parametern-.png" alt="" width="793" height="300" srcset="https://ewpm.eu/wp-content/uploads/2025/03/PowerShell-Befehl-Get-Process-und-Programmname-und-Parametern-.png 793w, https://ewpm.eu/wp-content/uploads/2025/03/PowerShell-Befehl-Get-Process-und-Programmname-und-Parametern--768x291.png 768w, https://ewpm.eu/wp-content/uploads/2025/03/PowerShell-Befehl-Get-Process-und-Programmname-und-Parametern--365x138.png 365w" sizes="(max-width: 793px) 100vw, 793px" /></a></p>
<p><code>$prozess = Get-Process | Where-Object { $_.ProcessName -eq "notepad" }<br />
if ($prozess) {<br />
Write-Host "Notepad läuft – PID: $($prozess.Id)"<br />
} else {<br />
Write-Host "Notepad läuft nicht."<br />
}<br />
</code></p>
<h2 class="" data-start="1675" data-end="1738">Methode 3: Abfrage über WMI (für detaillierte Informationen)</h2>
<p class="" data-start="1740" data-end="1832">Mit <code data-start="1744" data-end="1759">Get-WmiObject</code> bekommst du zusätzliche Informationen, z. B. den Pfad oder den Benutzer:</p>
<p data-start="1740" data-end="1832"><a href="https://ewpm.eu/wp-content/uploads/2025/03/PowerShell-Befehl-Get-Process-und-Programmname-und-Benutzer-.png"><img decoding="async" class="size-full wp-image-1225 aligncenter" src="https://ewpm.eu/wp-content/uploads/2025/03/PowerShell-Befehl-Get-Process-und-Programmname-und-Benutzer-.png" alt="" width="769" height="211" srcset="https://ewpm.eu/wp-content/uploads/2025/03/PowerShell-Befehl-Get-Process-und-Programmname-und-Benutzer-.png 769w, https://ewpm.eu/wp-content/uploads/2025/03/PowerShell-Befehl-Get-Process-und-Programmname-und-Benutzer--365x100.png 365w" sizes="(max-width: 769px) 100vw, 769px" /></a></p>
<p><code>$prozess = Get-WmiObject Win32_Process -Filter "Name='notepad.exe'"<br />
if ($prozess) {<br />
Write-Host "Notepad läuft – gestartet von: $($prozess.GetOwner().User)"<br />
} else {<br />
Write-Host "Notepad läuft nicht."<br />
}<br />
</code></p>
<h2 class="" data-start="2067" data-end="2115">Prüfung in einem Skript automatisieren</h2>
<p class="" data-start="2117" data-end="2270">Du kannst dir ein PowerShell-Skript schreiben, das regelmäßig prüft, ob ein Programm läuft, und bei Bedarf eine Benachrichtigung ausgibt oder es startet:</p>
<p data-start="2117" data-end="2270"><a href="https://ewpm.eu/wp-content/uploads/2025/03/PowerShell-Befehl-Get-Process-und-Programmname-automatische-Ueberpruefung-.png"><img decoding="async" class="size-full wp-image-1226 aligncenter" src="https://ewpm.eu/wp-content/uploads/2025/03/PowerShell-Befehl-Get-Process-und-Programmname-automatische-Ueberpruefung-.png" alt="" width="846" height="265" srcset="https://ewpm.eu/wp-content/uploads/2025/03/PowerShell-Befehl-Get-Process-und-Programmname-automatische-Ueberpruefung-.png 846w, https://ewpm.eu/wp-content/uploads/2025/03/PowerShell-Befehl-Get-Process-und-Programmname-automatische-Ueberpruefung--768x241.png 768w, https://ewpm.eu/wp-content/uploads/2025/03/PowerShell-Befehl-Get-Process-und-Programmname-automatische-Ueberpruefung--365x114.png 365w" sizes="(max-width: 846px) 100vw, 846px" /></a></p>
<p><code>$prozessName = "notepad"</code></p>
<p>if (-not (Get-Process -Name $prozessName -ErrorAction SilentlyContinue)) {<br />
Start-Process &#8222;$prozessName.exe&#8220;<br />
Write-Host &#8222;$prozessName wurde gestartet.&#8220;<br />
} else {<br />
Write-Host &#8222;$prozessName läuft bereits.&#8220;<br />
}</p>
<h2 class="" data-start="2537" data-end="2545">Fazit</h2>
<p class="" data-start="2547" data-end="2886">Mit PowerShell lässt sich ganz einfach überprüfen, ob ein bestimmtes Programm oder ein Prozess läuft. Abhängig von deinem Anwendungsfall kannst du einfache oder detaillierte Abfragen nutzen – von <code data-start="2743" data-end="2756">Get-Process</code> über <code data-start="2762" data-end="2767">WMI</code> bis hin zu komplexeren Skripten zur Automatisierung. Gerade im administrativen Alltag spart das viel Zeit und Aufwand.</p>
<p>Der Beitrag <a href="https://ewpm.eu/powershell-befehl-status-eines-programms-pruefen">PowerShell Befehl: Status eines Programms prüfen</a> erschien zuerst auf <a href="https://ewpm.eu">Computer Blog</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://ewpm.eu/powershell-befehl-status-eines-programms-pruefen/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Automatisierung von Treiberaktualisierungen</title>
		<link>https://ewpm.eu/automatisierung-von-treiberaktualisierungen</link>
					<comments>https://ewpm.eu/automatisierung-von-treiberaktualisierungen#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Thu, 29 Aug 2024 07:00:22 +0000</pubDate>
				<category><![CDATA[Windows 10]]></category>
		<category><![CDATA[Windows 11]]></category>
		<category><![CDATA[Windows 7]]></category>
		<category><![CDATA[Windows 8]]></category>
		<category><![CDATA[PowerShell]]></category>
		<guid isPermaLink="false">https://ewpm.eu/?p=991</guid>

					<description><![CDATA[<p>Top 3 PowerShell-Skripte für die Automatisierung von Treiberaktualisierungen Wenn Sie wie ich viel Zeit mit der Verwaltung von Windows-Systemen verbringen,&#8230;</p>
<p>Der Beitrag <a href="https://ewpm.eu/automatisierung-von-treiberaktualisierungen">Automatisierung von Treiberaktualisierungen</a> erschien zuerst auf <a href="https://ewpm.eu">Computer Blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading">Top 3 PowerShell-Skripte für die Automatisierung von Treiberaktualisierungen</h2>



<p>Wenn Sie wie ich viel Zeit mit der <strong>Verwaltung von Windows-Systemen</strong> verbringen, wissen Sie, wie mühsam es sein kann, Treiber manuell zu aktualisieren. <strong>Treiber sind entscheidend für die Leistung und Stabilität von Hardware</strong>, und dennoch kann ihre Verwaltung zeitaufwendig sein, besonders in großen Umgebungen. Zum Glück gibt es eine Lösung: PowerShell-Skripte.</p>



<p>PowerShell ist ein mächtiges <strong>Werkzeug für IT-Profis</strong>, mit dem sich viele Aufgaben, einschließlich der Treiberaktualisierung, automatisieren lassen. In diesem Artikel stelle ich Ihnen meine <strong>Top 3 PowerShell-Skripte</strong> vor, die Ihnen helfen, den Prozess der Treiberaktualisierung zu automatisieren und somit wertvolle Zeit zu sparen.</p>



<h2 class="wp-block-heading">1. Automatisierte Treibersuche und -installation</h2>



<p>Das erste Skript, das ich immer wieder benutze, sucht automatisch nach veralteten Treibern und installiert die neuesten Versionen. Dieses Skript nutzt die <code>Get-WindowsUpdateLog</code>&#8211; und <code>Install-WindowsUpdate</code>-Befehle, um die Arbeit zu erledigen.</p>



<script>
    function copyToClipboard(element) {
        var range = document.createRange();
        range.selectNode(document.querySelector(element));
        window.getSelection().removeAllRanges(); // clear current selection
        window.getSelection().addRange(range); // to select text
        document.execCommand("copy");
        window.getSelection().removeAllRanges(); // to deselect
        alert("Skript kopiert!");
    }
</script>
<style>
        body {
            font-family: Arial, sans-serif;
            margin: 20px;
        }
        .code-container {
            background-color: #f4f4f4;
            border: 1px solid #ddd;
            padding: 15px;
            border-radius: 5px;
            margin-bottom: 10px;
            position: relative;
        }
        .code-container pre {
            margin: 0;
            font-size: 14px;
            line-height: 1.5;
            white-space: pre-wrap;
            word-wrap: break-word;
        }
        .copy-button {
            position: absolute;
            top: 10px;
            right: 10px;
            padding: 5px 10px;
            background-color: #4CAF50;
            color: white;
            border: none;
            border-radius: 3px;
            cursor: pointer;
        }
        .copy-button:hover {
            background-color: #45a049;
        }
    </style>

<div class="code-container">
    <button class="copy-button" onclick="copyToClipboard('#script1')">Kopieren</button>
    <pre id="script1">
# Script to find and install outdated drivers
$UpdateSession = New-Object -ComObject Microsoft.Update.Session
$UpdateSearcher = $UpdateSession.CreateUpdateSearcher()
$Updates = $UpdateSearcher.Search("IsInstalled=0 and Type='Driver'")

foreach ($Update in $Updates.Updates) {
    Write-Host "Installing driver update: $($Update.Title)"
    $Installer = New-Object -ComObject Microsoft.Update.Installer
    $Installer.Updates = $Update
    $Installer.Install()
}
    </pre>
</div>



<p><strong>Warum dieses Skript?</strong><br>Es ist besonders nützlich, wenn Sie sicherstellen möchten, dass Ihre Systeme stets auf dem neuesten Stand sind. Das Skript durchsucht die verfügbaren Updates nach neuen Treibern und installiert diese automatisch, ohne dass Sie manuell eingreifen müssen.</p>



<h2 class="wp-block-heading">2. Batch-Treiberinstallation für spezifische Geräte</h2>



<p>Dieses Skript ist ideal, wenn Sie Treiber für bestimmte Geräte wie Grafikkarten, Netzwerkadapter oder Drucker gezielt aktualisieren möchten. Es ist sehr praktisch in Umgebungen, in denen Sie mehrere ähnliche Geräte verwalten.</p>



<style>
        body {
            font-family: Arial, sans-serif;
            margin: 20px;
        }
        .code-container {
            background-color: #f4f4f4;
            border: 1px solid #ddd;
            padding: 15px;
            border-radius: 5px;
            margin-bottom: 10px;
            position: relative;
        }
        .code-container pre {
            margin: 0;
            font-size: 14px;
            line-height: 1.5;
            white-space: pre-wrap;
            word-wrap: break-word;
        }
        .copy-button {
            position: absolute;
            top: 10px;
            right: 10px;
            padding: 5px 10px;
            background-color: #4CAF50;
            color: white;
            border: none;
            border-radius: 3px;
            cursor: pointer;
        }
        .copy-button:hover {
            background-color: #45a049;
        }
    </style>

<div class="code-container">
    <button class="copy-button" onclick="copyToClipboard('#script1')">Kopieren</button>
    <pre id="script1">
# Script to find and install outdated drivers
$UpdateSession = New-Object -ComObject Microsoft.Update.Session
$UpdateSearcher = $UpdateSession.CreateUpdateSearcher()
$Updates = $UpdateSearcher.Search("IsInstalled=0 and Type='Driver'")

foreach ($Update in $Updates.Updates) {
    Write-Host "Installing driver update: $($Update.Title)"
    $Installer = New-Object -ComObject Microsoft.Update.Installer
    $Installer.Updates = $Update
    $Installer.Install()
}
    </pre>
</div>



<p><strong>Was macht dieses Script?</strong><br>Es gibt Ihnen die Möglichkeit, die <strong>Kontrolle über spezifische Geräte zu behalten</strong> und nur die Treiber zu aktualisieren, die für bestimmte Hardware relevant sind. Dies ist besonders nützlich in spezialisierten Umgebungen, wo nicht alle Treiber auf einmal aktualisiert werden sollen.</p>



<h2 class="wp-block-heading">3. Automatische Treiber-Backups vor der Installation</h2>



<p><strong>Sicherheit geht vor!</strong> Bevor Sie einen neuen Treiber installieren, kann es sinnvoll sein,<strong> eine Sicherung des aktuellen Treibers zu erstellen</strong>. Dieses Skript erstellt automatisch ein Backup der bestehenden Treiber, bevor es neue installiert.</p>



<h3 class="wp-block-heading">Treibersicherung mit dem PowerShell-Script ausführen &#8211; So gehts&#8217;s</h3>



<p><strong>Warum dieses Skript?</strong><br>Es minimiert das Risiko, das mit der Installation neuer Treiber verbunden ist, indem es sicherstellt, dass Sie im Falle eines Fehlers leicht zum vorherigen Treiber zurückkehren können. Es ist eine hervorragende Option für sicherheitsbewusste Administratoren, die ein hohes Maß an Kontrolle über ihre Systeme behalten möchten.</p>



<style>
        body {
            font-family: Arial, sans-serif;
            margin: 20px;
        }
        .code-container {
            background-color: #f4f4f4;
            border: 1px solid #ddd;
            padding: 15px;
            border-radius: 5px;
            margin-bottom: 10px;
            position: relative;
        }
        .code-container pre {
            margin: 0;
            font-size: 14px;
            line-height: 1.5;
            white-space: pre-wrap;
            word-wrap: break-word;
        }
        .copy-button {
            position: absolute;
            top: 10px;
            right: 10px;
            padding: 5px 10px;
            background-color: #4CAF50;
            color: white;
            border: none;
            border-radius: 3px;
            cursor: pointer;
        }
        .copy-button:hover {
            background-color: #45a049;
        }
    </style>
<div class="code-container">
    <button class="copy-button" onclick="copyToClipboard('#script3')">Kopieren</button>
    <pre id="script3">
# Script to backup and install drivers
$DriverBackupPath = "C:\DriverBackup\$(Get-Date -Format yyyyMMdd)"

if (!(Test-Path -Path $DriverBackupPath)) {
    New-Item -ItemType Directory -Path $DriverBackupPath
}

$DeviceList = Get-WmiObject Win32_PnPSignedDriver

foreach ($Device in $DeviceList) {
    $DriverPath = $Device.InfName
    Copy-Item $DriverPath $DriverBackupPath
    Write-Host "Backup completed for: $($Device.DeviceName)"

    $UpdateSession = New-Object -ComObject Microsoft.Update.Session
    $UpdateSearcher = $UpdateSession.CreateUpdateSearcher()
    $Update = $UpdateSearcher.Search("DeviceInstanceId='$($Device.DeviceID)'")

    if ($Update.Updates.Count -gt 0) {
        $Installer = New-Object -ComObject Microsoft.Update.Installer
        $Installer.Updates = $Update.Updates
        $Installer.Install()
    }
}
    </pre>
</div>



<h2 class="wp-block-heading">Fazit</h2>



<p>Mit diesen PowerShell-Skripten können Sie die Treiberaktualisierung erheblich vereinfachen und automatisieren. Ob Sie auf der Suche nach einer umfassenden Lösung sind, bestimmte Geräte im Auge behalten oder zusätzliche Sicherheit durch Backups wünschen – es gibt ein Skript, das Ihren Bedürfnissen entspricht. Nutzen Sie die Möglichkeiten, die PowerShell bietet, und sparen Sie wertvolle Zeit bei der Verwaltung Ihrer Windows-Systeme.</p>



<p>Denken Sie daran, Ihre Skripte immer in einer Testumgebung zu prüfen, bevor Sie sie in einer Produktionsumgebung ausführen. So stellen Sie sicher, dass alles reibungslos funktioniert und keine unvorhergesehenen Probleme auftreten.</p>
<p>Der Beitrag <a href="https://ewpm.eu/automatisierung-von-treiberaktualisierungen">Automatisierung von Treiberaktualisierungen</a> erschien zuerst auf <a href="https://ewpm.eu">Computer Blog</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://ewpm.eu/automatisierung-von-treiberaktualisierungen/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
