{"id":395050,"date":"2024-12-18T12:44:55","date_gmt":"2024-12-18T12:44:55","guid":{"rendered":"https:\/\/www.ninjaone.com\/?post_type=script_hub&#038;p=395050"},"modified":"2024-12-18T12:44:55","modified_gmt":"2024-12-18T12:44:55","slug":"ueberpruefung-des-status-von-windows-diensten","status":"publish","type":"script_hub","link":"https:\/\/www.ninjaone.com\/de\/script-hub\/ueberpruefung-des-status-von-windows-diensten\/","title":{"rendered":"Wie man Windows-Diensten mit PowerShell \u00fcberpr\u00fcft und startet"},"content":{"rendered":"<p><span data-sheets-root=\"1\" data-sheets-value=\"{&quot;1&quot;:2,&quot;2&quot;:&quot;powershell check windows service status&quot;}\" data-sheets-userformat=\"{&quot;2&quot;:769,&quot;3&quot;:{&quot;1&quot;:0},&quot;11&quot;:4,&quot;12&quot;:0}\">Es ist auschlaggebend, dass Sie den <strong>Windows-Dienststatus \u00fcberpr\u00fcfen<\/strong> und das gute Funktionieren<\/span> von Diensten auf Windows-Computern aufrechterhalten k\u00f6nnen. PowerShell erm\u00f6glicht dies Ihnen, damit Sie f\u00fcr einen reibungslosen Betrieb in jeder IT-Umgebung sorgen. Dienste, die so eingestellt sind, dass sie automatisch starten, aber nicht ausgef\u00fchrt werden, k\u00f6nnen zu Leistungsproblemen, <a href=\"https:\/\/www.ninjaone.com\/it-hub\/it-service-management\/what-is-network-downtime\/\" target=\"_blank\" rel=\"noopener\">ungeplanten Netzwerkausf\u00e4llen<\/a> und betrieblichen Ineffizienzen f\u00fchren.<\/p>\n<p>An dieser Stelle kommen <a href=\"https:\/\/www.ninjaone.com\/de\/it-hub\/endpoint-management\/was-ist-powershell\/\" target=\"_blank\" rel=\"noopener\">PowerShell-Skripte<\/a> ins Spiel, die eine robuste und automatisierte Methode zur Verwaltung und \u00dcberwachung von Windows-Diensten bieten. In diesem Blogbeitrag wird ein PowerShell-Skript vorgestellt, mit dem automatische Dienste, die derzeit nicht ausgef\u00fchrt werden, gemeldet und gestartet werden, mit Ausnahme von Diensten, f\u00fcr die ein &#8218;Verz\u00f6gerter Start&#8216; oder &#8218;Ausgel\u00f6ster Start&#8216; festgelegt ist.<\/p>\n<h2>Kontext<\/h2>\n<p>F\u00fcr IT-Expert:innen und <a href=\"https:\/\/www.ninjaone.com\/de\/was-ist-ein-msp\/\" target=\"_blank\" rel=\"noopener\">Managed Service Provider (MSPs)<\/a> hat der reibungslose Betrieb von Diensten h\u00f6chste Priorit\u00e4t. Windows-Dienste k\u00f6nnen manchmal aus verschiedenen Gr\u00fcnden nicht gestartet werden, zum Beispiel aufgrund von <a href=\"https:\/\/www.ninjaone.com\/rmm\/computer-configurations\/\" target=\"_blank\" rel=\"noopener\">Konfigurationsproblemen<\/a>, Konflikten oder begrenzten Systemressourcen.<\/p>\n<p>Dieses Skript befasst sich mit der Notwendigkeit eines systematischen Ansatzes zur Identifizierung und zum Neustart von Diensten, die laufen sollten, aber nicht funktionieren. Durch die Automatisierung dieses Prozesses k\u00f6nnen IT-Teams Zeit sparen und <a href=\"https:\/\/www.ninjaone.com\/de\/blog\/wie-menschliches-versagen-mit-cybersecurity-risiken-zusammenhaengt\/\" target=\"_blank\" rel=\"noopener\">das Risiko menschlichen Versagens verringern.<\/a><\/p>\n<h2>Das Skript zur \u00dcberpr\u00fcfung des Status von Windows-Diensten<\/h2>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"powershell\">#Requires -Version 5.1\r\n\r\n&lt;#\r\n.SYNOPSIS\r\n    Reports on or starts services for Automatic Services that are not currently running. Services set as 'Delayed Start' or 'Trigger Start' are ignored.\r\n.DESCRIPTION\r\n    Reports on or starts services for Automatic Services that are not currently running. Services set as 'Delayed Start' or 'Trigger Start' are ignored.\r\n.EXAMPLE\r\n    (No Parameters)\r\n    \r\n    Matching Services found!\r\n\r\n    Name    Description                                         \r\n    ----    -----------                                         \r\n    SysMain Maintains and improves system performance over time.\r\n\r\nPARAMETER: -IgnoreServices \"ExampleServiceName\"\r\n    A comma separated list of service names to ignore.\r\n\r\nPARAMETER: -StartFoundServices\r\n    Attempts to start any services found matching the criteria.\r\n\r\n.NOTES\r\n    Minimum OS Architecture Supported: Windows 10, Windows Server 2016\r\n    Release Notes: Initial Release\r\nBy using this script, you indicate your acceptance of the following legal terms as well as our Terms of Use at https:\/\/www.ninjaone.com\/terms-of-use.\r\n    Ownership Rights: NinjaOne owns and will continue to own all right, title, and interest in and to the script (including the copyright). NinjaOne is giving you a limited license to use the script in accordance with these legal terms. \r\n    Use Limitation: You may only use the script for your legitimate personal or internal business purposes, and you may not share the script with another party. \r\n    Republication Prohibition: Under no circumstances are you permitted to re-publish the script in any script library or website belonging to or under the control of any other software provider. \r\n    Warranty Disclaimer: The script is provided \u201cas is\u201d and \u201cas available\u201d, without warranty of any kind. NinjaOne makes no promise or guarantee that the script will be free from defects or that it will meet your specific needs or expectations. \r\n    Assumption of Risk: Your use of the script is at your own risk. You acknowledge that there are certain inherent risks in using the script, and you understand and assume each of those risks. \r\n    Waiver and Release: You will not hold NinjaOne responsible for any adverse or unintended consequences resulting from your use of the script, and you waive any legal or equitable rights or remedies you may have against NinjaOne relating to your use of the script. \r\n    EULA: If you are a NinjaOne customer, your use of the script is subject to the End User License Agreement applicable to you (EULA).\r\n#&gt;\r\n\r\n[CmdletBinding()]\r\nparam (\r\n    [Parameter()]\r\n    [String]$IgnoreServices,\r\n    [Parameter()]\r\n    [Switch]$StartFoundServices = [System.Convert]::ToBoolean($env:startFoundServices)\r\n)\r\n\r\nbegin {\r\n    # Replace script parameters with form variables\r\n    if($env:servicesToExclude -and $env:servicesToExclude -notlike \"null\"){ $IgnoreServices = $env:servicesToExclude }\r\n\r\n    # Get the last startup time of the operating system.\r\n    $LastBootDateTime = Get-CimInstance -ClassName Win32_OperatingSystem | Select-Object -ExpandProperty LastBootUpTime\r\n    if ($LastBootDateTime -gt $(Get-Date).AddMinutes(-15)) {\r\n        $Uptime = New-TimeSpan $LastBootDateTime (Get-Date) | Select-Object -ExpandProperty TotalMinutes\r\n        Write-Host \"Current uptime is $([math]::Round($Uptime)) minutes.\"\r\n        Write-Host \"[Error] Please wait at least 15 minutes after startup before running this script.\"\r\n        exit 1\r\n    }\r\n\r\n    # Define a function to test if the current user has elevated (administrator) privileges.\r\n    function Test-IsElevated {\r\n        $id = [System.Security.Principal.WindowsIdentity]::GetCurrent()\r\n        $p = New-Object System.Security.Principal.WindowsPrincipal($id)\r\n        $p.IsInRole([System.Security.Principal.WindowsBuiltInRole]::Administrator)\r\n    }\r\n\r\n    $ExitCode = 0\r\n}\r\nprocess {\r\n    # Check if the script is running with Administrator privileges.\r\n    if (!(Test-IsElevated)) {\r\n        Write-Host -Object \"[Error] Access Denied. Please run with Administrator privileges.\"\r\n        exit 1\r\n    }\r\n\r\n    # Define a string of characters that are invalid for service names.\r\n    $InvalidServiceNameCharacters = \"\\\\|\/|:\"\r\n    # Create a list to hold the names of services to ignore.\r\n    $ServicesToIgnore = New-Object System.Collections.Generic.List[string]\r\n\r\n    # If there are services to ignore and they are separated by commas, split the string into individual service names.\r\n    if ($IgnoreServices -and $IgnoreServices -match \",\") {\r\n        $IgnoreServices -split \",\" | ForEach-Object {\r\n            # Check each service name for invalid characters or excessive length.\r\n            if ($_.Trim() -match $InvalidServiceNameCharacters) {\r\n                Write-Host \"[Error] Service Name contains one of the invalid characters '\\\/:'. $_ is not a valid service to ignore.\"\r\n                $ExitCode = 1\r\n                return\r\n            }\r\n\r\n            if (($_.Trim()).Length -gt 256) {\r\n                Write-Host \"[Error] Service Name is greater than 256 characters. $_ is not a valid service to ignore. \"\r\n                $ExitCode = 1\r\n                return\r\n            }\r\n\r\n            # Add valid services to the ignore list.\r\n            $ServicesToIgnore.Add($_.Trim())\r\n        }\r\n    }\r\n    elseif ($IgnoreServices) {\r\n        # For a single service name, perform similar validation and add if valid.\r\n        $ValidService = $True\r\n\r\n        if ($IgnoreServices.Trim() -match $InvalidServiceNameCharacters) {\r\n            Write-Host \"[Error] Service Name contains one of the invalid characters '\\\/:'. '$IgnoreServices' is not a valid service to ignore. \"\r\n            $ExitCode = 1\r\n            $ValidService = $False\r\n        }\r\n\r\n        if (($IgnoreServices.Trim()).Length -gt 256) {\r\n            Write-Host \"[Error] Service Name is greater than 256 characters. '$IgnoreServices' is not a valid service to ignore. \"\r\n            $ExitCode = 1\r\n            $ValidService = $False\r\n        }\r\n\r\n        if ($ValidService) {\r\n            $ServicesToIgnore.Add($IgnoreServices.Trim())\r\n        }\r\n    }\r\n\r\n    # Create a list to hold non-running services that are set to start automatically.\r\n    $NonRunningAutoServices = New-Object System.Collections.Generic.List[object]\r\n    Get-Service | Where-Object { $_.StartType -like \"Automatic\" -and $_.Status -ne \"Running\" } | ForEach-Object {\r\n        $NonRunningAutoServices.Add($_)\r\n    }\r\n\r\n    # Remove services from the list that have triggers or are set to delayed start,\r\n    if ($NonRunningAutoServices.Count -gt 0) {\r\n        $TriggerServices = Get-ChildItem -Path \"Registry::HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services\\*\\*\" -ErrorAction SilentlyContinue | Where-Object { $_.Name -match \"TriggerInfo\" }\r\n        $TriggerServices = $TriggerServices | Select-Object -ExpandProperty PSParentPath | Split-Path -Leaf\r\n        foreach ($TriggerService in $TriggerServices) {\r\n            $NonRunningAutoServices.Remove(($NonRunningAutoServices | Where-Object { $_.ServiceName -match $TriggerService })) | Out-Null\r\n        }\r\n\r\n        $DelayedStartServices = Get-ItemProperty -Path \"Registry::HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services\\*\" | Where-Object { $_.DelayedAutoStart -eq 1 }\r\n        $DelayedStartServices = $DelayedStartServices | Select-Object -ExpandProperty PSChildName\r\n        foreach ($DelayedStartService in $DelayedStartServices) {\r\n            $NonRunningAutoServices.Remove(($NonRunningAutoServices | Where-Object { $_.ServiceName -match $DelayedStartService })) | Out-Null\r\n        }\r\n    }\r\n\r\n    # Remove explicitly ignored services from the list of non-running automatic services.\r\n    if ($ServicesToIgnore.Count -gt 0 -and $NonRunningAutoServices.Count -gt 0) {\r\n        foreach ($ServiceToIgnore in $ServicesToIgnore) {\r\n            if ($NonRunningAutoServices.ServiceName -contains $ServiceToIgnore) {\r\n                $NonRunningAutoServices.Remove(($NonRunningAutoServices | Where-Object { $_.ServiceName -match [Regex]::Escape($ServiceToIgnore) })) | Out-Null\r\n            }\r\n        }\r\n    }\r\n\r\n    # If there are still non-running automatic services left, display their names.\r\n    # Otherwise, indicate no stopped automatic services were detected.\r\n    if ($NonRunningAutoServices.Count -gt 0) {\r\n        Write-Host \"Matching Services found!\"\r\n\r\n        # Add Description to report.\r\n        $ServicesReport = New-Object System.Collections.Generic.List[object]\r\n        $NonRunningAutoServices | ForEach-Object {\r\n            $Description = Get-CimInstance -ClassName Win32_Service -Filter \"Name = '$($_.ServiceName)'\" | Select-Object @{\r\n                Name       = \"Description\"\r\n                Expression = {\r\n                    $Characters = $_.Description | Measure-Object -Character | Select-Object -ExpandProperty Characters\r\n                    if ($Characters -gt 100) {\r\n                        \"$(($_.Description).SubString(0,100))...\"\r\n                    }\r\n                    else {\r\n                        $_.Description\r\n                    }\r\n                }\r\n            }\r\n            $ServicesReport.Add(\r\n                [PSCustomObject]@{\r\n                    Name = $_.ServiceName\r\n                    Description = $Description | Select-Object -ExpandProperty Description\r\n                }\r\n            )\r\n        }\r\n\r\n        # Output report to activity log.\r\n        $ServicesReport | Sort-Object Name | Format-Table -Property Name,Description -AutoSize | Out-String | Write-Host\r\n    }\r\n    else {\r\n        Write-Host \"No stopped automatic services detected!\"\r\n    }\r\n\r\n    # Exit the script if there are no services to start or if starting services is not requested.\r\n    if (!$StartFoundServices -or !($NonRunningAutoServices.Count -gt 0)) {\r\n        exit $ExitCode\r\n    }\r\n\r\n    # Attempt to start each non-running automatic service up to three times.\r\n    # Log success or error messages accordingly.\r\n    $NonRunningAutoServices | ForEach-Object {\r\n        Write-Host \"`nAttempting to start $($_.ServiceName).\"\r\n        $Attempt = 1\r\n        while ($Attempt -le 3) {\r\n            Write-Host -Object \"Attempt: $Attempt\"\r\n            try {\r\n                $_ | Start-Service -ErrorAction Stop\r\n                Write-Host -Object \"Successfully started $($_.ServiceName).\"\r\n                $Attempt = 4\r\n            }\r\n            catch {\r\n                Write-Host -Object \"[Error] $($_.Exception.Message)\"\r\n                if ($Attempt -eq 3) { $ExitCode = 1 }\r\n            }\r\n            $Attempt++\r\n        }\r\n    }\r\n    \r\n    exit $ExitCode\r\n}\r\nend {\r\n    \r\n    \r\n    \r\n}<\/pre>\n<p>&nbsp;<\/p>\n\n<div class=\"in-context-cta\"><p>Greifen Sie auf \u00fcber 300 Skripte im NinjaOne Dojo zu.<\/p>\n<p><a href=\"https:\/\/www.ninjaone.com\/freetrialform\/\">Zugang erhalten<\/a><\/p>\n<\/div>\n<h2>Detailansicht<\/h2>\n<p>Schauen wir uns das Skript genauer an, um zu verstehen, wie es Schritt f\u00fcr Schritt funktioniert.<\/p>\n<ol>\n<li><strong>Skriptinitialisierung und Parameter:<\/strong> Das Skript beginnt mit der Definition seines Zwecks und seiner Parameter. Er akzeptiert zwei optionale Parameter: -IgnoreServices, eine durch Komma getrennte Liste von Diensten, die ignoriert werden sollen, und -StartFoundServices, ein Schalter zum Starten der nicht laufenden Dienste, die die Kriterien erf\u00fcllen.<\/li>\n<li><strong>Pr\u00fcfung der Betriebszeit:<\/strong> Bevor das Skript fortf\u00e4hrt, pr\u00fcft es die <a href=\"https:\/\/www.ninjaone.com\/it-hub\/it-service-management\/what-is-uptime-downtime\/\" target=\"_blank\" rel=\"noopener\">Betriebszeit<\/a> des Systems, um sicherzustellen, dass es seit mindestens 15 Minuten in Betrieb ist. Dies verhindert Probleme im Zusammenhang mit Diensten, die nach einem Neustart m\u00f6glicherweise nicht gen\u00fcgend Zeit hatten, um ordnungsgem\u00e4\u00df zu starten.<\/li>\n<li><strong>Pr\u00fcfung der Berechtigungen:<\/strong> Das Skript stellt sicher, dass es mit Administratorrechten ausgef\u00fchrt wird, weil das Stoppen und Starten von Diensten erh\u00f6hte Berechtigungen erfordert.<\/li>\n<li><strong>Validierung von Diensten:<\/strong> Die zu ignorierenden Dienste werden validiert, um zu gew\u00e4hrleisten, dass sie keine ung\u00fcltigen Zeichen enthalten und ihre Namen nicht \u00fcberm\u00e4\u00dfig lang sind.<\/li>\n<li><strong>Identifizierung nicht laufender Dienste:<\/strong> Das Skript sammelt eine Liste von Diensten, die automatisch gestartet werden sollen, aber derzeit nicht ausgef\u00fchrt werden. Anschlie\u00dfend werden Dienste herausgefiltert, die auf &#8218;verz\u00f6gerten Start&#8216; eingestellt sind oder Ausl\u00f6sebedingungen haben.<\/li>\n<li><strong>Berichterstattung und Ma\u00dfnahmen:<\/strong> Wenn nicht laufende Dienste gefunden werden, meldet das Skript diese. Wenn der Schalter -StartFoundServices gesetzt ist, wird versucht, jeden dieser Dienste zu starten, wobei Erfolge und Fehler protokolliert werden.<\/li>\n<\/ol>\n<h2>Potenzielle Anwendungsf\u00e4lle<\/h2>\n<h3>Fallstudie:<\/h3>\n<p>Stellen Sie sich vor, eine IT-Expert:in verwaltet ein Netzwerk von Windows-Servern, auf denen verschiedene wichtige Anwendungen gehostet werden. Eines Tages melden die Benutzer:innen Probleme beim Zugriff auf eine wichtige Anwendung. Die IT-Expert:in f\u00fchrt dieses PowerShell-Skript aus, das feststellt, dass der Dienst der Anwendung, der auf automatischen Start eingestellt ist, nicht ausgef\u00fchrt wird. Das Skript versucht, den Dienst neu zu starten, um das Problem schnell zu beheben und den normalen Betrieb wiederherzustellen.<\/p>\n<h2>Vergleiche<\/h2>\n<p>Dieses Skript bietet einen optimierten, automatisierten Ansatz im Vergleich zur manuellen \u00dcberpr\u00fcfung jedes Dienstes \u00fcber das MMC-Snap-In oder zur Verwendung anderer, weniger gezielter Skripte. Alternative Methoden, wie etwa die Verwendung vom Task Scheduler zur \u00dcberwachung von Diensten, k\u00f6nnen komplexer und schwieriger zu warten sein.<\/p>\n<h2>FAQs<\/h2>\n<h3>F: Kann dieses Skript auch auf \u00e4lteren Windows-Versionen verwendet werden?<\/h3>\n<p>A: Das Skript ist f\u00fcr Windows 10, Windows Server 2016 und neuer konzipiert. Die Kompatibilit\u00e4t mit \u00e4lteren Versionen kann Anpassungen erfordern.<\/p>\n<h3>F: Was passiert, wenn ein Dienst nicht gestartet werden kann?<\/h3>\n<p>A: Das Skript versucht, jeden Dienst bis zu dreimal zu starten und protokolliert Fehler, wenn dies nicht gelingt.<\/p>\n<h3>F: Kann ich mehrere Dienste von der Pr\u00fcfung ausschlie\u00dfen?<\/h3>\n<p>A: Ja, verwenden Sie den Parameter -IgnoreServices mit einer durch Komma getrennten Liste von Dienstnamen.<\/p>\n<h2>Folgen<\/h2>\n<p>Die Automatisierung der \u00dcberwachung und Verwaltung von Windows-Diensten erh\u00f6ht die <a href=\"https:\/\/www.ninjaone.com\/de\/effizienz\/\" target=\"_blank\" rel=\"noopener\">betriebliche Effizienz<\/a> und verringert die Wahrscheinlichkeit von Ausfallzeiten. Die Gew\u00e4hrleistung, dass kritische Dienste immer laufen, kann die Zuverl\u00e4ssigkeit und <a href=\"https:\/\/www.ninjaone.com\/de\/top-5-it-sicherheitsgrundlagen\/\" target=\"_blank\" rel=\"noopener\">Sicherheit<\/a> des Systems verbessern.<\/p>\n<h2>Empfehlungen<\/h2>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"1\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"1\" data-aria-level=\"1\"><strong>Regelm\u00e4\u00dfige \u00dcberwachung:<\/strong> Planen Sie die Ausf\u00fchrung des Skripts in regelm\u00e4\u00dfigen Abst\u00e4nden mithilfe vom Task Scheduler, um f\u00fcr eine kontinuierliche \u00dcberwachung zu sorgen.<\/li>\n<\/ul>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"1\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"2\" data-aria-level=\"1\"><strong>Protokollierung:<\/strong> Implementieren Sie zus\u00e4tzliche Protokollierungs-Mechanismen, um einen Verlauf der vom Skript durchgef\u00fchrten Aktionen zu erhalten.<\/li>\n<\/ul>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"1\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"3\" data-aria-level=\"1\"><strong>Pr\u00fcfung:<\/strong> Testen Sie das Skript in einer Staging-Umgebung, bevor Sie es in der Produktion einsetzen.<\/li>\n<\/ul>\n<h2>Abschlie\u00dfende \u00dcberlegungen<\/h2>\n<p>Durch die Automatisierung der Verwaltung von Windows-Diensten k\u00f6nnen IT-Expert:innen f\u00fcr eine h\u00f6here Betriebszeit und Zuverl\u00e4ssigkeit ihrer Systeme sorgen. F\u00fcr diejenigen, die ihren IT-Betrieb weiter rationalisieren m\u00f6chten, bieten Tools wie NinjaOne umfassende L\u00f6sungen f\u00fcr die \u00dcberwachung, Verwaltung und Automatisierung verschiedener Aspekte der IT-Infrastruktur, die die M\u00f6glichkeiten dieses Skripts erg\u00e4nzen.<\/p>\n","protected":false},"author":35,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"_relevanssi_hide_post":"","_relevanssi_hide_content":"","_relevanssi_pin_for_all":"","_relevanssi_pin_keywords":"","_relevanssi_unpin_keywords":"","_relevanssi_related_keywords":"","_relevanssi_related_include_ids":"","_relevanssi_related_exclude_ids":"","_relevanssi_related_no_append":"","_relevanssi_related_not_related":"","_relevanssi_related_posts":"","_relevanssi_noindex_reason":"","_lmt_disableupdate":"no","_lmt_disable":""},"operating_system":[4212],"use_cases":[4383],"class_list":["post-395050","script_hub","type-script_hub","status-publish","hentry","script_hub_category-windows"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.ninjaone.com\/de\/wp-json\/wp\/v2\/script_hub\/395050","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.ninjaone.com\/de\/wp-json\/wp\/v2\/script_hub"}],"about":[{"href":"https:\/\/www.ninjaone.com\/de\/wp-json\/wp\/v2\/types\/script_hub"}],"author":[{"embeddable":true,"href":"https:\/\/www.ninjaone.com\/de\/wp-json\/wp\/v2\/users\/35"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ninjaone.com\/de\/wp-json\/wp\/v2\/comments?post=395050"}],"wp:attachment":[{"href":"https:\/\/www.ninjaone.com\/de\/wp-json\/wp\/v2\/media?parent=395050"}],"wp:term":[{"taxonomy":"script_hub_category","embeddable":true,"href":"https:\/\/www.ninjaone.com\/de\/wp-json\/wp\/v2\/operating_system?post=395050"},{"taxonomy":"use_cases","embeddable":true,"href":"https:\/\/www.ninjaone.com\/de\/wp-json\/wp\/v2\/use_cases?post=395050"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}