{"id":382822,"date":"2024-11-15T11:38:16","date_gmt":"2024-11-15T11:38:16","guid":{"rendered":"https:\/\/www.ninjaone.com\/?post_type=script_hub&#038;p=382822"},"modified":"2024-11-15T11:38:16","modified_gmt":"2024-11-15T11:38:16","slug":"ueberwachung-vom-gemeinsam-genutzten-hyper-v-speicherplatz","status":"publish","type":"script_hub","link":"https:\/\/www.ninjaone.com\/de\/script-hub\/ueberwachung-vom-gemeinsam-genutzten-hyper-v-speicherplatz\/","title":{"rendered":"Umfassender Guide zur \u00dcberwachung vom gemeinsam genutzten Hyper V-Speicherplatz mit PowerShell"},"content":{"rendered":"<p>Eine effektive Verwaltung des Speicherplatzes ist ein entscheidender Aspekt f\u00fcr die Aufrechterhaltung einer effizienten und zuverl\u00e4ssigen IT-Infrastruktur. Dabei sollten IT-Mitarbeiter:innen auch auf die \u00dcberwachung vom gemeinsam genutzten Hyper V-Speicherplatz Acht geben. Ein leistungsstarkes Tool f\u00fcr IT-Experten ist PowerShell, ein Framework zur Aufgabenautomatisierung von Microsoft. Heute werden wir uns mit einem PowerShell-Skript befassen, das <strong>zur \u00dcberwachung des freien Speicherplatzes auf gemeinsam genutzten Volumen in einer Hyper-V-Clusterumgebung<\/strong> entwickelt wurde. Dieses Skript ist besonders wertvoll f\u00fcr IT-Experten und <a href=\"https:\/\/www.ninjaone.com\/de\/was-ist-ein-msp\" target=\"_blank\" rel=\"noopener\">Managed Service Provider (MSPs)<\/a>, die einen reibungslosen Betrieb ihrer Systeme sicherstellen und <a href=\"https:\/\/www.ninjaone.com\/it-hub\/it-service-management\/what-is-network-downtime\/\" target=\"_blank\" rel=\"noopener\">Ausfallzeiten<\/a> aufgrund von Speicherproblemen vermeiden m\u00fcssen.<\/p>\n<h2>Kontext<\/h2>\n<p>Die \u00dcberwachung des Speicherplatzes ist von entscheidender Bedeutung, wenn man unerwarteten Ausf\u00e4llen vorbeugen und daf\u00fcr sorgen will, dass Anwendungen und Dienste ohne Unterbrechung laufen. Gemeinsame Volumen in einem Hyper-V-Cluster k\u00f6nnen zahlreiche virtuelle Maschinen beherbergen, und wenn der Speicherplatz knapp wird, kann das schwerwiegende Folgen haben. Dieses PowerShell-Skript vereinfacht den \u00dcberwachungsprozess und erm\u00f6glicht es Administratoren, den freien Speicherplatz im Auge zu behalten und Ma\u00dfnahmen zu ergreifen, bevor Probleme auftreten.<\/p>\n<h2>Das Skript zur \u00dcberwachung vom gemeinsam genutzten Hyper V-Speicherplatz:<\/h2>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"powershell\">Requires -Version 5.1\r\n\r\n&lt;#\r\n.SYNOPSIS\r\n    Hyper-V Monitor shared volume disk free space. Must be ran as a Local or Domain Admin user.\r\n.DESCRIPTION\r\n    Hyper-V Monitor shared volume disk free space. Must be ran as a Local or Domain Admin user.\r\n\r\n.EXAMPLE\r\n    (No Parameters)\r\n    ## EXAMPLE OUTPUT WITHOUT PARAMS ##\r\nName                       Path                  Size(GB) FreeSpace(GB) UsedSpace(GB) PercentFree\r\n----                       ----                  -------- ------------- ------------- -----------\r\nCluster Virtual Disk (vd1) C:\\ClusterStorage\\vd1 3,068.98 168.77        2900.21       9.99\r\n\r\nPARAMETER: -MinimumPercentage 20\r\n    Only errors when any shared volume disk is below the specified percentage.\r\n    Defaults to 10 percent.\r\n.EXAMPLE\r\n    -MinimumPercentage 20\r\n    ## EXAMPLE OUTPUT WITH MinimumPercentage ##\r\nName                       Path                  Size(GB) FreeSpace(GB) UsedSpace(GB) PercentFree\r\n----                       ----                  -------- ------------- ------------- -----------\r\nCluster Virtual Disk (vd1) C:\\ClusterStorage\\vd1 3,068.98 168.77        2900.21       9.99\r\n\r\nPARAMETER: -MinimumFreeBytes 1073741824\r\n    Only errors when any shared volume disk is below the specified percentage.\r\n    Defaults to 1GB or 1073741824 bytes.\r\n.EXAMPLE\r\n    -MinimumFreeBytes 1073741824\r\n    ## EXAMPLE OUTPUT WITH MinimumFreeBytes ##\r\nName                       Path                  Size(GB) FreeSpace(GB) UsedSpace(GB) PercentFree\r\n----                       ----                  -------- ------------- ------------- -----------\r\nCluster Virtual Disk (vd1) C:\\ClusterStorage\\vd1 3,068.98 168.77        2900.21       9.99\r\n\r\nPARAMETER: -ExcludeDrivesByName MyDisk\r\n    Excludes drives that contains the text MyDisk in its name.\r\n.EXAMPLE\r\n    -ExcludeDrivesByName 1073741824\r\n    ## EXAMPLE OUTPUT WITH ExcludeDrivesByName ##\r\nName                       Path                  Size(GB) FreeSpace(GB) UsedSpace(GB) PercentFree\r\n----                       ----                  -------- ------------- ------------- -----------\r\nCluster Virtual Disk (vd1) C:\\ClusterStorage\\vd1 3,068.98 168.77        2900.21       9.99\r\n\r\nPARAMETER: -ExcludeDrivesByPath C:\\ClusterStorage\\MyDisk\r\n    Excludes drives that contains the text MyDisk in its name.\r\n.EXAMPLE\r\n    -ExcludeDrivesByPath C:\\ClusterStorage\\MyDisk\r\n.EXAMPLE\r\n    -ExcludeDrivesByPath MyDisk\r\n    ## EXAMPLE OUTPUT WITH ExcludeDrivesByPath ##\r\nName                       Path                  Size(GB) FreeSpace(GB) UsedSpace(GB) PercentFree\r\n----                       ----                  -------- ------------- ------------- -----------\r\nCluster Virtual Disk (vd1) C:\\ClusterStorage\\vd1 3,068.98 168.77        2900.21       9.99\r\n\r\nPARAMETER: -CustomFieldParam \"ReplaceMeWithAnyMultilineCustomField\"\r\n    Saves the results to a multi-line string custom field.\r\n.EXAMPLE\r\n    -CustomFieldParam \"ReplaceMeWithAnyMultilineCustomField\"\r\n    ## EXAMPLE OUTPUT WITH CustomFieldParam ##\r\nName                       Path                  Size(GB) FreeSpace(GB) UsedSpace(GB) PercentFree\r\n----                       ----                  -------- ------------- ------------- -----------\r\nCluster Virtual Disk (vd1) C:\\ClusterStorage\\vd1 3,068.98 168.77        2900.21       9.99\r\n.OUTPUTS\r\n    None\r\n.NOTES\r\n    Minimum OS Architecture Supported: 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    [int]$MinimumPercentage = 10,\r\n    $MinimumFreeBytes = 1GB,\r\n    [String]$ExcludeDrivesByName,\r\n    [String]$ExcludeDrivesByPath,\r\n    [string]$CustomFieldParam\r\n)\r\n\r\nbegin {\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    function Test-IsSystem {\r\n        $id = [System.Security.Principal.WindowsIdentity]::GetCurrent()\r\n        return $id.Name -like \"NT AUTHORITY*\" -or $id.IsSystem\r\n    }\r\n    function Get-FriendlySize {\r\n        param($Bytes)\r\n        # Converts Bytes to the highest matching unit\r\n        $Sizes = 'Bytes,KB,MB,GB,TB,PB,EB,ZB' -split ','\r\n        for ($i = 0; ($Bytes -ge 1kb) -and ($i -lt $Sizes.Count); $i++) { $Bytes \/= 1kb }\r\n        $N = 2\r\n        if ($i -eq 0) { $N = 0 }\r\n        if ($Bytes) { \"$([System.Math]::Round($Bytes,$N)) $($Sizes[$i])\" }else { \"0 B\" }\r\n    }\r\n    function Get-Size {\r\n        param (\r\n            [string]$String,\r\n            [ValidateSet(\"PB\", \"TB\", \"GB\", \"MB\", \"KB\", \"B\", \"Bytes\")][string]$DefaultSize = \"GB\"\r\n        )\r\n        switch -wildcard ($String) {\r\n            '*PB' { [int64]$($String -replace '[^\\d+]+') * 1PB; break }\r\n            '*TB' { [int64]$($String -replace '[^\\d+]+') * 1TB; break }\r\n            '*GB' { [int64]$($String -replace '[^\\d+]+') * 1GB; break }\r\n            '*MB' { [int64]$($String -replace '[^\\d+]+') * 1MB; break }\r\n            '*KB' { [int64]$($String -replace '[^\\d+]+') * 1KB; break }\r\n            '*B' { [int64]$($String -replace '[^\\d+]+') * 1; break }\r\n            '*Bytes' { [int64]$($String -replace '[^\\d+]+') * 1; break }\r\n            Default { Get-Size -String \"$String $DefaultSize\" }\r\n        }\r\n    }\r\n    function Invoke-FilterDisks {\r\n        [CmdletBinding()]\r\n        param(\r\n            [parameter(ValueFromPipeline = $true)]\r\n            $Disks\r\n        )\r\n        process {\r\n            $Disks | ForEach-Object {\r\n                # Check if exclude by name is needed\r\n                if ($([string]::IsNullOrEmpty($ExcludeDrivesByName) -or [string]::IsNullOrWhiteSpace($ExcludeDrivesByName))) {\r\n                    $_\r\n                }\r\n                else {\r\n                    if (\r\n                        $_.Name -like \"*$ExcludeDrivesByName*\"\r\n                    ) {\r\n                        # Output Nothing\r\n                    }\r\n                    else {\r\n                        $_\r\n                    }\r\n                }\r\n            } | ForEach-Object {\r\n                # Check if exclude by name is needed\r\n                if ($([string]::IsNullOrEmpty($ExcludeDrivesByPath) -or [string]::IsNullOrWhiteSpace($ExcludeDrivesByPath))) {\r\n                    $_\r\n                }\r\n                else {\r\n                    if (\r\n                        $_.Path -like \"*$ExcludeDrivesByPath*\"\r\n                    ) {\r\n                        # Output Nothing\r\n                    }\r\n                    else {\r\n                        $_\r\n                    }\r\n                }\r\n            }\r\n        }\r\n    }\r\n    if ($env:MinimumPercentage) {\r\n        $MinimumPercentage = $env:MinimumPercentage\r\n    }\r\n    if ($env:minimumFreeSpace) {\r\n        $MinimumFreeBytes = Get-Size -String $env:minimumFreeSpace\r\n    }\r\n    if ($env:ExcludeDrivesByName) {\r\n        $ExcludeDrivesByName = $env:ExcludeDrivesByName\r\n    }\r\n    if ($env:ExcludeDrivesByPath) {\r\n        $ExcludeDrivesByPath = $env:ExcludeDrivesByPath\r\n    }\r\n    if ($env:CustomFieldParam) {\r\n        $CustomFieldParam = $env:CustomFieldParam\r\n    }\r\n}\r\nprocess {\r\n    if (Test-IsSystem) {\r\n        Write-Error -Message \"Access Denied. Please run with a Domain Account or a Local Account that has permissions to access this node.\"\r\n        exit 1\r\n    }\r\n\r\n    if (-not (Test-IsElevated)) {\r\n        Write-Error -Message \"Access Denied. Please run with Administrator privileges.\"\r\n        exit 1\r\n    }\r\n\r\n    Import-Module FailoverClusters -ErrorAction SilentlyContinue\r\n\r\n    if (-not $(Get-Command -Name \"Get-Cluster\" -ErrorAction SilentlyContinue)) {\r\n        Write-Error \"[Error] Must run this script on a server that is apart of a Cluster or can communicate with a Cluster.\"\r\n        exit 1\r\n    }\r\n\r\n    try {\r\n        Get-ClusterNode -ErrorAction Stop | Out-Null\r\n    }\r\n    catch {\r\n        Write-Error \"[Error] Failed to get Cluster Nodes.\"\r\n        exit 1\r\n    }\r\n\r\n    # Get Cluster Shared Volume Info\r\n    $Volumes = foreach ( $csv in $(Get-ClusterSharedVolume) ) {\r\n        foreach ( $csvinfo in $($csv | Select-Object -Property Name -ExpandProperty SharedVolumeInfo) ) {\r\n            [PSCustomObject]@{\r\n                Name        = $csv.Name\r\n                Path        = $csvinfo.FriendlyVolumeName\r\n                Size        = $csvinfo.Partition.Size\r\n                FreeSpace   = $csvinfo.Partition.FreeSpace\r\n                UsedSpace   = $csvinfo.Partition.UsedSpace\r\n                PercentFree = $csvinfo.Partition.PercentFree\r\n            }\r\n        }\r\n    }\r\n\r\n    # Prep Format-Table substitutions\r\n    $Size = @{ Label = \"Size(GB)\" ; Expression = { (Get-FriendlySize -Bytes $_.Size) } }\r\n    $FreeSpace = @{ Label = \"FreeSpace(GB)\" ; Expression = { (Get-FriendlySize -Bytes $_.FreeSpace) } }\r\n    $UsedSpace = @{ Label = \"UsedSpace(GB)\" ; Expression = { (Get-FriendlySize -Bytes $_.UsedSpace) } }\r\n    $PercentFree = @{ Label = \"PercentFree\" ; Expression = { ($_.PercentFree) } }\r\n    # Sort disks by FreeSpace\r\n    $Disks = $Volumes | Sort-Object FreeSpace\r\n    # Save results as a string\r\n    $DisksFormattedString = $Disks | Format-Table -AutoSize Name, Path, $Size, $FreeSpace, $UsedSpace, $PercentFree | Out-String\r\n\r\n    # If using a custom field sent that to the specified custom field, should be a multi-line\r\n    if ($CustomFieldParam) {\r\n        Ninja-Property-Set -Name $CustomFieldParam -Value $DisksFormattedString\r\n    }\r\n\r\n    # Loop through each disk\r\n    $DiskUnderPercentage = $Disks | Invoke-FilterDisks | Where-Object { $_.PercentFree -lt $MinimumPercentage }\r\n    $DiskUnderFreeBytes = $Disks | Invoke-FilterDisks | Where-Object { $_.FreeSpace -lt $MinimumFreeBytes }\r\n\r\n    if ($DiskUnderPercentage -or $DiskUnderFreeBytes) {\r\n        if ($DiskUnderPercentage) {\r\n            Write-Host \"[Issue] One or more Disks under $MinimumPercentage % free!\"\r\n        }\r\n        if ($DiskUnderFreeBytes) {\r\n            Write-Host \"[Issue] One or more Disks under $(Get-FriendlySize -Bytes $MinimumFreeBytes) free!\"\r\n        }\r\n        $DisksFormattedString | Write-Host\r\n        exit 1\r\n    }\r\n\r\n    # List all shared volumes\r\n    if (-not $DiskUnderPercentage) {\r\n        Write-Host \"[Info] One or more Disks over $MinimumPercentage % free.\"\r\n    }\r\n    if (-not $DiskUnderFreeBytes) {\r\n        Write-Host \"[Info] One or more Disks over $(Get-FriendlySize -Bytes $MinimumFreeBytes) free.\"\r\n    }\r\n    $DisksFormattedString | Write-Host\r\n    exit 0\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>Lassen Sie uns das Skript Schritt f\u00fcr Schritt aufschl\u00fcsseln, um seine Funktionen zu verstehen und zu erfahren, wie es effektiv eingesetzt werden kann.<\/p>\n<p><strong>1. Voraussetzungen und Ersteinrichtung<\/strong> Das Skript erfordert PowerShell Version 5.1 und muss mit Administratorrechten ausgef\u00fchrt werden. Sie beginnt mit der Definition verschiedener Parameter wie &#8218;MinimumPercentage&#8216;, &#8218;MinimumFreeBytes&#8216;, &#8218;ExcludeDrivesByName&#8216;, &#8218;ExcludeDrivesByPath&#8216; und &#8218;CustomFieldParam&#8216;.<\/p>\n<p><strong>2. Funktionen f\u00fcr Privilegien\u00fcberpr\u00fcfungen und Gr\u00f6\u00dfenberechnungen<\/strong><\/p>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"2\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:1440,&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=\"2\">&#8218;Test-IsElevated&#8216; pr\u00fcft, ob das Skript mit Administratorrechten ausgef\u00fchrt wird.<\/li>\n<\/ul>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"2\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:1440,&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=\"2\">&#8218;Test-IsSystem&#8216; stellt sicher, dass das Skript nicht unter einem Systemkonto ausgef\u00fchrt wird.<\/li>\n<\/ul>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"2\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:1440,&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=\"2\">&#8218;Get-FriendlySize&#8216; und &#8218;Get-Size&#8216; konvertieren Byte-Werte in besser lesbare Einheiten wie Kilo-, Mega-, Gigabytes, usw.<\/li>\n<\/ul>\n<p><strong>3. Filterung und Umgebungsvariablen<\/strong> Das Skript richtet Funktionen zum Herausfiltern von Laufwerken auf der Grundlage von angegebenen Namen oder Pfaden ein. Es pr\u00fcft auch, ob Umgebungsvariablen vorhanden sind, die die Parameter des Skripts \u00fcberschreiben k\u00f6nnten.<\/p>\n<p><strong>4. Abruf von Cluster- und Volumen-Informationen<\/strong> Das Skript importiert das Modul &#8218;FailoverClusters&#8216; und \u00fcberpr\u00fcft, ob es auf einem Server ausgef\u00fchrt wird, der Teil eines Clusters ist. Anschlie\u00dfend werden Informationen \u00fcber die gemeinsam genutzten Volumen im Cluster abgerufen, einschlie\u00dflich Gr\u00f6\u00dfe, freien und belegten Speicherplatzes und Prozentsatzes des freien Speicherplatzes.<\/p>\n<p><strong>5. Formatierung und Ausgabe<\/strong> Das Skript formatiert die Festplatteninformationen so, dass sie lesbar sind, und pr\u00fcft, ob Volumen unter den angegebenen Schwellenwerten f\u00fcr freien Speicherplatz liegen. Werden Probleme festgestellt, gibt es die Details aus und beendet sich mit einem Fehlerstatus. Andernfalls wird best\u00e4tigt, dass alle Volumen \u00fcber ausreichend freien Speicherplatz verf\u00fcgen.<\/p>\n<h2>Potenzielle Anwendungsf\u00e4lle<\/h2>\n<p>Stellen Sie sich einen IT-Administrator vor, der f\u00fcr einen Hyper-V-Cluster verantwortlich ist, der wichtige virtuelle Maschinen hostet. Der Administrator kann das Skript verwenden, um die \u00dcberwachung des Speicherplatzes zu automatisieren und sicherzustellen, dass er benachrichtigt wird, bevor der Speicherplatz auf einem Volumen kritisch knapp wird. Dieser proaktive Ansatz erm\u00f6glicht es ihm, zus\u00e4tzlichen Speicherplatz zuzuweisen oder \u00fcberfl\u00fcssige Dateien zu bereinigen, um m\u00f6gliche Ausf\u00e4lle zu verhindern und die Systemleistung aufrechtzuerhalten.<\/p>\n<h2>Vergleiche<\/h2>\n<p>Im Vergleich zur manuellen \u00dcberwachung oder der Verwendung einfacher integrierter Tools bietet dieses Skript eine automatisierte und detailliertere Herangehensweise. Es pr\u00fcft nicht nur, ob freier Speicherplatz vorhanden ist, sondern erm\u00f6glicht auch die Anpassung auf der Grundlage von Volumen-Namen, Pfaden und spezifischen Anforderungen an den freien Speicherplatz. Andere Methoden, wie z. B. \u00dcberwachungs-Tools von Drittanbietern, k\u00f6nnen \u00e4hnliche Funktionen bieten, sind aber oft mit h\u00f6heren Kosten verbunden und erfordern eine zus\u00e4tzliche Einrichtung.<\/p>\n<h2>FAQs<\/h2>\n<h3>F: Kann dieses Skript auf jeder Version von Windows Server ausgef\u00fchrt werden?<\/h3>\n<p>A: Das Skript unterst\u00fctzt Windows Server 2016 und h\u00f6here Versionen aufgrund der Anforderungen des Moduls &#8218;FailoverCluster&#8216;.<\/p>\n<h3>F: Welche Berechtigungen sind f\u00fcr die Ausf\u00fchrung dieses Skripts erforderlich?<\/h3>\n<p>A: Das Skript muss als lokaler oder Domain-Administrator ausgef\u00fchrt werden, um auf die erforderlichen Cluster-Informationen zugreifen zu k\u00f6nnen.<\/p>\n<h3>F: Wie kann ich bestimmte Volumen von der \u00dcberwachung ausschlie\u00dfen?<\/h3>\n<p>A: Sie k\u00f6nnen die Parameter &#8218;ExcludeDrivesByName&#8216; oder &#8218;ExcludeDrivesByPath&#8216; verwenden, um bestimmte Volumen auf der Grundlage ihrer Namen oder Pfade herauszufiltern.<\/p>\n<h2>Folgen<\/h2>\n<p>Die Ergebnisse dieses Skripts k\u00f6nnen erhebliche Auswirkungen auf den IT-Betrieb haben. Durch die Identifizierung von Volumen mit unzureichendem freien Speicherplatz k\u00f6nnen Administrator:innen vorbeugende Ma\u00dfnahmen ergreifen, um Dienstunterbrechungen zu vermeiden. Diese proaktive \u00dcberwachung verbessert auch die allgemeine Systemzuverl\u00e4ssigkeit und -leistung und tr\u00e4gt so zu einer stabileren IT-Umgebung bei.<\/p>\n<h2>Empfehlungen<\/h2>\n<p>Beachten Sie bei der Verwendung dieses Skripts die folgenden Best Practices:<\/p>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"2\" 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\">Planen Sie das Skript so, dass es in regelm\u00e4\u00dfigen Abst\u00e4nden mit dem Taskplaner oder \u00e4hnlichen Tools ausgef\u00fchrt wird.<\/li>\n<\/ul>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"2\" 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\">Passen Sie die Parameter basierend auf den spezifischen Anforderungen Ihrer Umgebung an.<\/li>\n<\/ul>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"2\" 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=\"4\" data-aria-level=\"1\">Vergewissern Sie sich, dass Sie \u00fcber die notwendigen Berechtigungen verf\u00fcgen und das Skript auf den entsprechenden Servern ausf\u00fchren.<\/li>\n<\/ul>\n<h2><strong>Abschlie\u00dfende \u00dcberlegungen<\/strong><\/h2>\n<p><a href=\"https:\/\/www.ninjaone.com\/de\/it-hub\/endpoint-management\/was-ist-powershell\/\" target=\"_blank\" rel=\"noopener\">PowerShell-Skripte<\/a> wie dieses sind f\u00fcr IT-Experten und MSPs von unsch\u00e4tzbarem Wert und bieten leistungsstarke Automatisierungsfunktionen f\u00fcr die Verwaltung und \u00dcberwachung wichtiger Systeme. Durch die Integration solcher Skripte in ihre Arbeitsabl\u00e4ufe k\u00f6nnen Administrator:innen eine bessere Kontrolle \u00fcber ihre Infrastruktur behalten, eine optimale Leistung sicherstellen und potenzielle Probleme verhindern, bevor sie eskalieren.<\/p>\n<p><a href=\"https:\/\/www.ninjaone.com\/de\/\" target=\"_blank\" rel=\"noopener\">NinjaOne<\/a>, eine f\u00fchrende IT-Betriebssoftware, kann diesen Prozess weiter rationalisieren, indem es die Skriptausf\u00fchrung mit seinen \u00dcberwachungs- und Verwaltungsfunktionen integriert und so eine umfassende L\u00f6sung f\u00fcr das IT-Infrastruktur-Management bietet.<\/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":[4307,4383],"class_list":["post-382822","script_hub","type-script_hub","status-publish","hentry","script_hub_category-windows","use_cases-allgemeine-konfiguration","use_cases-monitoring-de"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.ninjaone.com\/de\/wp-json\/wp\/v2\/script_hub\/382822","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=382822"}],"wp:attachment":[{"href":"https:\/\/www.ninjaone.com\/de\/wp-json\/wp\/v2\/media?parent=382822"}],"wp:term":[{"taxonomy":"script_hub_category","embeddable":true,"href":"https:\/\/www.ninjaone.com\/de\/wp-json\/wp\/v2\/operating_system?post=382822"},{"taxonomy":"use_cases","embeddable":true,"href":"https:\/\/www.ninjaone.com\/de\/wp-json\/wp\/v2\/use_cases?post=382822"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}