{"id":353615,"date":"1970-01-01T00:00:00","date_gmt":"1970-01-01T00:00:00","guid":{"rendered":"https:\/\/www.ninjaone.com\/?post_type=script_hub&#038;p=353615"},"modified":"2024-10-28T09:13:06","modified_gmt":"2024-10-28T09:13:06","slug":"suche-im-dns-cache-mit-powershell","status":"publish","type":"script_hub","link":"https:\/\/www.ninjaone.com\/de\/script-hub\/suche-im-dns-cache-mit-powershell\/","title":{"rendered":"Effiziente Suche im DNS-Cache mit PowerShell: Ein vollst\u00e4ndiger Guide"},"content":{"rendered":"<p>In der heutigen vernetzten Welt m\u00fcssen IT-Experten h\u00e4ufig verschiedene netzwerkbezogene Probleme untersuchen und verwalten. Einer der wichtigsten Aspekte bei der Fehlersuche im Netzwerk ist das Verst\u00e4ndnis von <a href=\"https:\/\/www.ninjaone.com\/blog\/what-is-dns\/\" target=\"_blank\" rel=\"noopener\">DNS (Domain Name System)<\/a>-Abfragen und die L\u00f6sung von DNS-bezogenen Problemen.<\/p>\n<p>DNS ist das Protokoll, das f\u00fcr die \u00dcbersetzung von menschenfreundlichen Domainnamen in IP-Adressen zust\u00e4ndig ist, mit denen Computer miteinander kommunizieren. In diesem Zusammenhang kann die Suche im DNS-Cache nach bestimmten Datens\u00e4tzen eine wichtige Aufgabe f\u00fcr Netzwerkadministratoren und <a href=\"https:\/\/www.ninjaone.com\/de\/was-ist-ein-msp\" target=\"_blank\" rel=\"noopener\">Managed Service Provider (MSPs)<\/a> sein.<\/p>\n<p>In diesem Blogbeitrag wird der Prozess der Suche im DNS-Cache mit Powershell pr\u00e4sentiert. Genauer gesagt wird ein PowerShell-Skript vorgestellt, mit dem nach DNS-Cache-Datensatznamen gesucht wird, die bestimmten Schl\u00fcsselw\u00f6rtern entsprechen. Wir erkunden den Hintergrund, die Funktionsweise, die praktischen Anwendungen und warum es ein unsch\u00e4tzbares Tool f\u00fcr IT-Experten ist.<\/p>\n<h2>Die Bedeutung der DNS-Cache-Verwaltung<\/h2>\n<p>Bevor Sie sich mit dem Skript befassen, sollten Sie die Bedeutung der DNS-Cache-Verwaltung verstehen. Der DNS-Cache ist eine tempor\u00e4re Datenbank, die vom Betriebssystem verwaltet wird und in der alle letzten Besuche und versuchten Besuche von Internetseiten und anderen Internetdomains gespeichert werden. Dieser Cache erm\u00f6glicht einen schnelleren Zugriff auf h\u00e4ufig besuchte Webseiten, indem er die Notwendigkeit wiederholter DNS-Suchvorg\u00e4nge verringert und so die Effizienz des Browsens erh\u00f6ht.<\/p>\n<p>Dieser Cache kann jedoch manchmal veraltete oder falsche Datens\u00e4tze enthalten, was zu Problemen beim Zugriff auf die Internetseite oder zu Sicherheitsl\u00fccken f\u00fchren kann. Hier ist die M\u00f6glichkeit, den DNS-Cache zu durchsuchen und zu verwalten, entscheidend. Das Skript, das wir heute thematisieren, bietet eine optimierte M\u00f6glichkeit, DNS-Cache-Datens\u00e4tze zu suchen und zu analysieren, und ist damit ein unverzichtbares Tool f\u00fcr IT-Experten.<\/p>\n<h2>Das Skript:<\/h2>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"powershell\">#Requires -Version 5.1\r\n\r\n&lt;#\r\n.SYNOPSIS\r\n    Search for DNS cache record names that match the specified keywords.\r\n.DESCRIPTION\r\n    Search for DNS cache record names that match the specified keywords.\r\n    The DNS cache is a temporary database maintained by the operating system that contains records of all the recent visits and attempted visits to websites and other internet domains.\r\n    This script searches the DNS cache for record names that match the specified keywords and outputs the results to the Activity Feed.\r\n    Optionally, the results can be saved to a multiline custom field.\r\n\r\nPARAMETER: -Keywords \"ExampleInput\"\r\n    Comma separated list of keywords to search for in the DNS cache.\r\n.EXAMPLE\r\n    -Keywords \"arpa\"\r\n    ## EXAMPLE OUTPUT WITH Keywords ##\r\n    Entry: 1.80.19.172.in-addr.arpa, Record Name: 1.80.19.172.in-addr.arpa., Record Type: 12, Data: test.mshome.net, TTL: 598963\r\n\r\nPARAMETER: -Keywords \"arpa,mshome\" -MultilineCustomField \"ReplaceMeWithAnyMultilineCustomField\"\r\n    The name of the multiline custom field to save the results to.\r\n.EXAMPLE\r\n    -Keywords \"arpa,mshome\" -MultilineCustomField \"ReplaceMeWithAnyMultilineCustomField\"\r\n    ## EXAMPLE OUTPUT WITH MultilineCustomField ##\r\n    Entry: 1.80.19.172.in-addr.arpa, Record Name: 1.80.19.172.in-addr.arpa., Record Type: 12, Data: test.mshome.net, TTL: 598963\r\n    Entry: test.mshome.net, Record Name: test.mshome.net., Record Type: 1, Data: 172.19.80.1, TTL: 598963\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[]]$Keywords,\r\n    [Parameter()]\r\n    [String]$MultilineCustomField\r\n)\r\n\r\nbegin {\r\n    $ExitCode = 0\r\n    function Set-NinjaProperty {\r\n        [CmdletBinding()]\r\n        Param(\r\n            [Parameter(Mandatory = $True)]\r\n            [String]$Name,\r\n            [Parameter()]\r\n            [String]$Type,\r\n            [Parameter(Mandatory = $True, ValueFromPipeline = $True)]\r\n            $Value,\r\n            [Parameter()]\r\n            [String]$DocumentName\r\n        )\r\n    \r\n        $Characters = $Value | Measure-Object -Character | Select-Object -ExpandProperty Characters\r\n        if ($Characters -ge 10000) {\r\n            throw [System.ArgumentOutOfRangeException]::New(\"Character limit exceeded, value is greater than 10,000 characters.\")\r\n        }\r\n        \r\n        # If we're requested to set the field value for a Ninja document we'll specify it here.\r\n        $DocumentationParams = @{}\r\n        if ($DocumentName) { $DocumentationParams[\"DocumentName\"] = $DocumentName }\r\n        \r\n        # This is a list of valid fields that can be set. If no type is given, it will be assumed that the input doesn't need to be changed.\r\n        $ValidFields = \"Attachment\", \"Checkbox\", \"Date\", \"Date or Date Time\", \"Decimal\", \"Dropdown\", \"Email\", \"Integer\", \"IP Address\", \"MultiLine\", \"MultiSelect\", \"Phone\", \"Secure\", \"Text\", \"Time\", \"URL\", \"WYSIWYG\"\r\n        if ($Type -and $ValidFields -notcontains $Type) { Write-Warning \"$Type is an invalid type! Please check here for valid types. https:\/\/ninjarmm.zendesk.com\/hc\/en-us\/articles\/16973443979789-Command-Line-Interface-CLI-Supported-Fields-and-Functionality\" }\r\n        \r\n        # The field below requires additional information to be set\r\n        $NeedsOptions = \"Dropdown\"\r\n        if ($DocumentName) {\r\n            if ($NeedsOptions -contains $Type) {\r\n                # We'll redirect the error output to the success stream to make it easier to error out if nothing was found or something else went wrong.\r\n                $NinjaPropertyOptions = Ninja-Property-Docs-Options -AttributeName $Name @DocumentationParams 2&gt;&amp;1\r\n            }\r\n        }\r\n        else {\r\n            if ($NeedsOptions -contains $Type) {\r\n                $NinjaPropertyOptions = Ninja-Property-Options -Name $Name 2&gt;&amp;1\r\n            }\r\n        }\r\n        \r\n        # If an error is received it will have an exception property, the function will exit with that error information.\r\n        if ($NinjaPropertyOptions.Exception) { throw $NinjaPropertyOptions }\r\n        \r\n        # The below type's require values not typically given in order to be set. The below code will convert whatever we're given into a format ninjarmm-cli supports.\r\n        switch ($Type) {\r\n            \"Checkbox\" {\r\n                # While it's highly likely we were given a value like \"True\" or a boolean datatype it's better to be safe than sorry.\r\n                $NinjaValue = [System.Convert]::ToBoolean($Value)\r\n            }\r\n            \"Date or Date Time\" {\r\n                # Ninjarmm-cli expects the GUID of the option to be selected. Therefore, the given value will be matched with a GUID.\r\n                $Date = (Get-Date $Value).ToUniversalTime()\r\n                $TimeSpan = New-TimeSpan (Get-Date \"1970-01-01 00:00:00\") $Date\r\n                $NinjaValue = $TimeSpan.TotalSeconds\r\n            }\r\n            \"Dropdown\" {\r\n                # Ninjarmm-cli is expecting the guid of the option we're trying to select. So we'll match up the value we were given with a guid.\r\n                $Options = $NinjaPropertyOptions -replace '=', ',' | ConvertFrom-Csv -Header \"GUID\", \"Name\"\r\n                $Selection = $Options | Where-Object { $_.Name -eq $Value } | Select-Object -ExpandProperty GUID\r\n        \r\n                if (-not $Selection) {\r\n                    throw [System.ArgumentOutOfRangeException]::New(\"Value is not present in dropdown\")\r\n                }\r\n        \r\n                $NinjaValue = $Selection\r\n            }\r\n            default {\r\n                # All the other types shouldn't require additional work on the input.\r\n                $NinjaValue = $Value\r\n            }\r\n        }\r\n        \r\n        # We'll need to set the field differently depending on if its a field in a Ninja Document or not.\r\n        if ($DocumentName) {\r\n            $CustomField = Ninja-Property-Docs-Set -AttributeName $Name -AttributeValue $NinjaValue @DocumentationParams 2&gt;&amp;1\r\n        }\r\n        else {\r\n            $CustomField = Ninja-Property-Set -Name $Name -Value $NinjaValue 2&gt;&amp;1\r\n        }\r\n        \r\n        if ($CustomField.Exception) {\r\n            throw $CustomField\r\n        }\r\n    }\r\n}\r\nprocess {\r\n    # Get the keywords to search for in the DNS cache\r\n    $Keywords = if ($env:keywordsToSearch -and $env:keywordsToSearch -ne \"null\") {\r\n        $env:keywordsToSearch -split \",\" | ForEach-Object { $_.Trim() }\r\n    }\r\n    else {\r\n        $Keywords -split \",\" | ForEach-Object { $_.Trim() }\r\n    }\r\n    $Keywords = if ($Keywords -and $Keywords -ne \"null\") {\r\n        $Keywords | ForEach-Object {\r\n            Write-Host \"[Info] Searching for DNS Cache Records Matching: $_\"\r\n            Write-Output \"*$_*\"\r\n        }\r\n    }\r\n    else {\r\n        # Exit if Keywords is empty\r\n        Write-Host \"[Error] No Keywords Provided\"\r\n        $ExitCode = 1\r\n        exit $ExitCode\r\n    }\r\n    # Get the multiline custom field to save the results to\r\n    $MultilineCustomField = if ($env:multilineCustomField -and $env:multilineCustomField -ne \"null\") {\r\n        $env:multilineCustomField -split \",\" | ForEach-Object { $_.Trim() }\r\n    }\r\n    else {\r\n        $MultilineCustomField -split \",\" | ForEach-Object { $_.Trim() }\r\n    }\r\n\r\n    Write-Host \"\"\r\n\r\n    # Get the DNS cache entries that match the keywords\r\n    $DnsCache = Get-DnsClientCache -Name $Keywords | Select-Object -Property Entry, Name, Type, Data, TimeToLive\r\n\r\n    if ($null -eq $DnsCache) {\r\n        Write-Host \"[Warn] No DNS Cache Entries Found\"\r\n    }\r\n    else {\r\n        # Format the DNS cache entries\r\n        $Results = $DnsCache | ForEach-Object {\r\n            \"Entry: $($_.Entry), Record Name: $($_.Name), Record Type: $($_.Type), Data: $($_.Data), TTL: $($_.TimeToLive)\"\r\n        }\r\n        Write-Host \"[Info] DNS Cache Entries Found\"\r\n        # Save the results to a multiline custom field if specified\r\n        if ($MultilineCustomField -and $MultilineCustomField -ne \"null\") {\r\n            Write-Host \"[Info] Attempting to set Custom Field '$MultilineCustomField'.\"\r\n            try {\r\n                Set-NinjaProperty -Name $MultilineCustomField -Value $($Results | Out-String)\r\n                Write-Host \"[Info] Successfully set Custom Field '$MultilineCustomField'!\"\r\n            }\r\n            catch {\r\n                Write-Host \"[Warn] Failed to set Custom Field '$MultilineCustomField'.\"\r\n                $Results | Out-String | Write-Host\r\n            }\r\n        }\r\n        else {\r\n            # Output the results to the Activity Feed\r\n            $Results | Out-String | Write-Host\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=\"blog-cta-new blog-cta-style-1\"><div class=\"cta-left\"><h2><\/h2><p><\/p><\/div><div class=\"cta-right\"><a class=\"button\" href=\"\"><\/a><\/div><\/div>\n<h2>Detaillierte Aufschl\u00fcsselung des Skripts<\/h2>\n<p>Lassen Sie uns das Skript erl\u00e4utern, um zu verstehen, wie es funktioniert und welche Funktionen es bietet.<\/p>\n<h3>1. Skript-Initialisierung:<\/h3>\n<ul>\n<li>Das Skript beginnt mit der Einrichtung von Parametern, die es den Benutzer:innen erm\u00f6glichen, Schl\u00fcsselw\u00f6rter f\u00fcr die Suche im DNS-Cache anzugeben. Diese Schl\u00fcsselw\u00f6rter werden als kommagetrennte Liste eingegeben.<\/li>\n<li>Ein optionaler Parameter bietet den Anwender:innen die M\u00f6glichkeit, die Ergebnisse in einem mehrzeiligen benutzerdefinierten Feld zu speichern. Dies ist vor allem f\u00fcr Protokollierungs- und Dokumentationszwecke n\u00fctzlich.<\/li>\n<\/ul>\n<h3>2. Keyword-Verarbeitung:<\/h3>\n<ul>\n<li>Das Skript verarbeitet die angegebenen Schl\u00fcsselw\u00f6rter und stellt sicher, dass sie f\u00fcr den Suchvorgang richtig formatiert sind. Wenn keine Schl\u00fcsselw\u00f6rter angegeben werden, wird das Skript mit einer Fehlermeldung beendet, sodass die Benutzer:innen auf die fehlende Eingabe aufmerksam gemacht werden.<\/li>\n<\/ul>\n<h3>3. Abruf des DNS-Cache:<\/h3>\n<ul>\n<li>Der Kern des Skripts besteht im Abrufen von DNS-Cache-Eintr\u00e4gen mit dem cmdlet Get-DnsClientCache. Dieses cmdlet holt die DNS-Eintr\u00e4ge aus dem lokalen Cache, die den angegebenen Schl\u00fcsselw\u00f6rtern entsprechen.<\/li>\n<li>Die Ergebnisse werden dann so formatiert, dass der Eintrag, der Datensatzname, der Datensatztyp, die Daten und die Time-To-Live (TTL) f\u00fcr jeden gefundenen DNS-Datensatz angezeigt werden.<\/li>\n<\/ul>\n<h3>4. Ausgabeverarbeitung:<\/h3>\n<ul>\n<li>Wenn das optionale mehrzeilige benutzerdefinierte Feld angegeben ist, versucht das Skript, die Ergebnisse in diesem Feld mit einer benutzerdefinierten Funktion namens Set-NinjaProperty zu speichern. Diese Funktion verarbeitet verschiedene Arten von Eingabedaten und gew\u00e4hrleistet, dass das Feld korrekt aktualisiert wird.<\/li>\n<li>Wenn das benutzerdefinierte Feld nicht angegeben wird, werden die Ergebnisse einfach in den Aktivit\u00e4tsfeed ausgegeben, was eine schnelle \u00dcberpr\u00fcfung und Analyse erm\u00f6glicht.<\/li>\n<\/ul>\n<h2>Anwendungsf\u00e4lle aus der Praxis<\/h2>\n<p>Um den Nutzen dieses Skripts zu veranschaulichen, stellen Sie sich ein Szenario vor, in dem ein IT-Experte ein Netzwerkproblem bei einem Kunden behebt. Der Kunde meldet zeitweise Verbindungsprobleme mit bestimmten Webseiten. Der IT-Experte vermutet, dass veraltete oder falsche DNS-Cache-Eintr\u00e4ge die Ursache des Problems sind.<\/p>\n<p>Mit diesem PowerShell-Skript kann der IT-Experte den DNS-Cache schnell nach allen Datens\u00e4tzen durchsuchen, die mit den problematischen Webseiten in Verbindung stehen. Durch die Identifizierung dieser Datens\u00e4tze k\u00f6nnen sie feststellen, ob der DNS-Cache geleert oder bestimmte Eintr\u00e4ge aktualisiert werden m\u00fcssen. Dieser gezielte Ansatz spart Zeit und sorgt daf\u00fcr, dass die Netzprobleme des Kunden effizient gel\u00f6st werden.<\/p>\n<h2>Vergleich mit anderen Methoden<\/h2>\n<p>Dieses Skript bietet einen automatisierten und anpassbaren Ansatz f\u00fcr die Suche im DNS-Cache mit PowerShell im Vergleich zu anderen manuellen Methoden. Es ist zwar m\u00f6glich, DNS-Cache-Eintr\u00e4ge mit dem Befehl ipconfig \/displaydnscommand manuell zu \u00fcberpr\u00fcfen, doch kann dieser Ansatz m\u00fchsam und zeitaufw\u00e4ndig sein, insbesondere bei gro\u00dfen Caches oder mehreren Schl\u00fcsselw\u00f6rtern.<\/p>\n<p>Die M\u00f6glichkeit, die Ergebnisse in einem benutzerdefinierten Feld zu speichern, um sie sp\u00e4ter durchzusehen oder zu dokumentieren, unterscheidet dieses Skript von einfacheren Methoden und macht es f\u00fcr den professionellen Einsatz vielseitiger.<\/p>\n<h2>H\u00e4ufig gestellte Fragen<\/h2>\n<h3>Welche Betriebssysteme unterst\u00fctzen dieses Skript?<\/h3>\n<p>Dieses Skript ist mit Windows 10 und Windows Server 2016 oder h\u00f6her kompatibel.<\/p>\n<h3>Was passiert, wenn keine Schl\u00fcsselw\u00f6rter angegeben werden?<\/h3>\n<p>Das Skript wird mit einer Fehlermeldung beendet, die die Benutzer:innen darauf hinweist, dass f\u00fcr die Suche Schl\u00fcsselw\u00f6rter erforderlich sind.<\/p>\n<h3>K\u00f6nnen die Ergebnisse zur sp\u00e4teren Verwendung gespeichert werden?<\/h3>\n<p>Ja, die Ergebnisse k\u00f6nnen in einem mehrzeiligen benutzerdefinierten Feld gespeichert werden, was f\u00fcr die Dokumentation oder weitere Analysen n\u00fctzlich sein kann.<\/p>\n<h2>Sicherheitsrelevante Auswirkungen von DNS-Cache-Suchen<\/h2>\n<p>Das Durchsuchen des DNS-Caches dient nicht nur der Fehlersuche, sondern hat auch erhebliche Sicherheitsauswirkungen. Durch regelm\u00e4\u00dfige \u00dcberwachung der DNS-Cache-Eintr\u00e4ge k\u00f6nnen IT-Experten potenziell b\u00f6sartige Eintr\u00e4ge oder ungew\u00f6hnliche Muster erkennen, die auf eine Sicherheitsverletzung oder einen Phishing-Versuch hindeuten k\u00f6nnten. Dieser proaktive Ansatz f\u00fcr das DNS-Management ist ein entscheidender Aspekt f\u00fcr die Aufrechterhaltung einer sicheren Netzwerkumgebung.<\/p>\n<h2>Empfehlungen zur Verwendung dieses Skripts<\/h2>\n<p>Beachten Sie bei der Verwendung dieses Skripts die folgenden Best Practices:<\/p>\n<ul>\n<li>\u00dcberpr\u00fcfen Sie regelm\u00e4\u00dfig den DNS-Cache, um sicherzustellen, dass die Eintr\u00e4ge aktuell und frei von potenziell b\u00f6sartigen Datens\u00e4tzen sind.<\/li>\n<li>Dokumentieren Sie alle wichtigen Ergebnisse, indem Sie sie in einem benutzerdefinierten Feld speichern, auf das Sie bei zuk\u00fcnftigen Fehlerbehebungen oder Sicherheitsaudits verweisen k\u00f6nnen.<\/li>\n<li>Kombinieren Sie dieses Skript mit anderen DNS-Management-Tools, um einen kompletten Ansatz f\u00fcr DNS-Sicherheit und -Leistung zu erhalten.<\/li>\n<\/ul>\n<h2>Abschlie\u00dfende \u00dcberlegungen<\/h2>\n<p>Das effektive Management des DNS-Caches ist eine wichtige Aufgabe f\u00fcr IT-Experten und MSPs, und dieses PowerShell-Skript bietet ein leistungsf\u00e4higes Tool zur Optimierung dieses Prozesses. Durch die M\u00f6glichkeit, DNS-Cache-Eintr\u00e4ge schnell und gezielt zu durchsuchen, k\u00f6nnen IT-Teams Netzwerkprobleme effizienter beheben und <a href=\"https:\/\/www.ninjaone.com\/blog\/what-is-wireless-network-security\/\" target=\"_blank\" rel=\"noopener\">die allgemeine Netzwerksicherheit erh\u00f6hen<\/a>.<\/p>\n<p>NinjaOne, ein f\u00fchrender Anbieter von IT-Management-L\u00f6sungen, stellt die notwendigen Tools zur Verf\u00fcgung, um solche Aufgaben zu automatisieren und zu optimieren, damit IT-Experten solide, sichere und <a href=\"https:\/\/www.ninjaone.com\/de\/effizienz\" target=\"_blank\" rel=\"noopener\">effiziente Netzwerkumgebungen<\/a> aufrechterhalten k\u00f6nnen. Dieses Skript ist nur ein Beispiel daf\u00fcr, wie <a href=\"https:\/\/www.ninjaone.com\/de\/rmm\/it-automatisierung\" target=\"_blank\" rel=\"noopener\">Automatisierung<\/a> und durchdachte Skripterstellung den IT-Betrieb und die Servicebereitstellung verbessern k\u00f6nnen.<\/p>\n","protected":false},"author":35,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"open","ping_status":"open","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":[4307],"class_list":["post-353615","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\/353615","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=353615"}],"wp:attachment":[{"href":"https:\/\/www.ninjaone.com\/de\/wp-json\/wp\/v2\/media?parent=353615"}],"wp:term":[{"taxonomy":"script_hub_category","embeddable":true,"href":"https:\/\/www.ninjaone.com\/de\/wp-json\/wp\/v2\/operating_system?post=353615"},{"taxonomy":"use_cases","embeddable":true,"href":"https:\/\/www.ninjaone.com\/de\/wp-json\/wp\/v2\/use_cases?post=353615"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}