+Table 90 - ISCSI Service - ISCSI
+ISCSI Interfaces
Interface Name | IP Address | Port | Status |
-ISCSI-A-ZENPR-HQ-01 | 192.168.6.61 | 3260 | Up |
-ISCSI-A-ZENPR-HQ-02 | 192.168.6.62 | 3260 | Up |
-ISCSI-B-ZENPR-HQ-01 | 192.168.12.61 | 3260 | Up |
-ISCSI-B-ZENPR-HQ-02 | 192.168.12.62 | 3260 | Up |
-
-
Table 99 - ISCSI Interface Information - SAN
-1.6.3.5.2 FCP Services Summary
The following section provides the FCP Service Information on SAN.
-FCP WWNN | Status |
-20:02:00:50:56:b0:73:f8 | Up |
-
-
Table 100 - Vserver FCP Service Information - SAN
-1.6.3.5.2.1 FCP Interface
The following section provides the FCP Interface Information on SAN.
-Interface Name | FCP WWPN | Home Port |
-lif_SAN_24 | 20:03:00:50:56:b0:73:f8 | 0a |
-lif_SAN_300 | 20:04:00:50:56:b0:73:f8 | 0b |
-lif_SAN_378 | 20:00:00:50:56:b0:73:f8 | 0a |
-lif_SAN_622 | 20:01:00:50:56:b0:73:f8 | 0b |
-
-
Table 101 - FCP Interface Information - SAN
-1.6.3.5.2.2 FCP Physical Adapter
The following section provides the FCP Physical Adapter Information on SAN.
Node Name | Adapter | Protocol | Speed | Status |
-ZENPR-HQ-01 | 0a | fibre_channel | auto | Up |
-ZENPR-HQ-01 | 0b | fibre_channel | auto | Up |
-ZENPR-HQ-01 | 0e | fibre_channel | auto | Up |
-ZENPR-HQ-01 | 0f | fibre_channel | auto | Up |
-ZENPR-HQ-01 | 1a | fibre_channel | auto | Up |
-ZENPR-HQ-01 | 1b | fibre_channel | auto | Up |
-ZENPR-HQ-02 | 0a | fibre_channel | auto | Up |
-ZENPR-HQ-02 | 0b | fibre_channel | auto | Up |
-ZENPR-HQ-02 | 0e | fibre_channel | auto | Up |
-ZENPR-HQ-02 | 0f | fibre_channel | auto | Up |
-ZENPR-HQ-02 | 1a | fibre_channel | auto | Up |
-ZENPR-HQ-02 | 1b | fibre_channel | auto | Up |
-
-
Table 102 - FCP Physical Adapter Information - ZENPR-HQ
-1.6.3.5.3 FCP/ISCSI Lun Storage
The following section provides the Lun Storage Information on SAN.
+lif_ISCSI_279 | 192.168.12.10 | 3260 | Up |
+lif_ISCSI_726 | 192.168.12.11 | 3260 | Up |
+lif_ISCSI_799 | 192.168.6.11 | 3260 | Up |
+lif_ISCSI_819 | 192.168.6.10 | 3260 | Up |
+
+
Table 91 - ISCSI Interface - ISCSI
+ISCSI Client Initiators
+Initiator Name | Target Port Group |
+iqn.1998-01.com.vmware:disaster-01a-16ef0c810e1e282b | lif_ISCSI_819 |
+iqn.1998-01.com.vmware:disaster-01a-16ef0c810e1e282b | lif_ISCSI_726 |
+
+
Table 92 - ISCSI Client Initiator - ISCSI
+1.6.3.5.2 Lun Storage
The following section provides the Lun Storage Information on ISCSI.
-Lun Name | NTAPSOL_LUN_1 |
-Parent Volume | NTAPSOL_LUN_1 |
-Path | /vol/NTAPSOL_LUN_1/NTAPSOL_LUN_1 |
-Serial Number | wOj6c$RRfF7L |
-Initiator Group | NTAPSOL-01V |
-Home Node | ZENPR-HQ-01 |
-Capacity | 50 GB |
-Available | 49 GB |
-Used | 1% |
-OS Type | solaris_efi |
+Lun Name | CG-Test_lun_1_1 |
+Parent Volume | CG_Test_vol_1 |
+Path | /vol/CG_Test_vol_1/CG-Test_lun_1_1 |
+Serial Number | wpEMj]WwN2Yl |
+Initiator Group | SQLServers |
+Home Node | PHARMAX-HQ-01 |
+Capacity | 10 GB |
+Available | 10 GB |
+Used | 0% |
+OS Type | windows_2008 |
Is Thin | Yes |
-Space Allocation | Disabled |
+Space Allocation | Enabled |
Space Reservation | Disabled |
Is Mapped | Yes |
-Status | Down |
+Status | Up |
-
+Table 93 - Lun - CG-Test_lun_1_1
-Lun Name | Oracle_Data_U02 |
-Parent Volume | Oracle_Data_Volumes |
-Path | /vol/Oracle_Data_Volumes/Oracle_Data_U02 |
-Serial Number | wOj6b]RPRHX7 |
-Initiator Group | NTAPRHAT-01V |
-Home Node | ZENPR-HQ-01 |
-Capacity | 50 GB |
-Available | 46 GB |
-Used | 7% |
-OS Type | linux |
+Lun Name | CG-Test_lun_1_2 |
+Parent Volume | CG_Test_vol_1 |
+Path | /vol/CG_Test_vol_1/CG-Test_lun_1_2 |
+Serial Number | wpEMj]WwN2Ym |
+Initiator Group | SQLServers |
+Home Node | PHARMAX-HQ-01 |
+Capacity | 10 GB |
+Available | 10 GB |
+Used | 0% |
+OS Type | windows_2008 |
Is Thin | Yes |
-Space Allocation | Disabled |
+Space Allocation | Enabled |
Space Reservation | Disabled |
Is Mapped | Yes |
-Status | Down |
+Status | Up |
-
+Table 94 - Lun - CG-Test_lun_1_2
-Lun Name | Oracle_Data_U03 |
-Parent Volume | Oracle_Data_Volumes |
-Path | /vol/Oracle_Data_Volumes/Oracle_Data_U03 |
-Serial Number | wOj6b]RPRHX8 |
-Initiator Group | NTAPRHAT-01V |
-Home Node | ZENPR-HQ-01 |
-Capacity | 50 GB |
-Available | 50 GB |
+Lun Name | SQLCluster_Quorum |
+Parent Volume | SQLCluster_Quorum |
+Path | /vol/SQLCluster_Quorum/SQLCluster_Quorum |
+Serial Number | wpEMj]WwN2Yk |
+Initiator Group | SQLServers |
+Home Node | PHARMAX-HQ-01 |
+Capacity | 10 GB |
+Available | 10 GB |
Used | 0% |
-OS Type | linux |
+OS Type | windows_2008 |
Is Thin | Yes |
-Space Allocation | Disabled |
+Space Allocation | Enabled |
Space Reservation | Disabled |
Is Mapped | Yes |
-Status | Down |
+Status | Up |
-
+Table 95 - Lun - SQLCluster_Quorum
-Lun Name | Oracle_Data_U04 |
-Parent Volume | Oracle_Data_Volumes |
-Path | /vol/Oracle_Data_Volumes/Oracle_Data_U04 |
-Serial Number | wOj6b]RPRHX9 |
-Initiator Group | NTAPRHAT-01V |
-Home Node | ZENPR-HQ-01 |
-Capacity | 50 GB |
-Available | 50 GB |
+Lun Name | SQLCluster_Quorum_clone_212 |
+Parent Volume | SQLCluster_Quorum |
+Path | /vol/SQLCluster_Quorum/SQLCluster_Quorum_clone_212 |
+Serial Number | wpEMj]WwN2Yn |
+Initiator Group | SQLServers |
+Home Node | PHARMAX-HQ-01 |
+Capacity | 10 GB |
+Available | 10 GB |
Used | 0% |
-OS Type | linux |
+OS Type | windows_2008 |
Is Thin | Yes |
-Space Allocation | Disabled |
+Space Allocation | Enabled |
Space Reservation | Disabled |
Is Mapped | Yes |
-Status | Down |
+Status | Up |
-
+Table 96 - Lun - SQLCluster_Quorum_clone_212
-Lun Name | SERVER_DATASTORE |
-Parent Volume | SERVER_DATASTORE |
-Path | /vol/SERVER_DATASTORE/SERVER_DATASTORE |
-Serial Number | wOj6b]RPRHX5 |
-Initiator Group | RegionA01-COMP-CLUSTER |
-Home Node | ZENPR-HQ-01 |
-Capacity | 50 GB |
-Available | 42 GB |
-Used | 17% |
-OS Type | vmware |
-Is Thin | Yes |
+Lun Name | UnmappedLun |
+Parent Volume | UnmappedLun |
+Path | /vol/UnmappedLun/UnmappedLun |
+Serial Number | wpEMk$WwN3OR |
+Initiator Group | None |
+Home Node | PHARMAX-HQ-02 |
+Capacity | 1 GB |
+Available | 1 GB |
+Used | 0% |
+OS Type | windows_2008 |
+Is Thin | No |
Space Allocation | Enabled |
-Space Reservation | Disabled |
-Is Mapped | Yes |
-Status | Down |
+Space Reservation | Enabled |
+Is Mapped | No |
+Status | Up |
-
+Table 97 - Lun - UnmappedLun
-Lun Name | SERVER_DATASTORE_2_1 |
-Parent Volume | SERVER_DATASTORE_2 |
-Path | /vol/SERVER_DATASTORE_2/SERVER_DATASTORE_2_1 |
-Serial Number | wOj6c$RRfF7N |
-Initiator Group | |
-Home Node | ZENPR-HQ-01 |
+Lun Name | VMWARE_LUN |
+Parent Volume | VMWARE_LUN |
+Path | /vol/VMWARE_LUN/VMWARE_LUN |
+Serial Number | wpEMj]WwN2Yo |
+Initiator Group | Disaster |
+Home Node | PHARMAX-HQ-01 |
Capacity | 10 GB |
Available | 10 GB |
Used | 0% |
OS Type | vmware |
-Is Thin | Yes |
-Space Allocation | Disabled |
-Space Reservation | Disabled |
-Is Mapped | No |
-Status | Down |
+Is Thin | No |
+Space Allocation | Enabled |
+Space Reservation | Enabled |
+Is Mapped | Yes |
+Status | Up |
-
+Table 98 - Lun - VMWARE_LUN
+Igroup Mapping
+
+Igroup Name | Disaster |
+Type | vmware |
+Protocol | mixed |
+Initiators | iqn.1998-01.com.vmware:disaster-01a-16ef0c810e1e282b |
+Mapped Lun | VMWARE_LUN |
+Reporting Nodes | PHARMAX-HQ-01 PHARMAX-HQ-02 |
+
+
Table 99 - Igroup - Disaster
-Lun Name | SERVER_DATASTORE_2_2 |
-Parent Volume | SERVER_DATASTORE_2 |
-Path | /vol/SERVER_DATASTORE_2/SERVER_DATASTORE_2_2 |
-Serial Number | wOj6c$RRfF7M |
-Initiator Group | |
-Home Node | ZENPR-HQ-01 |
+Igroup Name | SQLServers |
+Type | windows |
+Protocol | mixed |
+Initiators | iqn.1991-05.com.microsoft:server-dc-01v.pharmax.local |
+Mapped Lun | CG-Test_lun_1_1 CG-Test_lun_1_2 SQLCluster_Quorum SQLCluster_Quorum_clone_212 |
+Reporting Nodes | PHARMAX-HQ-01 PHARMAX-HQ-02 |
+
+
Table 100 - Igroup - SQLServers
+HealthCheck - Non-Mapped Lun Information
The following section provides information of Non Mapped Lun on ISCSI.
+Volume Name | Lun Name | Online | Mapped | Lun Format |
+UnmappedLun | UnmappedLun | Yes | No | windows_2008 |
+
+
Table 101 - HealthCheck - Non-Mapped Lun - ISCSI
+1.6.3.5.3 Consistency Groups
The following section provides Consistency Group Information on ISCSI.
+Name | Capacity | Available | Used | Replicated | Lun Count |
+CG-Test | 21 GB | 21 GB | 4 MB | No | 2 |
+
+
Table 102 - Consistency Groups - ISCSI
+CG-Test Luns
+Name | Capacity | Used | OS Type | Volume State | Mapped | Read Only | State |
+CG-Test_lun_1_1 | 10 GB | 0 | windows_2008 | online | Yes | No | online |
+CG-Test_lun_1_2 | 10 GB | 0 | windows_2008 | online | Yes | No | online |
+
+
Table 103 - Consistency Group Luns - CG-Test
+1.6.4 NFS Vserver Configuration
The following section provides the configuration of the vserver NFS.
+Vserver Type | Allowed Protocols | Disallowed Protocols | IPSpace | Status |
+data | nfs cifs fcp iscsi ndmp s3 | nvme | Default | running |
+
+
Table 104 - Information - NFS
+1.6.4.1 Root Volume
+Root Volume | Status | Total Size | Used | Available | Dedup | Aggregate |
+NFS_root | online | 20 MB | 2% | 19 MB | No | PHARMAX_HQ_02_SSD_1 |
+
+
Table 105 - Root Volume - NFS
+1.6.4.2 Volumes QoS Policy
The following section provides the Vserver QoS Configuration on PHARMAX-HQ.
1.6.4.2.1 Volumes Fixed QoS Policy
+Policy Name | Max Throughput | Min Throughput | Is Shared | Vserver |
+extreme-fixed | 50000IOPS,1.53GB/s | 0 | No | PHARMAX-HQ |
+performance-fixed | 30000IOPS,937.5MB/s | 0 | No | PHARMAX-HQ |
+value-fixed | 15000IOPS,468.8MB/s | 0 | No | PHARMAX-HQ |
+
+
Table 106 - Volume Fixed QoS Group - PHARMAX-HQ
+1.6.4.2.2 Volumes Adaptive QoS Policy
+Policy Name | Peak Iops | Expected Iops | Min Iops | Vserver |
+extreme | 12288IOPS/TB | 6144IOPS/TB | 1000IOPS | PHARMAX-HQ |
+performance | 4096IOPS/TB | 2048IOPS/TB | 500IOPS | PHARMAX-HQ |
+value | 512IOPS/TB | 128IOPS/TB | 75IOPS | PHARMAX-HQ |
+
+
Table 107 - Volume Adaptive QoS Group - PHARMAX-HQ
+1.6.4.3 Storage Volumes
+Volume | Status | Capacity | Available | Used | Aggregate |
+VMWARE_DATASTORE | online | 53 GB | 50 GB | 0% | |
+VMWARE_DATASTORE__0001 | online | 53 GB | 50 GB | 0% | PHARMAX_HQ_02_SSD_1 |
+
+
Table 108 - Volume - NFS
+1.6.4.3.1 Per Volumes QoS Policy
+Volume | Fixed Policy Name | Adaptive Policy Name |
+VMWARE_DATASTORE | performance-fixed | None |
+
+
Table 109 - Volume QoS - NFS
+1.6.4.3.2 FlexGroup Volumes
+Volume | Status | Capacity |
+VMWARE_DATASTORE | online | 53 GB |
+
+
Table 110 - Flexgroup Volume - NFS
+1.6.4.4 Volumes Snapshot Configuration
+Volume | Snapshot Enabled | Reserve Size | Reserve Available | Used | Policy |
+VMWARE_DATASTORE | Yes | 3 GB | 3 GB | 924 KB | default |
+VMWARE_DATASTORE__0001 | Yes | 3 GB | 3 GB | 924 KB | default |
+
+
Table 111 - Volume SnapShot Configuration - NFS
+1.6.4.5 Export Policy
+Policy Name | Rule Index | Client Match | Protocol | Ro Rule | Rw Rule |
+VMWARE_DATASTORE | 1 | data | any | any | any |
+
+
Table 112 - Volume Export Policy - NFS
+1.6.4.6 Protocol Information
The following section provides a summary of the Vserver protocol information on NFS.
1.6.4.6.1 NFS Services
The following section provides the NFS Service Information on NFS.
+Nfs v3 | Nfs v4 | Nfs v41 | General Access |
+Enabled | Enabled | Enabled | Yes |
+
+
Table 113 - NFS Service - PHARMAX-HQ
+NFS Options
+
+Allow Idle Connection | - |
+Idle Connection Timeout | 360 |
+Ignore NtAcl For Root | No |
+Enable Ejukebox | Yes |
+Nfs Access Enabled | Yes |
+Nfs Rootonly Enabled | No |
+Nfsv2 Enabled | No |
+Nfsv3 Enabled | Yes |
+Nfsv3 64bit Identifiers Enabled | No |
+Nfsv3 Connection Drop Enabled | Yes |
+Nfsv3 Fsid Change Enabled | Yes |
+Nfsv40 Acl Enabled | No |
+Nfsv40 Enabled | Yes |
+
+
Table 114 - NFS Service Options - NFS
+NFS Volume Export
+Vserver | Path Name |
+NFS | /vol/VMWARE_DATASTORE |
+
+
Table 115 - NFS Service Volume Export - NFS
+1.6.5 NVME Vserver Configuration
The following section provides the configuration of the vserver NVME.
+Vserver Type | Allowed Protocols | Disallowed Protocols | IPSpace | Status |
+data | nfs cifs fcp iscsi ndmp nvme s3 | | Default | running |
+
+
Table 116 - Information - NVME
+1.6.5.1 Root Volume
+Root Volume | Status | Total Size | Used | Available | Dedup | Aggregate |
+NVME_root | online | 20 MB | 2% | 19 MB | Yes | PHARMAX_HQ_02_SSD_1 |
+
+
Table 117 - Root Volume - NVME
+1.6.5.2 Volumes QoS Policy
The following section provides the Vserver QoS Configuration on PHARMAX-HQ.
1.6.5.2.1 Volumes Fixed QoS Policy
+Policy Name | Max Throughput | Min Throughput | Is Shared | Vserver |
+extreme-fixed | 50000IOPS,1.53GB/s | 0 | No | PHARMAX-HQ |
+performance-fixed | 30000IOPS,937.5MB/s | 0 | No | PHARMAX-HQ |
+value-fixed | 15000IOPS,468.8MB/s | 0 | No | PHARMAX-HQ |
+
+
Table 118 - Volume Fixed QoS Group - PHARMAX-HQ
+1.6.5.2.2 Volumes Adaptive QoS Policy
+Policy Name | Peak Iops | Expected Iops | Min Iops | Vserver |
+extreme | 12288IOPS/TB | 6144IOPS/TB | 1000IOPS | PHARMAX-HQ |
+performance | 4096IOPS/TB | 2048IOPS/TB | 500IOPS | PHARMAX-HQ |
+value | 512IOPS/TB | 128IOPS/TB | 75IOPS | PHARMAX-HQ |
+
+
Table 119 - Volume Adaptive QoS Group - PHARMAX-HQ
+1.6.5.3 Storage Volumes
+Volume | Status | Capacity | Available | Used | Aggregate |
+DB | online | 23 GB | 2 GB | 89% | PHARMAX_HQ_02_SSD_1 |
+VMWARE_NVME | online | 1 GB | 69 MB | 92% | PHARMAX_HQ_01_SSD_1 |
+
+
Table 120 - Volume - NVME
+1.6.5.3.1 Per Volumes QoS Policy
+Volume | Fixed Policy Name | Adaptive Policy Name |
+DB | performance-fixed | None |
+VMWARE_NVME | None | None |
+
+
Table 121 - Volume QoS - NVME
+1.6.5.4 Volumes Snapshot Configuration
+Volume | Snapshot Enabled | Reserve Size | Reserve Available | Used | Policy |
+DB | No | 0 | 0 | 18 MB | none |
+VMWARE_NVME | Yes | 51 MB | 51 MB | 0 | default |
+
+
Table 122 - Volume SnapShot Configuration - NVME
+1.6.5.5 Protocol Information
The following section provides a summary of the Vserver protocol information on NVME.
1.6.5.5.1 Nvme Services Information
The following section provides the Nvme Service Information on NVME.
Nvme FC Physical Adapter
+Node Name | Adapter | Protocol | WWNN | WWPN | Status |
+PHARMAX-HQ-01 | 1b | fibre_channel | 20:05:00:50:56:b0:03:d3 | 20:06:00:50:56:b0:03:d3 | Up |
+PHARMAX-HQ-01 | 1a | fibre_channel | 20:05:00:50:56:b0:03:d3 | 20:07:00:50:56:b0:03:d3 | Up |
+PHARMAX-HQ-02 | 1a | fibre_channel | 20:05:00:50:56:b0:03:d3 | 20:08:00:50:56:b0:03:d3 | Up |
+PHARMAX-HQ-02 | 1b | fibre_channel | 20:05:00:50:56:b0:03:d3 | 20:09:00:50:56:b0:03:d3 | Up |
+
+
Table 123 - Nvme FC Physical Adapter - NVME
+Nvme TCP Physical Adapter
+Node Name | Adapter | Protocol | IP Address | Status |
+PHARMAX-HQ-01 | a0a-12 | ethernet | 192.168.12.13 | Up |
+PHARMAX-HQ-01 | a0a-6 | ethernet | 192.168.6.13 | Up |
+PHARMAX-HQ-02 | a0a-12 | ethernet | 192.168.12.12 | Up |
+PHARMAX-HQ-02 | a0a-6 | ethernet | 192.168.6.12 | Up |
+
+
Table 124 - Nvme TCP Physical Adapter - NVME
+NVME Interfaces
+Interface Name | Transport Address | Transport Protocols | Status |
+lif_NVME_271 | nn-0x2005005056b003d3:pn-0x2006005056b003d3 | fc_nvme | Up |
+lif_NVME_956 | nn-0x2005005056b003d3:pn-0x2008005056b003d3 | fc_nvme | Up |
+lif_NVME_457 | nn-0x2005005056b003d3:pn-0x2009005056b003d3 | fc_nvme | Up |
+lif_NVME_15 | nn-0x2005005056b003d3:pn-0x2007005056b003d3 | fc_nvme | Up |
+lif_NVME_907 | 192.168.12.12 | nvme_tcp | Up |
+lif_NVME_130 | 192.168.6.12 | nvme_tcp | Up |
+lif_NVME_567 | 192.168.6.13 | nvme_tcp | Up |
+lif_NVME_599 | 192.168.12.13 | nvme_tcp | Up |
+
+
Table 125 - NVME Interface - NVME
+1.6.5.5.2 Namespace Storage
The following section provides the Namespace Storage Information on NVME.
+
+Namespace Name | DB_1 |
+Parent Volume | DB |
+Path | /vol/DB/DB_1 |
+Serial Number | 0cdbbe9b-6246-4ccd-b785-b915fa383989 |
+Subsystem Map | Disaster-01a |
+Home Node | PHARMAX-HQ-02 |
Capacity | 10 GB |
Available | 10 GB |
-Used | 0% |
+Used | 1% |
OS Type | vmware |
-Is Thin | Yes |
-Space Allocation | Disabled |
-Space Reservation | Disabled |
-Is Mapped | No |
-Status | Down |
+Is Mapped | Yes |
+ReadOnly | No |
+Status | Up |
-
+Table 126 - Namespace - DB_1
-Lun Name | SERVER_DATASTORE_DR |
-Parent Volume | SERVER_DATASTORE_DR_dest |
-Path | /vol/SERVER_DATASTORE_DR_dest/SERVER_DATASTORE_DR |
-Serial Number | wOj6b]RPRHXO |
-Initiator Group | |
-Home Node | ZENPR-HQ-01 |
-Capacity | 50 GB |
-Available | 50 GB |
+Namespace Name | DB_2 |
+Parent Volume | DB |
+Path | /vol/DB/DB_2 |
+Serial Number | 2993f335-f3cc-4ec1-a7ce-bef0ee98450a |
+Subsystem Map | Disaster-01a |
+Home Node | PHARMAX-HQ-02 |
+Capacity | 10 GB |
+Available | 10 GB |
Used | 1% |
OS Type | vmware |
-Is Thin | Yes |
-Space Allocation | Disabled |
-Space Reservation | Disabled |
-Is Mapped | No |
+Is Mapped | Yes |
+ReadOnly | No |
Status | Up |
-
+Table 127 - Namespace - DB_2
-Lun Name | SRM_PlaceHolder_DR |
-Parent Volume | SRM_PlaceHolder_DR_dest |
-Path | /vol/SRM_PlaceHolder_DR_dest/SRM_PlaceHolder_DR |
-Serial Number | wOj6b]RPRHXP |
-Initiator Group | |
-Home Node | ZENPR-HQ-01 |
-Capacity | 10 GB |
-Available | 10 GB |
+Namespace Name | VMWARE_NVME_01 |
+Parent Volume | VMWARE_NVME |
+Path | /vol/VMWARE_NVME/VMWARE_NVME_01 |
+Serial Number | bd458b08-6be0-4813-9a9a-9b651f050f94 |
+Subsystem Map | None |
+Home Node | PHARMAX-HQ-01 |
+Capacity | 900 MB |
+Available | 900 MB |
Used | 0% |
OS Type | vmware |
-Is Thin | Yes |
-Space Allocation | Disabled |
-Space Reservation | Disabled |
-Is Mapped | No |
+Is Mapped | No |
+ReadOnly | No |
Status | Up |
-
-
+Table 128 - Namespace - VMWARE_NVME_01
+Subsystem Mapping
-Lun Name | TEST |
-Parent Volume | TEST |
-Path | /vol/TEST/TEST |
-Serial Number | wOj6b]RPRHXR |
-Initiator Group | TEST |
-Home Node | ZENPR-HQ-01 |
-Capacity | 20 GB |
-Available | 6 GB |
-Used | 72% |
-OS Type | windows_2008 |
-Is Thin | Yes |
-Space Allocation | Enabled |
-Space Reservation | Disabled |
-Is Mapped | Yes |
-Status | Down |
+Subsystem Name | Disaster-01a |
+Type | vmware |
+Target NQN | nqn.1992-08.com.netapp:sn.974e1a1954c211ef9165005056b04618:subsystem.Disaster-01a |
+Host NQN | |
+Mapped Namespace | DB_1 DB_2 |
+
+
Table 129 - Subsystem - Disaster-01a
+HealthCheck - Non-Mapped Namespace Information
The following table provides information about Non Mapped Namespace on NVME.
+Volume Name | Lun Name | Type | Mapped | State |
+VMWARE_NVME | VMWARE_NVME_01 | vmware | No | online |
+
+
Table 130 - HealthCheck - Non-Mapped Namespace - NVME
+1.6.5.5.3 Consistency Groups
The following section provides Consistency Group Information on NVME.
+Name | Capacity | Available | Used | Replicated | Lun Count |
+DBCG | 23 GB | 2 GB | 20 GB | Yes | - |
+
+
Table 131 - Consistency Groups - NVME
+DBCG Namespaces
+Name | Capacity | Used | OS Type | Volume State | Mapped | Read Only | State |
+DB_1 | 10 GB | 69 MB | vmware | online | Yes | No | online |
+DB_2 | 10 GB | 113 MB | vmware | online | Yes | No | online |
+
+
Table 132 - Consistency Group Namespace - DBCG
+1.6.6 ObjectS3 Vserver Configuration
The following section provides the configuration of the vserver ObjectS3.
+Vserver Type | Allowed Protocols | Disallowed Protocols | IPSpace | Status |
+data | nfs cifs fcp iscsi ndmp s3 | nvme | Default | running |
-
-1.6.3.5.3.1 Igroup Mapping
The following section provides the Igroup Mapping Information on SAN.
-
-Igroup Name | NTAPRHAT-01V |
-Type | linux |
-Protocol | mixed |
-Initiators | iqn.1994-05.com.redhat:abdab89e83c7 |
-Mapped Lun | Oracle_Data_U02 Oracle_Data_U03 Oracle_Data_U04 |
-Reporting Nodes | ZENPR-HQ-01 ZENPR-HQ-02 |
+Table 133 - Information - ObjectS3
+1.6.6.1 Root Volume
+Root Volume | Status | Total Size | Used | Available | Dedup | Aggregate |
+ObjectS3_root | online | 20 MB | 2% | 18 MB | No | PHARMAX_HQ_02_SSD_1 |
-
-
-
-Igroup Name | NTAPSOL-01V |
-Type | solaris |
-Protocol | mixed |
-Initiators | iqn.1986-03.com.sun:01:2845eacc1fae.60bbfa60 |
-Mapped Lun | NTAPSOL_LUN_1 |
-Reporting Nodes | ZENPR-HQ-01 ZENPR-HQ-02 |
+Table 134 - Root Volume - ObjectS3
+1.6.6.2 Volumes QoS Policy
The following section provides the Vserver QoS Configuration on PHARMAX-HQ.
1.6.6.2.1 Volumes Fixed QoS Policy
+Policy Name | Max Throughput | Min Throughput | Is Shared | Vserver |
+extreme-fixed | 50000IOPS,1.53GB/s | 0 | No | PHARMAX-HQ |
+performance-fixed | 30000IOPS,937.5MB/s | 0 | No | PHARMAX-HQ |
+value-fixed | 15000IOPS,468.8MB/s | 0 | No | PHARMAX-HQ |
-
-
-
-Igroup Name | RegionA01-COMP-CLUSTER |
-Type | vmware |
-Protocol | mixed |
-Initiators | iqn.1998-01.com.vmware:comp-01a-2581ec1ed06134af iqn.1998-01.com.vmware:comp-02a-2c120275e45e175a |
-Mapped Lun | SERVER_DATASTORE |
-Reporting Nodes | ZENPR-HQ-01 ZENPR-HQ-02 |
+Table 135 - Volume Fixed QoS Group - PHARMAX-HQ
+1.6.6.2.2 Volumes Adaptive QoS Policy
+Policy Name | Peak Iops | Expected Iops | Min Iops | Vserver |
+extreme | 12288IOPS/TB | 6144IOPS/TB | 1000IOPS | PHARMAX-HQ |
+performance | 4096IOPS/TB | 2048IOPS/TB | 500IOPS | PHARMAX-HQ |
+value | 512IOPS/TB | 128IOPS/TB | 75IOPS | PHARMAX-HQ |
-
-
-
-Igroup Name | TEST |
-Type | windows |
-Protocol | mixed |
-Initiators | iqn.1991-05.com.microsoft:ntapwin-01v.zenpr.local |
-Mapped Lun | TEST |
-Reporting Nodes | ZENPR-HQ-01 ZENPR-HQ-02 |
+Table 136 - Volume Adaptive QoS Group - PHARMAX-HQ
+1.6.6.3 Storage Volumes
+Volume | Status | Capacity | Available | Used | Aggregate |
+fg_oss_1723056019 | online | 105 GB | 32 GB | 0% | |
+fg_oss_1723056019__0001 | online | 105 GB | 32 GB | 0% | PHARMAX_HQ_02_SSD_1 |
-
-1.6.3.5.3.2 HealthCheck - Non-Mapped Lun Information
The following section provides information of Non Mapped Lun on SAN.
-Volume Name | Lun Name | Online | Mapped | Lun Format |
-SERVER_DATASTORE_2 | SERVER_DATASTORE_2_1 | No | No | vmware |
-SERVER_DATASTORE_2 | SERVER_DATASTORE_2_2 | No | No | vmware |
-SERVER_DATASTORE_DR_dest | SERVER_DATASTORE_DR | Yes | No | vmware |
-SRM_PlaceHolder_DR_dest | SRM_PlaceHolder_DR | Yes | No | vmware |
+Table 137 - Volume - ObjectS3
+1.6.6.3.1 FlexGroup Volumes
+Volume | Status | Capacity |
+fg_oss_1723056019 | online | 105 GB |
+
+
Table 138 - Flexgroup Volume - ObjectS3
+1.6.6.4 Qtrees
+Qtree | Volume | Status | Security Style | Export Policy |
+veeamdata | fg_oss_1723056019 | normal | unix | default |
+
+
Table 139 - Volume Qtree - ObjectS3
+1.6.6.5 Protocol Information
The following section provides a summary of the Vserver protocol information on ObjectS3.
1.6.6.5.1 S3 Services Configuration Information
The following section provides the S3 Service Information on ObjectS3.
+HTTP | HTTP Port | HTTPS | HTTPS Port | Status |
+Yes | 80 | Yes | 443 | UP |
-
Table 103 - HealthCheck - Non-Mapped Lun - SAN
-1.7 Replication Summary
The following section provides a summary of the replication information on ZENPR-HQ.
1.7.1 Cluster Peer
The following section provides the Cluster Peer information on ZENPR-HQ.
+Table 140 - S3 Service - ObjectS3
+S3 Buckets
+Bucket | Volume | Total | Used |
+veeamdata | fg_oss_1723056019 | 100 GB | 0 |
+
+
Table 141 - S3 Bucket - ObjectS3
+1.7 Replication Information
The following section provides a summary of the replication information on PHARMAX-HQ.
1.7.1 Cluster Peer
The following section provides the Cluster Peer information on PHARMAX-HQ.
Cluster Peer | Cluster Nodes | Peer Addresses | Cluster Health | IP Space | Status |
-ONTAP-EDGE | | 192.168.11.221 | | Default | UNAVAILABLE |
-ZENPR-DR | | 10.10.36.14 10.10.36.15 | | Default | UNAVAILABLE |
+PHARMAX-DR | PHARMAX-DR-01 | 10.10.36.10 | True | Default | AVAILABLE |
-
Table 104 - Replication - Cluster Peer Information - ZENPR-HQ
-1.7.2 Vserver Peer
The following section provides the Vserver Peer information on ZENPR-HQ.
+Table 142 - Cluster Peer - PHARMAX-HQ
+1.7.2 Vserver Peer
Vserver | Peer Vserver | Peer Cluster | Applications | Peer State |
-NAS | NAS-DR | ZENPR-DR | flexcache | peered |
-NAS | NAS-HQ | ONTAP-EDGE | snapmirror | peered |
-NAS | SAN-DR | ZENPR-DR | snapmirror flexcache | peered |
-NFS | SAN-DR | ZENPR-DR | snapmirror flexcache | pending |
-SAN | SAN-DR | ZENPR-DR | snapmirror | peered |
-
-
Table 105 - Replication - Vserver Peer Information - ZENPR-HQ
-1.7.2.1 SnapMirror Relationship
The following section provides the SnapMirror Relationship information on ZENPR-HQ.
-
-Source Vserver | NAS-HQ |
-Source Location | NAS-HQ:vol_19082021_201759_59 |
-Destination Vserver | NAS |
-Destination Location | NAS:vol_19082021_201759_59_dest |
-Mirror State | snapmirrored |
-Schedule | HOURLY |
-Relationship Type | XDP |
-Policy | MirrorAndVault |
-Policy Type | mirror_vault |
-Unhealthy Reason | Transfer failed. |
-Lag Time | 83 days, 21 hrs, 49 mins, 83 secs |
-Status | IDLE |
+CIFS | FileProtocol | PHARMAX-DR | snapmirror flexcache | peered |
+NVME | NVME-DR | PHARMAX-DR | snapmirror flexcache | peered |
-
-
+Table 143 - Peer - PHARMAX-HQ
+1.7.2.1 SnapMirror Destinations
-Source Vserver | SAN-DR |
-Source Location | SAN-DR:SERVER_DATASTORE_DR |
-Destination Vserver | SAN |
-Destination Location | SAN:SERVER_DATASTORE_DR_dest |
-Mirror State | snapmirrored |
-Schedule | HOURLY |
+Destination Vserver | NVME-DR |
+Destination Location | NVME-DR:/cg/DBCG_dest |
+Source Vserver | NVME |
+Source Location | NVME:/cg/DBCG |
Relationship Type | XDP |
-Policy | Asynchronous |
Policy Type | mirror_vault |
-Unhealthy Reason | Transfer failed. |
-Lag Time | 2 days, 23 hrs, 49 mins, 2 secs |
Status | IDLE |
-
+Table 144 - SnapMirror Destination (List-Destinations) - NVME-DR:/cg/DBCG_dest
-Source Vserver | SAN-DR |
-Source Location | SAN-DR:SRM_PlaceHolder_DR |
-Destination Vserver | SAN |
-Destination Location | SAN:SRM_PlaceHolder_DR_dest |
-Mirror State | snapmirrored |
-Schedule | HOURLY |
+Destination Vserver | NVME-DR |
+Destination Location | NVME-DR:DB_dest |
+Source Vserver | NVME |
+Source Location | NVME:DB |
Relationship Type | XDP |
-Policy | Asynchronous |
Policy Type | mirror_vault |
-Unhealthy Reason | Transfer failed. |
-Lag Time | 2 days, 23 hrs, 49 mins, 2 secs |
Status | IDLE |
-
-1.7.2.1.1 SnapMirror Replication History
The following section provides the SnapMirror Operation information on ZENPR-HQ.
-Source Location | Destination Location | Operation Type | Result | Start |
-NAS-HQ:vol_19082021_201759_59 | NAS:vol_19082021_201759_59_dest | scheduled_update | failure | 11/24/2021 11:37:03 |
-SAN-DR:SRM_PlaceHolder_DR | SAN:SRM_PlaceHolder_DR_dest | scheduled_update | failure | 11/24/2021 11:37:03 |
-SAN-DR:SERVER_DATASTORE_DR | SAN:SERVER_DATASTORE_DR_dest | scheduled_update | failure | 11/24/2021 11:37:03 |
-NAS-HQ:vol_19082021_201759_59 | NAS:vol_19082021_201759_59_dest | scheduled_update | failure | 11/24/2021 12:05:00 |
-SAN-DR:SERVER_DATASTORE_DR | SAN:SERVER_DATASTORE_DR_dest | scheduled_update | failure | 11/24/2021 12:05:00 |
-SAN-DR:SRM_PlaceHolder_DR | SAN:SRM_PlaceHolder_DR_dest | scheduled_update | failure | 11/24/2021 12:05:00 |
-NAS-HQ:vol_19082021_201759_59 | NAS:vol_19082021_201759_59_dest | scheduled_update | failure | 11/24/2021 13:05:00 |
-SAN-DR:SRM_PlaceHolder_DR | SAN:SRM_PlaceHolder_DR_dest | scheduled_update | failure | 11/24/2021 13:05:00 |
-SAN-DR:SERVER_DATASTORE_DR | SAN:SERVER_DATASTORE_DR_dest | scheduled_update | failure | 11/24/2021 13:05:00 |
-NAS-HQ:vol_19082021_201759_59 | NAS:vol_19082021_201759_59_dest | scheduled_update | failure | 11/24/2021 14:05:00 |
-SAN-DR:SRM_PlaceHolder_DR | SAN:SRM_PlaceHolder_DR_dest | scheduled_update | failure | 11/24/2021 14:05:00 |
-SAN-DR:SERVER_DATASTORE_DR | SAN:SERVER_DATASTORE_DR_dest | scheduled_update | failure | 11/24/2021 14:05:00 |
-NAS-HQ:vol_19082021_201759_59 | NAS:vol_19082021_201759_59_dest | scheduled_update | failure | 11/24/2021 15:05:00 |
-SAN-DR:SRM_PlaceHolder_DR | SAN:SRM_PlaceHolder_DR_dest | scheduled_update | failure | 11/24/2021 15:05:00 |
-SAN-DR:SERVER_DATASTORE_DR | SAN:SERVER_DATASTORE_DR_dest | scheduled_update | failure | 11/24/2021 15:05:00 |
-NAS-HQ:vol_19082021_201759_59 | NAS:vol_19082021_201759_59_dest | scheduled_update | failure | 11/24/2021 16:05:00 |
-SAN-DR:SRM_PlaceHolder_DR | SAN:SRM_PlaceHolder_DR_dest | scheduled_update | failure | 11/24/2021 16:05:00 |
-SAN-DR:SERVER_DATASTORE_DR | SAN:SERVER_DATASTORE_DR_dest | scheduled_update | failure | 11/24/2021 16:05:00 |
-NAS-HQ:vol_19082021_201759_59 | NAS:vol_19082021_201759_59_dest | scheduled_update | failure | 11/24/2021 17:05:00 |
-SAN-DR:SERVER_DATASTORE_DR | SAN:SERVER_DATASTORE_DR_dest | scheduled_update | failure | 11/24/2021 17:05:00 |
-SAN-DR:SRM_PlaceHolder_DR | SAN:SRM_PlaceHolder_DR_dest | scheduled_update | failure | 11/24/2021 17:05:00 |
-NAS-HQ:vol_19082021_201759_59 | NAS:vol_19082021_201759_59_dest | scheduled_update | failure | 11/24/2021 18:05:00 |
-SAN-DR:SERVER_DATASTORE_DR | SAN:SERVER_DATASTORE_DR_dest | scheduled_update | failure | 11/24/2021 18:05:00 |
-SAN-DR:SRM_PlaceHolder_DR | SAN:SRM_PlaceHolder_DR_dest | scheduled_update | failure | 11/24/2021 18:05:00 |
-NAS-HQ:vol_19082021_201759_59 | NAS:vol_19082021_201759_59_dest | scheduled_update | failure | 11/24/2021 19:05:00 |
-SAN-DR:SERVER_DATASTORE_DR | SAN:SERVER_DATASTORE_DR_dest | scheduled_update | failure | 11/24/2021 19:05:00 |
-SAN-DR:SRM_PlaceHolder_DR | SAN:SRM_PlaceHolder_DR_dest | scheduled_update | failure | 11/24/2021 19:05:00 |
-
-
Table 106 - Replication - SnapMirror Replication History Information - ZENPR-HQ
-1.7.2.2 SnapMirror Destinations
The following section provides the SnapMirror (List-Destination) information on ZENPR-HQ.
-
-Destination Vserver | SAN-DR |
-Destination Location | SAN-DR:Oracle_Data_Volumes_dest |
-Source Vserver | SAN |
-Source Location | SAN:Oracle_Data_Volumes |
-Relationship Type | XDP |
-Policy Type | mirror_vault |
-Status | Unknown |
-
-
-
-
-Destination Vserver | SAN-DR |
-Destination Location | SAN-DR:vol_SERVER_DATASTORE_dest |
-Source Vserver | SAN |
-Source Location | SAN:SERVER_DATASTORE |
-Relationship Type | XDP |
-Policy Type | mirror_vault |
-Status | Unknown |
-
-
-1.7.2.3 Ontap Mediator
The following section provides the SnapMirror Mediator information on ZENPR-HQ.
-Peer cluster | IP Address | port | Status |
-ZENPR-DR | 192.168.6.16 | 31784 | Unreachable |
-
-
Table 107 - Replication - SnapMirror Mediator Information - ZENPR-HQ
-1.8 Efficiency Summary
The following section provides the Storage Efficiency Saving information on ZENPR-HQ.
+Table 145 - SnapMirror Destination (List-Destinations) - NVME-DR:DB_dest
+1.8 Efficiency Information
The following section provides the Storage Efficiency Saving information on PHARMAX-HQ.
Aggregate | Used % | Capacity Tier Used | Compaction Saved % | Deduplication Saved % | Total Data Reduction |
-PHARMAX_HQ_01_SSD_1 | 18% | 2.5 GB | 2% | 2% | 4.40:1 |
-PHARMAX_HQ_02_SSD_1 | 0% | 0 | 0% | 0% | 1.00:1 |
+PHARMAX_HQ_01_SSD_1 | 39% | 0 | 0% | 0% | 1.80:1 |
+PHARMAX_HQ_02_SSD_1 | 63% | 0 | 0% | 0% | 16.87:1 |
-
Table 108 - Storage Efficiency Savings Information - ZENPR-HQ
-1.8.1 Aggregate Total Efficiency
The following section provides the Aggregate Efficiency Saving information on ZENPR-HQ.
+Table 146 - Storage Efficiency Savings - PHARMAX-HQ
+1.8.1 Aggregate Total Efficiency
The following section provides the Aggregate Efficiency Saving information on PHARMAX-HQ.
Aggregate | Logical Used | Physical Used | Compaction Saved | Data Reduction |
-PHARMAX_HQ_01_SSD_1 | 40 GB | 39 GB | 748 MB | 1.02:1 |
-PHARMAX_HQ_02_SSD_1 | 79 MB | 79 MB | 0 | 1.00:1 |
+PHARMAX_HQ_01_SSD_1 | 170 MB | 170 MB | 0 | 1.00:1 |
+PHARMAX_HQ_02_SSD_1 | 90 MB | 90 MB | 0 | 1.00:1 |
-
Table 109 - Aggregate Efficiency Savings Information - ZENPR-HQ
-1.8.1.1 HealthCheck - Volume without deduplication enabled
The following section provides the Volume efficiency healthcheck Information on ZENPR-HQ.
+Table 147 - Aggregate Efficiency Savings - PHARMAX-HQ
+1.8.1.1 HealthCheck - Volume with Disabled Deduplication
The following table provides the Volume efficiency healthcheck Information on PHARMAX-HQ.
Aggregate | Volumes without Deduplication |
-PHARMAX_HQ_01_SSD_1 | |
-PHARMAX_HQ_02_SSD_1 | fg_oss_1630605744__0001 fg_oss_1630605744__0002 |
+PHARMAX_HQ_01_SSD_1 | FlexGroup__0003, FlexGroup__0005, FlexGroup__0006, CG_Test_vol_1, VMWARE_LUN, VMWARE_NVME |
+PHARMAX_HQ_02_SSD_1 | FlexGroup__0001, FlexGroup__0002, FlexGroup__0004, UnmappedLun, VMWARE_DATASTORE__0001, fg_oss_1723056019__0001 |
-
Table 110 - HealthCheck - Volume without deduplication - ZENPR-HQ
-1.8.1.2 NAS Vserver Volume Deduplication
The following section provides the Volume Deduplication Summary on NAS.
+Table 148 - HealthCheck - Volume without deduplication - PHARMAX-HQ
+1.8.1.2 CIFS Vserver Volume Deduplication
Volume | State | Status | Schedule Or Policy | Progress |
-DATA | Enabled | idle | default | |
-DATA__0001 | Enabled | idle | default | Idle for 08:19:17 |
-DATA_clone_299 | Enabled | idle | default | |
-DATA_clone_299__0001 | Enabled | idle | default | Idle for 08:19:17 |
-fg_oss_1630605678 | Enabled | idle | default | |
-fg_oss_1630605678__0001 | Enabled | idle | default | Idle for 08:19:17 |
-fg_oss_1630605678__0002 | Enabled | idle | default | Idle for 08:19:17 |
-NAS_root | Enabled | idle | default | Idle for 08:19:17 |
-SNAPLOCK_CP | Enabled | idle | default | Idle for 08:19:17 |
-SNAPLOCK_ENT | Enabled | idle | default | Idle for 08:19:17 |
-vol_19082021_201759_59_dest | Enabled | idle | default | Idle for 71:42:39 |
-vol_19082021_201759_59_dest_clone_652 | Enabled | idle | default | Idle for 08:19:17 |
-
-
Table 111 - Volume Deduplication Information - NAS
-1.8.1.2.1 Volume Efficiency
The following section provides the Volume Efficiency Saving Detailed information on NAS.
+CIFS_root | Enabled | idle | sun-sat@0 | Idle for 48:51:25 |
+DATA | Enabled | idle | sun-sat@0 | Idle for 48:51:23 |
+DATA_clone_100 | Enabled | idle | sun-sat@0 | Idle for 48:51:23 |
+FlexGoupVol | Enabled | idle | sun-sat@0 | - |
+FlexGoupVol__0001 | Enabled | idle | sun-sat@0 | Idle for 48:51:22 |
+FlexGoupVol__0002 | Enabled | idle | sun-sat@0 | Idle for 48:51:22 |
+
+
Table 149 - Volume Deduplication - CIFS
+1.8.1.2.1 Volume Efficiency
Volume | Capacity | Used | Snapshot Used | Total Savings | Effective Used | Efficiency Percent |
-DATA | 100 GB | 3 GB | 0 | 3 GB | 5 GB | 5.2% |
-DATA__0001 | 100 GB | 3 GB | 42 MB | 3 GB | 5 GB | 5.2% |
-DATA_clone_299 | 100 GB | 3 GB | 0 | 5 GB | 8 GB | 7.6% |
-DATA_clone_299__0001 | 100 GB | 3 GB | 55 MB | 5 GB | 8 GB | 7.6% |
-fg_oss_1630605678 | 800 GB | 115 MB | 0 | 0 | 115 MB | 0.0% |
-fg_oss_1630605678__0001 | 400 GB | 58 MB | 0 | 0 | 58 MB | 0.0% |
-fg_oss_1630605678__0002 | 400 GB | 58 MB | 0 | 0 | 58 MB | 0.0% |
-NAS_root | 19 MB | 1 MB | 2 MB | 146 KB | 1 MB | 7.2% |
-SNAPLOCK_CP | 10 GB | 724 KB | 2 MB | 471 KB | 1 MB | 0.0% |
-SNAPLOCK_ENT | 10 GB | 688 KB | 2 MB | 435 KB | 1 MB | 0.0% |
-vol_19082021_201759_59_dest | 5 GB | 5 GB | 5 GB | 0 | 4 GB | 76.7% |
-vol_19082021_201759_59_dest_clone_652 | 5 GB | 5 GB | 0 | 10 MB | 5 GB | 82.4% |
-
-
Table 112 - Volume Efficiency Savings Information - NAS
-1.8.1.2.2 Detailed Volume Efficiency
The following section provides the Volume Efficiency Saving Detailed information on NAS.
+CIFS_root | 19 MB | 588 KB | 1 MB | 172 KB | 760 KB | 3.9% |
+DATA | 10 GB | 7 MB | 2 MB | 7 MB | 14 MB | 0.1% |
+DATA_clone_100 | 10 GB | 7 MB | 2 MB | 7 MB | 14 MB | 0.1% |
+FlexGoupVol | 100 GB | 131 MB | 0 | 131 MB | 262 MB | 0.3% |
+FlexGoupVol__0001 | 50 GB | 65 MB | 9 MB | 63 MB | 128 MB | 0.3% |
+FlexGoupVol__0002 | 50 GB | 66 MB | 8 MB | 65 MB | 131 MB | 0.3% |
+FlexGroup | 53 GB | 194 MB | 0 | 0 | 194 MB | 0.4% |
+FlexGroup__0001 | 9 GB | 32 MB | 0 | 0 | 32 MB | 0.4% |
+FlexGroup__0002 | 9 GB | 32 MB | 0 | 0 | 32 MB | 0.4% |
+FlexGroup__0003 | 9 GB | 32 MB | 0 | 0 | 32 MB | 0.4% |
+FlexGroup__0004 | 9 GB | 32 MB | 0 | 0 | 32 MB | 0.4% |
+FlexGroup__0005 | 9 GB | 32 MB | 0 | 0 | 32 MB | 0.4% |
+FlexGroup__0006 | 9 GB | 32 MB | 0 | 0 | 32 MB | 0.4% |
+
+
Table 150 - Volume Efficiency Savings - CIFS
+1.8.1.2.2 Detailed Volume Efficiency
Volume | Capacity | Dedupe Savings | Compression Savings | Snapshot Savings | Cloning Savings | Efficiency % | Efficiency % w/o Snapshots |
-DATA | 100 GB | 2 MB | 2 MB | 3 GB | 0 | 5.2% | 0.0% |
-DATA__0001 | 100 GB | 2 MB | 2 MB | 3 GB | 0 | 5.2% | 0.0% |
-DATA_clone_299 | 100 GB | 12 KB | 236 KB | 3 GB | 3 GB | 7.6% | 0.0% |
-DATA_clone_299__0001 | 100 GB | 12 KB | 236 KB | 3 GB | 3 GB | 7.6% | 0.0% |
-fg_oss_1630605678 | 800 GB | 0 | 0 | 0 | 0 | 0.0% | 0.0% |
-fg_oss_1630605678__0001 | 400 GB | 0 | 0 | 0 | 0 | 0.0% | 0.0% |
-fg_oss_1630605678__0002 | 400 GB | 0 | 0 | 0 | 0 | 0.0% | 0.0% |
-SNAPLOCK_CP | 10 GB | 0 | 0 | 471 KB | 0 | 0.0% | 0.0% |
-SNAPLOCK_ENT | 10 GB | 0 | 0 | 435 KB | 0 | 0.0% | 0.0% |
-vol_19082021_201759_59_dest | 5 GB | 4 KB | 1 MB | 0 | 0 | 76.7% | 0.0% |
-vol_19082021_201759_59_dest_clone_652 | 5 GB | 5 MB | 5 MB | 0 | 0 | 82.4% | 0.0% |
-
-
Table 113 - Volume Efficiency Savings Detailed Information - NAS
-1.8.1.3 NFS Vserver Volume Deduplication
The following section provides the Volume Deduplication Summary on NFS.
+DATA | 10 GB | 60 KB | 0 | 7 MB | 0 | 0.1% | 1.0% |
+DATA_clone_100 | 10 GB | 60 KB | 0 | 7 MB | 0 | 0.1% | 1.0% |
+FlexGoupVol | 100 GB | 0 | 0 | 131 MB | 0 | 0.3% | 0.0% |
+FlexGoupVol__0001 | 50 GB | 0 | 0 | 63 MB | 0 | 0.3% | 0.0% |
+FlexGoupVol__0002 | 50 GB | 0 | 0 | 65 MB | 0 | 0.3% | 0.0% |
+FlexGroup | 53 GB | 0 | 0 | 0 | 0 | 0.4% | 0.0% |
+FlexGroup__0001 | 9 GB | 0 | 0 | 0 | 0 | 0.4% | 0.0% |
+FlexGroup__0002 | 9 GB | 0 | 0 | 0 | 0 | 0.4% | 0.0% |
+FlexGroup__0003 | 9 GB | 0 | 0 | 0 | 0 | 0.4% | 0.0% |
+FlexGroup__0004 | 9 GB | 0 | 0 | 0 | 0 | 0.4% | 0.0% |
+FlexGroup__0005 | 9 GB | 0 | 0 | 0 | 0 | 0.4% | 0.0% |
+FlexGroup__0006 | 9 GB | 0 | 0 | 0 | 0 | 0.4% | 0.0% |
+
+
Table 151 - Volume Efficiency Savings Detailed - CIFS
+1.8.1.3 FCSAN Vserver Volume Deduplication
Volume | State | Status | Schedule Or Policy | Progress |
-fg_oss_1630340493 | Enabled | idle | default | |
-fg_oss_1630340493__0001 | Enabled | idle | default | Idle for 08:20:13 |
-fg_oss_1630340493__0002 | Enabled | idle | default | Idle for 08:20:13 |
-fg_oss_1630605744 | Disabled | idle | - | |
-fg_oss_1630605744__0001 | Disabled | idle | | Idle for 00:00:00 |
-fg_oss_1630605744__0002 | Disabled | idle | | Idle for 00:00:00 |
-NFS_root | Enabled | idle | default | Idle for 08:20:13 |
-SHARE_NFS | Enabled | idle | default | Idle for 08:20:13 |
-
-
Table 114 - Volume Deduplication Information - NFS
-1.8.1.3.1 Volume Efficiency
The following section provides the Volume Efficiency Saving Detailed information on NFS.
+EXchange | Enabled | idle | sun-sat@0 | Idle for 48:51:21 |
+FCSAN_root | Enabled | idle | sun-sat@0 | Idle for 48:51:20 |
+
+
Table 152 - Volume Deduplication - FCSAN
+1.8.1.3.1 Volume Efficiency
Volume | Capacity | Used | Snapshot Used | Total Savings | Effective Used | Efficiency Percent |
-fg_oss_1630340493 | 800 GB | 115 MB | 0 | 0 | 115 MB | 0.0% |
-fg_oss_1630340493__0001 | 400 GB | 58 MB | 0 | 0 | 58 MB | 0.0% |
-fg_oss_1630340493__0002 | 400 GB | 58 MB | 0 | 0 | 58 MB | 0.0% |
-fg_oss_1630605744 | 800 GB | 58 MB | 0 | 0 | 58 MB | 0.0% |
-fg_oss_1630605744__0001 | 400 GB | 29 MB | 0 | 0 | 29 MB | 0.0% |
-fg_oss_1630605744__0002 | 400 GB | 29 MB | 0 | 0 | 29 MB | 0.0% |
-NFS_root | 19 MB | 2 MB | 2 MB | 284 KB | 2 MB | 10.3% |
-SHARE_NFS | 1 GB | 504 KB | 3 MB | 202 KB | 706 KB | 0.1% |
-
-
Table 115 - Volume Efficiency Savings Information - NFS
-1.8.1.3.2 Detailed Volume Efficiency
The following section provides the Volume Efficiency Saving Detailed information on NFS.
+EXchange | 12 GB | 440 KB | 0 | 0 | 440 KB | 0.0% |
+FCSAN_root | 19 MB | 400 KB | 1 MB | 173 KB | 573 KB | 2.9% |
+
+
Table 153 - Volume Efficiency Savings - FCSAN
+1.8.1.3.2 Detailed Volume Efficiency
Volume | Capacity | Dedupe Savings | Compression Savings | Snapshot Savings | Cloning Savings | Efficiency % | Efficiency % w/o Snapshots |
-fg_oss_1630340493 | 800 GB | 0 | 0 | 0 | 0 | 0.0% | 0.0% |
-fg_oss_1630340493__0001 | 400 GB | 0 | 0 | 0 | 0 | 0.0% | 0.0% |
-fg_oss_1630340493__0002 | 400 GB | 0 | 0 | 0 | 0 | 0.0% | 0.0% |
-fg_oss_1630605744 | 800 GB | 0 | 0 | 0 | 0 | 0.0% | 0.0% |
-fg_oss_1630605744__0001 | 400 GB | 0 | 0 | 0 | 0 | 0.0% | 0.0% |
-fg_oss_1630605744__0002 | 400 GB | 0 | 0 | 0 | 0 | 0.0% | 0.0% |
-SHARE_NFS | 1 GB | 0 | 0 | 202 KB | 0 | 0.1% | 0.0% |
-
-
Table 116 - Volume Efficiency Savings Detailed Information - NFS
-1.8.1.4 SAN Vserver Volume Deduplication
The following section provides the Volume Deduplication Summary on SAN.
+EXchange | 12 GB | 0 | 0 | 0 | 0 | 0.0% | 0.0% |
+
+
Table 154 - Volume Efficiency Savings Detailed - FCSAN
+1.8.1.4 ISCSI Vserver Volume Deduplication
Volume | State | Status | Schedule Or Policy | Progress |
-NTAPSOL_LUN_1 | Enabled | idle | default | Idle for 08:20:43 |
-Oracle_Data_Volumes | Enabled | idle | default | Idle for 08:20:43 |
-SAN_root | Enabled | idle | default | Idle for 08:20:43 |
-SERVER_DATASTORE | Enabled | idle | default | Idle for 08:20:43 |
-SERVER_DATASTORE_2 | Enabled | idle | default | Idle for 08:20:43 |
-SERVER_DATASTORE_DR_dest | Enabled | idle | default | Idle for 71:42:59 |
-SRM_PlaceHolder_DR_dest | Enabled | idle | default | Idle for 71:43:44 |
-TEST | Enabled | idle | default | Idle for 08:20:43 |
-
-
Table 117 - Volume Deduplication Information - SAN
-1.8.1.4.1 Volume Efficiency
The following section provides the Volume Efficiency Saving Detailed information on SAN.
+ISCSI_root | Enabled | idle | sun-sat@0 | Idle for 48:51:21 |
+SQLCluster_Quorum | Enabled | idle | sun-sat@0 | Idle for 48:51:21 |
+
+
Table 155 - Volume Deduplication - ISCSI
+1.8.1.4.1 Volume Efficiency
+Volume | Capacity | Used | Snapshot Used | Total Savings | Effective Used | Efficiency Percent |
+CG_Test_vol_1 | 21 GB | 4 MB | 2 MB | 2 MB | 6 MB | 0.0% |
+ISCSI_root | 19 MB | 588 KB | 1 MB | 172 KB | 760 KB | 3.9% |
+SQLCluster_Quorum | 12 GB | 540 KB | 0 | 0 | 540 KB | 0.0% |
+UnmappedLun | 1 GB | 1 GB | 0 | 0 | 1 GB | 84.2% |
+VMWARE_LUN | 12 GB | 10 GB | 0 | 0 | 10 GB | 85.0% |
+
+
Table 156 - Volume Efficiency Savings - ISCSI
+1.8.1.4.2 Detailed Volume Efficiency
+Volume | Capacity | Dedupe Savings | Compression Savings | Snapshot Savings | Cloning Savings | Efficiency % | Efficiency % w/o Snapshots |
+CG_Test_vol_1 | 21 GB | 0 | 0 | 2 MB | 0 | 0.0% | 0.0% |
+SQLCluster_Quorum | 12 GB | 0 | 0 | 0 | 0 | 0.0% | 0.0% |
+UnmappedLun | 1 GB | 0 | 0 | 0 | 0 | 84.2% | 0.0% |
+VMWARE_LUN | 12 GB | 0 | 0 | 0 | 0 | 85.0% | 0.0% |
+
+
Table 157 - Volume Efficiency Savings Detailed - ISCSI
+1.8.1.5 NFS Vserver Volume Deduplication
1.8.1.5.1 Volume Efficiency
Volume | Capacity | Used | Snapshot Used | Total Savings | Effective Used | Efficiency Percent |
-NTAPSOL_LUN_1 | 50 GB | 184 MB | 170 MB | 582 MB | 766 MB | 1.5% |
-Oracle_Data_Volumes | 240 GB | 2 GB | 3 GB | 3 GB | 5 GB | 2.1% |
-SAN_root | 19 MB | 1 MB | 2 MB | 126 KB | 1 MB | 6.8% |
-SERVER_DATASTORE | 15 GB | 9 GB | 5 GB | 6 GB | 15 GB | 100.6% |
-SERVER_DATASTORE_2 | 20 GB | 676 KB | 0 | 0 | 676 KB | 0.0% |
-SERVER_DATASTORE_DR_dest | 300 MB | 234 MB | 4 MB | 332 MB | 566 MB | 188.4% |
-SRM_PlaceHolder_DR_dest | 122 MB | 6 MB | 500 KB | 47 MB | 53 MB | 43.6% |
-TEST | 20 GB | 14 GB | 0 | 210 MB | 14 GB | 71.7% |
-
-
Table 118 - Volume Efficiency Savings Information - SAN
-1.8.1.4.2 Detailed Volume Efficiency
The following section provides the Volume Efficiency Saving Detailed information on SAN.
+NFS_root | 19 MB | 484 KB | 1 MB | 299 KB | 783 KB | 4.0% |
+VMWARE_DATASTORE | 50 GB | 66 MB | 0 | 66 MB | 131 MB | 0.3% |
+VMWARE_DATASTORE__0001 | 50 GB | 66 MB | 924 KB | 65 MB | 131 MB | 0.3% |
+
+
Table 158 - Volume Efficiency Savings - NFS
+1.8.1.5.2 Detailed Volume Efficiency
Volume | Capacity | Dedupe Savings | Compression Savings | Snapshot Savings | Cloning Savings | Efficiency % | Efficiency % w/o Snapshots |
-NTAPSOL_LUN_1 | 50 GB | 366 MB | 371 MB | 0 | 0 | 1.5% | 80.0% |
-Oracle_Data_Volumes | 240 GB | 470 MB | 1 GB | 2 GB | 0 | 2.1% | 53.0% |
-SERVER_DATASTORE | 15 GB | 2 GB | 2 GB | 2 GB | 0 | 100.6% | 30.0% |
-SERVER_DATASTORE_2 | 20 GB | 0 | 0 | 0 | 0 | 0.0% | 0.0% |
-SERVER_DATASTORE_DR_dest | 300 MB | 100 MB | 0 | 232 MB | 0 | 188.4% | 30.0% |
-SRM_PlaceHolder_DR_dest | 122 MB | 41 MB | 0 | 6 MB | 0 | 43.6% | 87.0% |
-TEST | 20 GB | 27 MB | 184 MB | 0 | 0 | 71.7% | 1.0% |
-
-
Table 119 - Volume Efficiency Savings Detailed Information - SAN
-1.9 Security Summary
The following section provides the Security related information on ZENPR-HQ.
1.9.1 NAS Vserver Local User
The following section provides the Local User information on NAS.
+VMWARE_DATASTORE | 50 GB | 0 | 0 | 66 MB | 0 | 0.3% | 0.0% |
+VMWARE_DATASTORE__0001 | 50 GB | 0 | 0 | 65 MB | 0 | 0.3% | 0.0% |
+
+
Table 159 - Volume Efficiency Savings Detailed - NFS
+1.8.1.6 NVME Vserver Volume Deduplication
+Volume | State | Status | Schedule Or Policy | Progress |
+DB | Enabled | idle | - | Idle for 48:51:22 |
+NVME_root | Enabled | idle | sun-sat@0 | Idle for 48:51:23 |
+
+
Table 160 - Volume Deduplication - NVME
+1.8.1.6.1 Volume Efficiency
+Volume | Capacity | Used | Snapshot Used | Total Savings | Effective Used | Efficiency Percent |
+DB | 23 GB | 20 GB | 18 MB | 20 GB | 40 GB | 179.4% |
+NVME_root | 19 MB | 400 KB | 1 MB | 173 KB | 573 KB | 2.9% |
+VMWARE_NVME | 973 MB | 904 MB | 0 | 0 | 904 MB | 92.9% |
+
+
Table 161 - Volume Efficiency Savings - NVME
+1.8.1.6.2 Detailed Volume Efficiency
+Volume | Capacity | Dedupe Savings | Compression Savings | Snapshot Savings | Cloning Savings | Efficiency % | Efficiency % w/o Snapshots |
+DB | 23 GB | 134 MB | 0 | 20 GB | 0 | 179.4% | 1.0% |
+VMWARE_NVME | 973 MB | 0 | 0 | 0 | 0 | 92.9% | 0.0% |
+
+
Table 162 - Volume Efficiency Savings Detailed - NVME
+1.8.1.7 ObjectS3 Vserver Volume Deduplication
1.8.1.7.1 Volume Efficiency
+Volume | Capacity | Used | Snapshot Used | Total Savings | Effective Used | Efficiency Percent |
+fg_oss_1723056019 | 100 GB | 35 MB | 0 | 0 | 35 MB | 0.0% |
+fg_oss_1723056019__0001 | 100 GB | 35 MB | 0 | 0 | 35 MB | 0.0% |
+ObjectS3_root | 19 MB | 524 KB | 1 MB | 339 KB | 863 KB | 4.4% |
+
+
Table 163 - Volume Efficiency Savings - ObjectS3
+1.8.1.7.2 Detailed Volume Efficiency
+Volume | Capacity | Dedupe Savings | Compression Savings | Snapshot Savings | Cloning Savings | Efficiency % | Efficiency % w/o Snapshots |
+fg_oss_1723056019 | 100 GB | 0 | 0 | 0 | 0 | 0.0% | 0.0% |
+fg_oss_1723056019__0001 | 100 GB | 0 | 0 | 0 | 0 | 0.0% | 0.0% |
+
+
Table 164 - Volume Efficiency Savings Detailed - ObjectS3
+1.9 Security Information
The following section provides the Security related information on PHARMAX-HQ.
1.9.1 PHARMAX-HQ Vserver Local User
The following section provides the Local User information on PHARMAX-HQ.
+User Name | Application | Auth Method | Role Name | Locked |
+admin | Amqp | password | admin | No |
+admin | Console | password | admin | No |
+admin | Http | password | admin | No |
+admin | Ontapi | password | admin | No |
+admin | Service-Processor | password | admin | No |
+admin | Ssh | password | admin | No |
+autosupport | Console | password | autosupport | No |
+
+
Table 165 - Security Local Users - PHARMAX-HQ
+1.9.2 CIFS Vserver Local User
The following section provides the Local User information on CIFS.
User Name | Application | Auth Method | Role Name | Locked |
vsadmin | Http | password | vsadmin | Yes |
vsadmin | Ontapi | password | vsadmin | Yes |
vsadmin | Ssh | password | vsadmin | Yes |
-
Table 120 - Security Local Users information - NAS
-1.9.2 NFS Vserver Local User
The following section provides the Local User information on NFS.
+Table 166 - Security Local Users - CIFS
+1.9.3 FCSAN Vserver Local User
The following section provides the Local User information on FCSAN.
User Name | Application | Auth Method | Role Name | Locked |
vsadmin | Http | password | vsadmin | Yes |
vsadmin | Ontapi | password | vsadmin | Yes |
vsadmin | Ssh | password | vsadmin | Yes |
-
Table 121 - Security Local Users information - NFS
-1.9.3 SAN Vserver Local User
The following section provides the Local User information on SAN.
+Table 167 - Security Local Users - FCSAN
+1.9.4 ISCSI Vserver Local User
The following section provides the Local User information on ISCSI.
User Name | Application | Auth Method | Role Name | Locked |
-Private | Snmp | community | vsadmin-readonly | - |
vsadmin | Http | password | vsadmin | Yes |
vsadmin | Ontapi | password | vsadmin | Yes |
vsadmin | Ssh | password | vsadmin | Yes |
-
Table 122 - Security Local Users information - SAN
-1.9.4 Vserver SSL Certificate
The following section provides the Vserver SSL Certificates information on ZENPR-HQ.
-Common Name | Certificate Authority | Client Auth | Server Auth | Serial Number | Vserver |
-NAS | NAS | Yes | Yes | 169206CAC1E5D7FE | NAS |
-NFS | NFS | Yes | Yes | 16988F283AE9725A | NFS |
-ZENPR-HQ | ZENPR-HQ | No | Yes | 16904C1617930033 | ZENPR-HQ |
-SAN | SAN | No | Yes | 168FD281723B93D4 | SAN |
+Table 168 - Security Local Users - ISCSI
+1.9.5 NFS Vserver Local User
The following section provides the Local User information on NFS.
+User Name | Application | Auth Method | Role Name | Locked |
+vsadmin | Http | password | vsadmin | Yes |
+vsadmin | Ontapi | password | vsadmin | Yes |
+vsadmin | Ssh | password | vsadmin | Yes |
-
Table 123 - Per Vserver SSL information - ZENPR-HQ
-The following section provides the Vserver SSL Certificates Detailed information on ZENPR-HQ.
+Table 169 - Security Local Users - NFS
+1.9.6 NVME Vserver Local User
The following section provides the Local User information on NVME.
+User Name | Application | Auth Method | Role Name | Locked |
+vsadmin | Http | password | vsadmin | Yes |
+vsadmin | Ontapi | password | vsadmin | Yes |
+vsadmin | Ssh | password | vsadmin | Yes |
+
+
Table 170 - Security Local Users - NVME
+1.9.7 ObjectS3 Vserver Local User
The following section provides the Local User information on ObjectS3.
+User Name | Application | Auth Method | Role Name | Locked |
+vsadmin | Http | password | vsadmin | Yes |
+vsadmin | Ontapi | password | vsadmin | Yes |
+vsadmin | Ssh | password | vsadmin | Yes |
+
+
Table 171 - Security Local Users - ObjectS3
+1.9.8 Vserver SSL Certificate
The following section provides the Vserver SSL Certificates information on PHARMAX-HQ.
+Common Name | Certificate Authority | Client Auth | Server Auth | Serial Number | Vserver |
+CIFS | CIFS | No | Yes | 17E97695BE3157D7 | CIFS |
+FCSAN | FCSAN | No | Yes | 17E97936C289D7B0 | FCSAN |
+ISCSI | ISCSI | No | Yes | 17E975E6FCD21819 | ISCSI |
+NFS | NFS | No | Yes | 17E987C0A462F9D6 | NFS |
+NVME | NVME | No | Yes | 17E975F4514F528A | NVME |
+ObjectS3 | ObjectS3 | Yes | Yes | 17E9864073BB8B53 | ObjectS3 |
+PHARMAX-HQ | PHARMAX-HQ | No | Yes | 17E8D68D35A0995B | PHARMAX-HQ |
+
+
Table 172 - Per Vserver SSL - PHARMAX-HQ
+1.9.8.1 Vserver SSL Certificate Details
Common Name | Protocol | Hash Function | Serial Number | Expiration | Vserver |
-NAS | ssl | SHA256 | 169206CAC1E5D7FE | 7/15/2022 | NAS |
-NAS | ssl | SHA256 | 169206CCC4BD0C98 | 7/9/2023 | NAS |
-Server | ssl | SHA256 | 16A11331EF36D4FB | 7/9/2023 | NAS |
-NFS | ssl | SHA256 | 16988F283AE9725A | 8/5/2022 | NFS |
-fabricpool | ssl | SHA256 | 16A1132BB89AD0BC | 8/6/2023 | NFS |
-nfs | ssl | SHA256 | 169A6E64CDEECCD5 | 8/5/2023 | NFS |
-ZENPR-HQ | ssl | SHA256 | 16904C1617930033 | 7/9/2022 | ZENPR-HQ |
-ZENPR-HQ | ssl | SHA256 | 6100000104098E74594A541DDB000000000104 | 11/13/2023 | ZENPR-HQ |
-SAN | ssl | SHA256 | 168FD281723B93D4 | 7/8/2022 | SAN |
-
-
Table 124 - SSL Detailed information - ZENPR-HQ
-1.9.5 Key Management Service (KMS)
The following section provides the Key Management Service type on ZENPR-HQ.
+CIFS | ssl | SHA256 | 17E97695BE3157D7 | 8/7/2025 | CIFS |
+FCSAN | ssl | SHA256 | 17E97936C289D7B0 | 8/7/2025 | FCSAN |
+ISCSI | ssl | SHA256 | 17E975E6FCD21819 | 8/7/2025 | ISCSI |
+NFS | ssl | SHA256 | 17E987C0A462F9D6 | 8/7/2025 | NFS |
+NVME | ssl | SHA256 | 17E975F4514F528A | 8/7/2025 | NVME |
+ObjectS3 | ssl | SHA256 | 17E9864073BB8B53 | 8/7/2025 | ObjectS3 |
+Objects3 | ssl | SHA256 | 17E986418BC8C048 | 7/31/2026 | ObjectS3 |
+PHARMAX-HQ | ssl | SHA256 | 17E8D68D35A0995B | 8/5/2025 | PHARMAX-HQ |
+
+
Table 173 - SSL Detailed - PHARMAX-HQ
+1.9.9 Key Management Service (KMS)
The following section provides the Key Management Service type on PHARMAX-HQ.
Cluster IP | Key Store | Vserver |
-192.168.7.60 | Onboard | ZENPR-HQ |
+192.168.7.60 | Onboard | PHARMAX-HQ |
-
Table 125 - Key Management Service (KMS) information - ZENPR-HQ
-1.9.6 Aggregate Encryption (NAE)
The following section provides the Aggregate Encryption (NAE) information on ZENPR-HQ.
+Table 174 - Key Management Service (KMS) - PHARMAX-HQ
+1.9.10 Aggregate Encryption (NAE)
The following section provides the Aggregate Encryption (NAE) information on PHARMAX-HQ.
Aggregate | Aggregate Encryption | Volume Count | State |
aggr0_PHARMAX_HQ_01 | No | 1 | Online |
aggr0_PHARMAX_HQ_02 | No | 1 | Online |
-PHARMAX_HQ_01_SSD_1 | No | 15 | Online |
-PHARMAX_HQ_02_SSD_1 | Yes | 8 | Online |
+PHARMAX_HQ_01_SSD_1 | Yes | 12 | Online |
+PHARMAX_HQ_02_SSD_1 | Yes | 13 | Online |
-
Table 126 - Aggregate Encryption (NAE) information - ZENPR-HQ
-1.9.6.1 Volume Encryption (NVE)
The following section provides the Volume Encryption (NVE) information on ZENPR-HQ.
+Table 175 - Aggregate Encryption (NAE) - PHARMAX-HQ
+1.9.10.1 Volume Encryption (NVE)
Name | Aggregate | Encrypted | State |
-DATA | | No | Online |
-DATA_clone_299 | | No | Online |
-fg_oss_1630605678 | | Yes | Online |
-SNAPLOCK_CP | PHARMAX_HQ_02_SSD_1 | Yes | Online |
-SNAPLOCK_ENT | PHARMAX_HQ_02_SSD_1 | Yes | Online |
-vol_19082021_201759_59_dest | PHARMAX_HQ_01_SSD_1 | No | Online |
-vol_19082021_201759_59_dest_clone_652 | PHARMAX_HQ_01_SSD_1 | No | Online |
-fg_oss_1630340493 | | Yes | Online |
-fg_oss_1630605744 | | Yes | Online |
-SHARE_NFS | PHARMAX_HQ_01_SSD_1 | No | Online |
-NTAPSOL_LUN_1 | PHARMAX_HQ_01_SSD_1 | No | Online |
-Oracle_Data_Volumes | PHARMAX_HQ_01_SSD_1 | No | Online |
-SERVER_DATASTORE | PHARMAX_HQ_01_SSD_1 | No | Online |
-SERVER_DATASTORE_2 | PHARMAX_HQ_01_SSD_1 | No | Online |
-SERVER_DATASTORE_DR_dest | PHARMAX_HQ_01_SSD_1 | No | Online |
-SRM_PlaceHolder_DR_dest | PHARMAX_HQ_01_SSD_1 | No | Online |
-TEST | PHARMAX_HQ_01_SSD_1 | Yes | Online |
-
-
Table 127 - Volume Encryption (NVE) information - ZENPR-HQ
-1.9.7 Snaplock Compliance Clock
The following section provides the Snaplock Compliance Clock information on ZENPR-HQ.
+DATA | PHARMAX_HQ_01_SSD_1 | Yes | Online |
+DATA_clone_100 | PHARMAX_HQ_01_SSD_1 | Yes | Online |
+FlexGoupVol | | Yes | Online |
+FlexGroup | | Yes | Online |
+EXchange | PHARMAX_HQ_02_SSD_1 | Yes | Online |
+CG_Test_vol_1 | PHARMAX_HQ_01_SSD_1 | Yes | Online |
+SQLCluster_Quorum | PHARMAX_HQ_01_SSD_1 | Yes | Online |
+UnmappedLun | PHARMAX_HQ_02_SSD_1 | Yes | Online |
+VMWARE_LUN | PHARMAX_HQ_01_SSD_1 | Yes | Online |
+VMWARE_DATASTORE | | Yes | Online |
+DB | PHARMAX_HQ_02_SSD_1 | Yes | Online |
+VMWARE_NVME | PHARMAX_HQ_01_SSD_1 | Yes | Online |
+fg_oss_1723056019 | | Yes | Online |
+
+
Table 176 - Volume Encryption (NVE) - PHARMAX-HQ
+1.9.11 Snaplock Compliance Clock
The following section provides the Snaplock Compliance Clock information on PHARMAX-HQ.
Node Name | Compliance Clock |
-ZENPR-HQ-01 | Mon Nov 15 00:01:18 AST 2021 -04:00 |
-ZENPR-HQ-02 | Mon Nov 15 00:01:56 AST 2021 -04:00 |
+PHARMAX-HQ-01 | Thu Aug 08 11:20:34 UTC 2024 +00:00 |
+PHARMAX-HQ-02 | Thu Aug 08 11:20:40 UTC 2024 +00:00 |
-
Table 128 - Snaplock Compliance Clock Information - ZENPR-HQ
-1.9.7.1 Aggregate Snaplock Type
The following section provides the Aggregate Snaplock Type information on ZENPR-HQ.
+Table 177 - Snaplock Compliance Clock - PHARMAX-HQ
+1.9.11.1 Aggregate Snaplock Type
Aggregate Name | Snaplock Type |
-PHARMAX_HQ_01_SSD_1 | Non_Snaplock |
+PHARMAX_HQ_01_SSD_1 | Enterprise |
PHARMAX_HQ_02_SSD_1 | Compliance |
-
Table 129 - Aggregate Snaplock Type Information - ZENPR-HQ
-1.9.7.1.1 Volume Snaplock Type
The following section provides the Volume Snaplock Type information on ZENPR-HQ.
+Table 178 - Aggregate Snaplock Type - PHARMAX-HQ
+1.9.11.1.1 Volume Snaplock Type
Volume | Aggregate | Snaplock Type |
-DATA | | Non_Snaplock |
-DATA__0001 | PHARMAX_HQ_01_SSD_1 | Non_Snaplock |
-DATA_clone_299 | | Non_Snaplock |
-DATA_clone_299__0001 | PHARMAX_HQ_01_SSD_1 | Non_Snaplock |
-fg_oss_1630605678 | | Non_Snaplock |
-fg_oss_1630605678__0001 | PHARMAX_HQ_02_SSD_1 | Non_Snaplock |
-fg_oss_1630605678__0002 | PHARMAX_HQ_02_SSD_1 | Non_Snaplock |
-SNAPLOCK_CP | PHARMAX_HQ_02_SSD_1 | Compliance |
-SNAPLOCK_ENT | PHARMAX_HQ_02_SSD_1 | Enterprise |
-vol_19082021_201759_59_dest | PHARMAX_HQ_01_SSD_1 | Non_Snaplock |
-vol_19082021_201759_59_dest_clone_652 | PHARMAX_HQ_01_SSD_1 | Non_Snaplock |
-fg_oss_1630340493 | | Non_Snaplock |
-fg_oss_1630340493__0001 | PHARMAX_HQ_02_SSD_1 | Non_Snaplock |
-fg_oss_1630340493__0002 | PHARMAX_HQ_02_SSD_1 | Non_Snaplock |
-fg_oss_1630605744 | | Non_Snaplock |
-fg_oss_1630605744__0001 | PHARMAX_HQ_02_SSD_1 | Non_Snaplock |
-fg_oss_1630605744__0002 | PHARMAX_HQ_02_SSD_1 | Non_Snaplock |
-SHARE_NFS | PHARMAX_HQ_01_SSD_1 | Non_Snaplock |
-NTAPSOL_LUN_1 | PHARMAX_HQ_01_SSD_1 | Non_Snaplock |
-Oracle_Data_Volumes | PHARMAX_HQ_01_SSD_1 | Non_Snaplock |
-SERVER_DATASTORE | PHARMAX_HQ_01_SSD_1 | Non_Snaplock |
-SERVER_DATASTORE_2 | PHARMAX_HQ_01_SSD_1 | Non_Snaplock |
-SERVER_DATASTORE_DR_dest | PHARMAX_HQ_01_SSD_1 | Non_Snaplock |
-SRM_PlaceHolder_DR_dest | PHARMAX_HQ_01_SSD_1 | Non_Snaplock |
-TEST | PHARMAX_HQ_01_SSD_1 | Non_Snaplock |
-
-
Table 130 - Volume Snaplock Type Information - ZENPR-HQ
-1.9.7.1.1.1 Snaplock Volume Attributes
The following section provides the Snaplock Volume Attributes information on ZENPR-HQ.
+DATA | PHARMAX_HQ_01_SSD_1 | Non_Snaplock |
+DATA_clone_100 | PHARMAX_HQ_01_SSD_1 | Non_Snaplock |
+FlexGoupVol | | Enterprise |
+FlexGoupVol__0001 | PHARMAX_HQ_01_SSD_1 | Enterprise |
+FlexGoupVol__0002 | PHARMAX_HQ_02_SSD_1 | Enterprise |
+FlexGroup | | Non_Snaplock |
+FlexGroup__0001 | PHARMAX_HQ_02_SSD_1 | Non_Snaplock |
+FlexGroup__0002 | PHARMAX_HQ_02_SSD_1 | Non_Snaplock |
+FlexGroup__0003 | PHARMAX_HQ_01_SSD_1 | Non_Snaplock |
+FlexGroup__0004 | PHARMAX_HQ_02_SSD_1 | Non_Snaplock |
+FlexGroup__0005 | PHARMAX_HQ_01_SSD_1 | Non_Snaplock |
+FlexGroup__0006 | PHARMAX_HQ_01_SSD_1 | Non_Snaplock |
+EXchange | PHARMAX_HQ_02_SSD_1 | Non_Snaplock |
+CG_Test_vol_1 | PHARMAX_HQ_01_SSD_1 | Non_Snaplock |
+SQLCluster_Quorum | PHARMAX_HQ_01_SSD_1 | Non_Snaplock |
+UnmappedLun | PHARMAX_HQ_02_SSD_1 | Non_Snaplock |
+VMWARE_LUN | PHARMAX_HQ_01_SSD_1 | Non_Snaplock |
+VMWARE_DATASTORE | | Non_Snaplock |
+VMWARE_DATASTORE__0001 | PHARMAX_HQ_02_SSD_1 | Non_Snaplock |
+DB | PHARMAX_HQ_02_SSD_1 | Non_Snaplock |
+VMWARE_NVME | PHARMAX_HQ_01_SSD_1 | Non_Snaplock |
+fg_oss_1723056019 | | Compliance |
+fg_oss_1723056019__0001 | PHARMAX_HQ_02_SSD_1 | Compliance |
+
+
Table 179 - Volume Snaplock Type - PHARMAX-HQ
+Snaplock Volume Attributes
+
+Volume | FlexGoupVol |
+Aggregate | |
+Snaplock Type | Enterprise |
+Maximum Retention Period | 30 years |
+Minimum Retention Period | 0 years |
+Privileged Delete State | - |
+Volume Expiry Time | none |
+Volume Expiry Time Secs | 0 |
+Auto Commit Period | none |
+Default Retention Period | 0 years |
+Litigation Count | 0 |
+
+
Table 180 - Snaplock Volume Attributes - FlexGoupVol
+
+
+Volume | FlexGoupVol__0001 |
+Aggregate | PHARMAX_HQ_01_SSD_1 |
+Snaplock Type | Enterprise |
+Maximum Retention Period | 30 years |
+Minimum Retention Period | 0 years |
+Privileged Delete State | - |
+Volume Expiry Time | none |
+Volume Expiry Time Secs | 0 |
+Auto Commit Period | none |
+Default Retention Period | 0 years |
+Litigation Count | 0 |
+
+
Table 181 - Snaplock Volume Attributes - FlexGoupVol__0001
+
-Volume | SNAPLOCK_CP |
+Volume | FlexGoupVol__0002 |
Aggregate | PHARMAX_HQ_02_SSD_1 |
+Snaplock Type | Enterprise |
+Maximum Retention Period | 30 years |
+Minimum Retention Period | 0 years |
+Privileged Delete State | - |
+Volume Expiry Time | none |
+Volume Expiry Time Secs | 0 |
+Auto Commit Period | none |
+Default Retention Period | 0 years |
+Litigation Count | 0 |
+
+
Table 182 - Snaplock Volume Attributes - FlexGoupVol__0002
+
+
+Volume | fg_oss_1723056019 |
+Aggregate | |
Snaplock Type | Compliance |
Maximum Retention Period | 30 years |
Minimum Retention Period | 0 years |
@@ -2059,98 +1978,134 @@
Default Retention Period | min |
Litigation Count | 0 |
-
+Table 183 - Snaplock Volume Attributes - fg_oss_1723056019
-Volume | SNAPLOCK_ENT |
+Volume | fg_oss_1723056019__0001 |
Aggregate | PHARMAX_HQ_02_SSD_1 |
-Snaplock Type | Enterprise |
+Snaplock Type | Compliance |
Maximum Retention Period | 30 years |
Minimum Retention Period | 0 years |
-Privileged Delete State | - |
+Privileged Delete State | permanently-disabled |
Volume Expiry Time | none |
Volume Expiry Time Secs | 0 |
Auto Commit Period | none |
Default Retention Period | min |
Litigation Count | 0 |
-
-1.10 System Configuration Summary
The following section provides the Cluster System Configuration on ZENPR-HQ.
1.10.1 System Image Configuration
The following section provides the System Image Configuration on ZENPR-HQ.
+Table 184 - Snaplock Volume Attributes - fg_oss_1723056019__0001
+1.10 System Configuration Information
The following section provides the Cluster System Configuration on PHARMAX-HQ.
1.10.1 System Image Configuration
Node | Location | Is Current | Is Default | Install Time | Version |
-ZENPR-HQ-01 | image1 | No | No | 10/11/2021 19:42:54 | 9.9.1P3 |
-ZENPR-HQ-01 | image2 | Yes | Yes | 11/05/2021 15:30:12 | 9.10.1RC1 |
-ZENPR-HQ-02 | image1 | No | No | 10/11/2021 19:42:04 | 9.9.1P3 |
-ZENPR-HQ-02 | image2 | Yes | Yes | 11/05/2021 15:29:16 | 9.10.1RC1 |
+PHARMAX-HQ-01 | image1 | No | No | | 9.11.1 |
+PHARMAX-HQ-01 | image2 | Yes | Yes | 08/05/2024 10:18:04 | 9.15.1 |
+PHARMAX-HQ-02 | image1 | No | No | | 9.11.1 |
+PHARMAX-HQ-02 | image2 | Yes | Yes | 08/05/2024 10:19:58 | 9.15.1 |
-
Table 131 - System Image information - ZENPR-HQ
-1.10.2 System Web Service
The following section provides the System Web Service Status on ZENPR-HQ.
+Table 185 - System Image - PHARMAX-HQ
+1.10.2 System Web Service
Node | Http Enabled | Http Port | Https Port | External | Status | Status Code |
-ZENPR-HQ-01 | No | 80 | 443 | Yes | Online | 200 |
-ZENPR-HQ-02 | No | 80 | 443 | Yes | Online | 200 |
+PHARMAX-HQ-01 | No | 80 | 443 | Yes | Online | 200 |
+PHARMAX-HQ-02 | No | 80 | 443 | Yes | Online | 200 |
-
Table 132 - System Web Service information - ZENPR-HQ
-1.10.3 DNS Configuration
The following section provides the DNS Configuration on ZENPR-HQ.
+Table 186 - System Web Service - PHARMAX-HQ
+1.10.3 DNS Configuration
Vserver | Dns State | Domains | Name Servers | Timeout/s |
-NAS | Enabled | zenpr.local | 192.168.5.1 | 2 |
-NFS | Enabled | zenpr.local | 192.168.5.1 | 2 |
-ZENPR-HQ | Enabled | zenpr.local | 192.168.5.1 | 2 |
+CIFS | Enabled | pharmax.local | 192.168.5.1 | 2 |
+PHARMAX-HQ | Enabled | pharmax.local | 192.168.5.1 | 2 |
-
Table 133 - System DNS Configuration Information - ZENPR-HQ
-1.10.4 Configuration Backup Setting
The following section provides the Configuration Backup Setting on ZENPR-HQ.
-Cluster IP | Url | Username |
-192.168.7.60 | ftp://192.168.5.2/ontap/backups | god |
+Table 187 - System DNS Configuration - PHARMAX-HQ
+1.10.4 Configuration Backup Setting
+Url | Username |
+Not Configured | Not Configured |
-
Table 134 - System Configuration Backup Setting Information - ZENPR-HQ
-1.10.4.1 ZENPR-HQ-01 Configuration Backup Items
The following section provides the Configuration Backup Items on ZENPR-HQ.
+Table 188 - System Configuration Backup Setting - PHARMAX-HQ
+1.10.4.1 PHARMAX-HQ-01 Configuration
Backup Name | Created | Size | Schedule | Is Auto |
-ZENPR-HQ.weekly.2021-11-11.16_06_23.7z | 11/11/2021 | 60 MB | weekly | Yes |
-ZENPR-HQ.weekly.2021-11-21.15_27_27.7z | 11/21/2021 | 60 MB | weekly | Yes |
-ZENPR-HQ.daily.2021-11-22.07_54_31.7z | 11/22/2021 | 61 MB | daily | Yes |
-ZENPR-HQ.8hour.2021-11-24.11_36_32.7z | 11/24/2021 | 32 MB | 8hour | Yes |
-ZENPR-HQ.daily.2021-11-24.11_36_32.7z | 11/24/2021 | 61 MB | daily | Yes |
-ZENPR-HQ.8hour.2021-11-24.18_15_03.7z | 11/24/2021 | 58 MB | 8hour | Yes |
-
-
Table 135 - System Configuration Backups Information - ZENPR-HQ-01
-1.10.4.2 ZENPR-HQ-02 Configuration Backup Items
The following section provides the Configuration Backup Items on ZENPR-HQ.
+PHARMAX-HQ.daily.2024-08-08.15_10_11.7z | 8/8/2024 | 23 MB | daily | Yes |
+PHARMAX-HQ.daily.2024-08-09.01_09_14.7z | 8/8/2024 | 24 MB | daily | Yes |
+PHARMAX-HQ.8hour.2024-08-09.02_15_00.7z | 8/8/2024 | 23 MB | 8hour | Yes |
+PHARMAX-HQ.8hour.2024-08-09.12_48_41.7z | 8/9/2024 | 23 MB | 8hour | Yes |
+PHARMAX-HQ.8hour.2024-08-09.18_15_00.7z | 8/9/2024 | 24 MB | 8hour | Yes |
+
+
Table 189 - System Configuration Backups - PHARMAX-HQ-01
+1.10.4.2 PHARMAX-HQ-02 Configuration
Backup Name | Created | Size | Schedule | Is Auto |
-ZENPR-HQ.weekly.2021-11-05.15_02_32.7z | 11/5/2021 | 57 MB | weekly | Yes |
-ZENPR-HQ.weekly.2021-11-11.16_06_23.7z | 11/11/2021 | 60 MB | weekly | Yes |
-ZENPR-HQ.daily.2021-11-21.15_27_27.7z | 11/21/2021 | 60 MB | daily | Yes |
-ZENPR-HQ.weekly.2021-11-21.15_27_27.7z | 11/21/2021 | 60 MB | weekly | Yes |
-ZENPR-HQ.daily.2021-11-22.07_54_31.7z | 11/22/2021 | 61 MB | daily | Yes |
-ZENPR-HQ.8hour.2021-11-22.10_15_00.7z | 11/22/2021 | 59 MB | 8hour | Yes |
-ZENPR-HQ.8hour.2021-11-22.18_15_00.7z | 11/22/2021 | 59 MB | 8hour | Yes |
-ZENPR-HQ.daily.2021-11-24.11_36_32.7z | 11/24/2021 | 61 MB | daily | Yes |
-ZENPR-HQ.8hour.2021-11-24.18_15_03.7z | 11/24/2021 | 58 MB | 8hour | Yes |
-
-
Table 136 - System Configuration Backups Information - ZENPR-HQ-02
-1.10.5 EMS Configuration
The following section provides the EMS Configuration on ZENPR-HQ.
+PHARMAX-HQ.daily.2024-08-07.12_06_41.7z | 8/7/2024 | 19 MB | daily | Yes |
+PHARMAX-HQ.daily.2024-08-08.15_10_11.7z | 8/8/2024 | 23 MB | daily | Yes |
+PHARMAX-HQ.daily.2024-08-09.01_09_14.7z | 8/8/2024 | 24 MB | daily | Yes |
+PHARMAX-HQ.8hour.2024-08-09.12_48_41.7z | 8/9/2024 | 23 MB | 8hour | Yes |
+PHARMAX-HQ.8hour.2024-08-09.18_15_00.7z | 8/9/2024 | 24 MB | 8hour | Yes |
+
+
Table 190 - System Configuration Backups - PHARMAX-HQ-02
+1.10.5 EMS Configuration
The following section provides the EMS Configuration on PHARMAX-HQ.
Name | Email Destinations | Snmp Traphost | Snmp Community | Syslog | Syslog Facility |
allevents | - | - | - | - | - |
asup | - | - | - | - | - |
-criticals | jcolonf@zenprsolutions.com | - | Private | 192.168.5.10 | default |
+criticals | - | - | - | - | - |
pager | - | - | - | - | - |
-traphost | - | 192.168.5.2 | Private | - | - |
+traphost | - | - | - | - | - |
-
Table 137 - System EMS Configuration Setting Information - ZENPR-HQ
-1.10.6 System Timezone Configuration
The following section provides the System Timezone Configuration on ZENPR-HQ.
+Table 191 - System EMS Configuration Setting - PHARMAX-HQ
+1.10.5.1 Audit Settings
The following section provides information about Audit Setting from PHARMAX-HQ.
+
+Enable HTTP Get request | No |
+Enable ONTAPI Get request | No |
+Enable CLI Get request | No |
+
+
Table 192 - Audit Settings - PHARMAX-HQ
+1.10.5.2 PHARMAX-HQ-01 Emergency and Alert Messages
+TimeDT | Severity | Event |
+08/08/2024 21:08:00 | emergency | monitor.globalStatus.critical: Controller failover of PHARMAX-HQ-02 is not possible: unsynchronized log. |
+08/08/2024 17:10:53 | alert | perf.ccma.off: Performance archiver is not enabled for datastore ''. |
+08/08/2024 21:08:33 | alert | flexcache.conf.refreshFailed: Failed to refresh FlexCache configuration for peer vserver UUID 825e4ae5-54f1-11ef-a3d3-005056b0afeb and peer volume MSID 2150419284. isPeerOrigin : 1. |
+08/08/2024 21:08:43 | emergency | flexcache.originDisconnected: FlexCache volume with Name FlexGroup__0005 MSID 2150140157 on Vserver Name CIFS UUID 3509ce63-54c4-11ef-9165-005056b04618 is disconnected from its origin volume with Vserver UUID 825e4ae5-54f1-11ef-a3d3-005056b0afeb and MSID 2150419284. |
+08/08/2024 21:08:43 | emergency | flexcache.originDisconnected: FlexCache volume with Name FlexGroup__0006 MSID 2150140158 on Vserver Name CIFS UUID 3509ce63-54c4-11ef-9165-005056b04618 is disconnected from its origin volume with Vserver UUID 825e4ae5-54f1-11ef-a3d3-005056b0afeb and MSID 2150419284. |
+08/08/2024 16:41:07 | emergency | secd.ldap.noServers: None of the LDAP servers configured for Vserver (CIFS) are currently accessible via the network for LDAP service type (Service: LDAP (Active Directory), Operation: SiteDiscovery). |
+08/08/2024 11:09:18 | emergency | flexcache.originDisconnected: FlexCache volume with Name FlexGroup__0006 MSID 2150140158 on Vserver Name CIFS UUID 3509ce63-54c4-11ef-9165-005056b04618 is disconnected from its origin volume with Vserver UUID 825e4ae5-54f1-11ef-a3d3-005056b0afeb and MSID 2150419284. |
+08/08/2024 11:09:08 | alert | flexcache.conf.refreshFailed: Failed to refresh FlexCache configuration for peer vserver UUID 825e4ae5-54f1-11ef-a3d3-005056b0afeb and peer volume MSID 2150419284. isPeerOrigin : 1. |
+08/08/2024 11:09:18 | emergency | flexcache.originDisconnected: FlexCache volume with Name FlexGroup__0003 MSID 2150140155 on Vserver Name CIFS UUID 3509ce63-54c4-11ef-9165-005056b04618 is disconnected from its origin volume with Vserver UUID 825e4ae5-54f1-11ef-a3d3-005056b0afeb and MSID 2150419284. |
+08/08/2024 12:43:26 | emergency | secd.ldap.noServers: None of the LDAP servers configured for Vserver (CIFS) are currently accessible via the network for LDAP service type (Service: LDAP (Active Directory), Operation: SiteDiscovery). |
+08/08/2024 11:09:18 | emergency | flexcache.originDisconnected: FlexCache volume with Name FlexGroup__0005 MSID 2150140157 on Vserver Name CIFS UUID 3509ce63-54c4-11ef-9165-005056b04618 is disconnected from its origin volume with Vserver UUID 825e4ae5-54f1-11ef-a3d3-005056b0afeb and MSID 2150419284. |
+08/09/2024 08:48:14 | emergency | flexcache.originDisconnected: FlexCache volume with Name FlexGroup__0006 MSID 2150140158 on Vserver Name CIFS UUID 3509ce63-54c4-11ef-9165-005056b04618 is disconnected from its origin volume with Vserver UUID 825e4ae5-54f1-11ef-a3d3-005056b0afeb and MSID 2150419284. |
+08/09/2024 08:48:14 | emergency | flexcache.originDisconnected: FlexCache volume with Name FlexGroup__0003 MSID 2150140155 on Vserver Name CIFS UUID 3509ce63-54c4-11ef-9165-005056b04618 is disconnected from its origin volume with Vserver UUID 825e4ae5-54f1-11ef-a3d3-005056b0afeb and MSID 2150419284. |
+08/09/2024 08:48:14 | emergency | flexcache.originDisconnected: FlexCache volume with Name FlexGroup__0005 MSID 2150140157 on Vserver Name CIFS UUID 3509ce63-54c4-11ef-9165-005056b04618 is disconnected from its origin volume with Vserver UUID 825e4ae5-54f1-11ef-a3d3-005056b0afeb and MSID 2150419284. |
+08/09/2024 12:33:04 | emergency | secd.ldap.noServers: None of the LDAP servers configured for Vserver (CIFS) are currently accessible via the network for LDAP service type (Service: LDAP (Active Directory), Operation: SiteDiscovery). |
+08/09/2024 12:16:36 | alert | security.invalid.login: Failed to authenticate login attempt to Vserver: PHARMAX-HQ, username: admi, application: http. |
+08/09/2024 08:48:04 | alert | flexcache.conf.refreshFailed: Failed to refresh FlexCache configuration for peer vserver UUID 825e4ae5-54f1-11ef-a3d3-005056b0afeb and peer volume MSID 2150419284. isPeerOrigin : 1. |
+08/08/2024 22:03:29 | emergency | secd.ldap.noServers: None of the LDAP servers configured for Vserver (CIFS) are currently accessible via the network for LDAP service type (Service: LDAP (Active Directory), Operation: SiteDiscovery). |
+08/08/2024 21:08:43 | emergency | flexcache.originDisconnected: FlexCache volume with Name FlexGroup__0003 MSID 2150140155 on Vserver Name CIFS UUID 3509ce63-54c4-11ef-9165-005056b04618 is disconnected from its origin volume with Vserver UUID 825e4ae5-54f1-11ef-a3d3-005056b0afeb and MSID 2150419284. |
+08/08/2024 22:23:06 | alert | perf.ccma.off: Performance archiver is not enabled for datastore ''. |
+08/09/2024 08:47:39 | alert | vifmgr.cluscheck.droppedall: Total packet loss when pinging from cluster lif PHARMAX-HQ-01_clus2 (node PHARMAX-HQ-01) to cluster lif PHARMAX-HQ-02_clus2 (node PHARMAX-HQ-02). |
+08/09/2024 08:47:00 | emergency | monitor.globalStatus.critical: Controller failover of PHARMAX-HQ-02 is not possible: unsynchronized log. |
+
+
Table 193 - HealtCheck - System EMS Messages - PHARMAX-HQ-01
+1.10.5.3 PHARMAX-HQ-02 Emergency and Alert Messages
+TimeDT | Severity | Event |
+08/08/2024 17:10:54 | alert | perf.ccma.off: Performance archiver is not enabled for datastore ''. |
+08/08/2024 16:46:14 | emergency | secd.ldap.noServers: None of the LDAP servers configured for Vserver (CIFS) are currently accessible via the network for LDAP service type (Service: LDAP (Active Directory), Operation: SiteDiscovery). |
+08/08/2024 17:11:18 | alert | flexcache.conf.refreshFailed: Failed to refresh FlexCache configuration for peer vserver UUID 825e4ae5-54f1-11ef-a3d3-005056b0afeb and peer volume MSID 2150419284. isPeerOrigin : 1. |
+08/08/2024 17:11:02 | emergency | monitor.globalStatus.critical: Controller failover of PHARMAX-HQ-01 is not possible: local halt in progress. |
+08/08/2024 12:43:28 | emergency | secd.ldap.noServers: None of the LDAP servers configured for Vserver (CIFS) are currently accessible via the network for LDAP service type (Service: LDAP (Active Directory), Operation: SiteDiscovery). |
+08/08/2024 11:09:19 | emergency | flexcache.originDisconnected: FlexCache volume with Name FlexGroup__0004 MSID 2150140156 on Vserver Name CIFS UUID 3509ce63-54c4-11ef-9165-005056b04618 is disconnected from its origin volume with Vserver UUID 825e4ae5-54f1-11ef-a3d3-005056b0afeb and MSID 2150419284. |
+08/08/2024 11:09:09 | alert | flexcache.conf.refreshFailed: Failed to refresh FlexCache configuration for peer vserver UUID 825e4ae5-54f1-11ef-a3d3-005056b0afeb and peer volume MSID 2150419284. isPeerOrigin : 1. |
+08/08/2024 11:09:19 | emergency | flexcache.originDisconnected: FlexCache volume with Name FlexGroup__0002 MSID 2150140154 on Vserver Name CIFS UUID 3509ce63-54c4-11ef-9165-005056b04618 is disconnected from its origin volume with Vserver UUID 825e4ae5-54f1-11ef-a3d3-005056b0afeb and MSID 2150419284. |
+08/08/2024 11:09:19 | emergency | flexcache.originDisconnected: FlexCache volume with Name FlexGroup__0001 MSID 2150140153 on Vserver Name CIFS UUID 3509ce63-54c4-11ef-9165-005056b04618 is disconnected from its origin volume with Vserver UUID 825e4ae5-54f1-11ef-a3d3-005056b0afeb and MSID 2150419284. |
+08/08/2024 21:08:43 | emergency | flexcache.originDisconnected: FlexCache volume with Name FlexGroup__0001 MSID 2150140153 on Vserver Name CIFS UUID 3509ce63-54c4-11ef-9165-005056b04618 is disconnected from its origin volume with Vserver UUID 825e4ae5-54f1-11ef-a3d3-005056b0afeb and MSID 2150419284. |
+08/09/2024 08:48:15 | emergency | flexcache.originDisconnected: FlexCache volume with Name FlexGroup__0004 MSID 2150140156 on Vserver Name CIFS UUID 3509ce63-54c4-11ef-9165-005056b04618 is disconnected from its origin volume with Vserver UUID 825e4ae5-54f1-11ef-a3d3-005056b0afeb and MSID 2150419284. |
+08/09/2024 08:48:15 | emergency | flexcache.originDisconnected: FlexCache volume with Name FlexGroup__0001 MSID 2150140153 on Vserver Name CIFS UUID 3509ce63-54c4-11ef-9165-005056b04618 is disconnected from its origin volume with Vserver UUID 825e4ae5-54f1-11ef-a3d3-005056b0afeb and MSID 2150419284. |
+08/09/2024 12:33:10 | emergency | secd.ldap.noServers: None of the LDAP servers configured for Vserver (CIFS) are currently accessible via the network for LDAP service type (Service: LDAP (Active Directory), Operation: SiteDiscovery). |
+08/09/2024 08:48:15 | emergency | flexcache.originDisconnected: FlexCache volume with Name FlexGroup__0002 MSID 2150140154 on Vserver Name CIFS UUID 3509ce63-54c4-11ef-9165-005056b04618 is disconnected from its origin volume with Vserver UUID 825e4ae5-54f1-11ef-a3d3-005056b0afeb and MSID 2150419284. |
+08/08/2024 22:23:29 | alert | flexcache.conf.refreshFailed: Failed to refresh FlexCache configuration for peer vserver UUID 825e4ae5-54f1-11ef-a3d3-005056b0afeb and peer volume MSID 2150419284. isPeerOrigin : 1. |
+08/08/2024 21:08:43 | emergency | flexcache.originDisconnected: FlexCache volume with Name FlexGroup__0004 MSID 2150140156 on Vserver Name CIFS UUID 3509ce63-54c4-11ef-9165-005056b04618 is disconnected from its origin volume with Vserver UUID 825e4ae5-54f1-11ef-a3d3-005056b0afeb and MSID 2150419284. |
+08/08/2024 21:08:43 | emergency | flexcache.originDisconnected: FlexCache volume with Name FlexGroup__0002 MSID 2150140154 on Vserver Name CIFS UUID 3509ce63-54c4-11ef-9165-005056b04618 is disconnected from its origin volume with Vserver UUID 825e4ae5-54f1-11ef-a3d3-005056b0afeb and MSID 2150419284. |
+08/08/2024 22:23:07 | alert | perf.ccma.off: Performance archiver is not enabled for datastore ''. |
+08/08/2024 22:03:29 | emergency | secd.ldap.noServers: None of the LDAP servers configured for Vserver (CIFS) are currently accessible via the network for LDAP service type (Service: LDAP (Active Directory), Operation: SiteDiscovery). |
+
+
Table 194 - HealtCheck - System EMS Messages - PHARMAX-HQ-02
+1.10.6 System Timezone Configuration
The following section provides the System Timezone Configuration on PHARMAX-HQ.
Timezone | Timezone UTC | Timezone Version | Current Time |
-America/Puerto_Rico | -0400 | 2021a | 11/24/2021 19:58:19 |
-
-
Table 138 - System TimeZone Information - ZENPR-HQ
-1.10.6.1 Network Time Protocol Configuration
The following section provides the Network Time Protocol Configuration on ZENPR-HQ.
-Server Name | NTP Version | Preferred | Authentication Enabled |
-192.168.5.1 | Auto | No | No |
-pool.ntp.org | Auto | No | No |
-
-
Table 139 - System Network Time Protocol Information - ZENPR-HQ
-1.10.6.1.1 Network Time Protocol Node Status Information
The following section provides the Network Time Protocol Node Status on ZENPR-HQ.
-Node | Time Offset | Selection State | Server | Peer Status |
-ZENPR-HQ-01 | -198.37 | Candidate Server | 192.168.5.1 | Reachable |
-ZENPR-HQ-01 | | | pool.ntp.org | |
-ZENPR-HQ-02 | -116.064 | Server Not Responding or Too Distant | 192.168.5.1 | Reachable |
-ZENPR-HQ-02 | | | pool.ntp.org | |
-
-
Table 140 - System NTP Host Status Information - ZENPR-HQ
+Etc/UTC | +0000 | 2023c | 08/09/2024 15:51:26 |
+
+
Table 195 - System TimeZone - PHARMAX-HQ
diff --git a/Src/Private/Get-AbrOntapCluster.ps1 b/Src/Private/Get-AbrOntapCluster.ps1
index b2a11c8..1847166 100755
--- a/Src/Private/Get-AbrOntapCluster.ps1
+++ b/Src/Private/Get-AbrOntapCluster.ps1
@@ -5,7 +5,7 @@ function Get-AbrOntapCluster {
.DESCRIPTION
.NOTES
- Version: 0.6.3
+ Version: 0.6.7
Author: Jonathan Colon
Twitter: @jcolonfzenpr
Github: rebelinux
@@ -19,7 +19,7 @@ function Get-AbrOntapCluster {
)
begin {
- Write-PscriboMessage "Collecting ONTAP cluster information."
+ Write-PScriboMessage "Collecting ONTAP cluster information."
}
process {
@@ -57,9 +57,8 @@ function Get-AbrOntapCluster {
}
$ClusterSummary | Table @TableParams
}
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
diff --git a/Src/Private/Get-AbrOntapClusterASUP.ps1 b/Src/Private/Get-AbrOntapClusterASUP.ps1
index f72d0aa..b7845a0 100755
--- a/Src/Private/Get-AbrOntapClusterASUP.ps1
+++ b/Src/Private/Get-AbrOntapClusterASUP.ps1
@@ -5,7 +5,7 @@ function Get-AbrOntapClusterASUP {
.DESCRIPTION
.NOTES
- Version: 0.6.3
+ Version: 0.6.7
Author: Jonathan Colon
Twitter: @jcolonfzenpr
Github: rebelinux
@@ -19,7 +19,7 @@ function Get-AbrOntapClusterASUP {
)
begin {
- Write-PscriboMessage "Collecting ONTAP AutoSupport information."
+ Write-PScriboMessage "Collecting ONTAP AutoSupport information."
}
process {
@@ -51,15 +51,13 @@ function Get-AbrOntapClusterASUP {
$TableParams['Caption'] = "- $($TableParams.Name)"
}
$Outobj | Table @TableParams
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
}
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
diff --git a/Src/Private/Get-AbrOntapClusterHA.ps1 b/Src/Private/Get-AbrOntapClusterHA.ps1
index 2445cef..c89b1d7 100755
--- a/Src/Private/Get-AbrOntapClusterHA.ps1
+++ b/Src/Private/Get-AbrOntapClusterHA.ps1
@@ -5,7 +5,7 @@ function Get-AbrOntapClusterHA {
.DESCRIPTION
.NOTES
- Version: 0.6.6
+ Version: 0.6.7
Author: Jonathan Colon
Twitter: @jcolonfzenpr
Github: rebelinux
@@ -19,7 +19,7 @@ function Get-AbrOntapClusterHA {
)
begin {
- Write-PscriboMessage "Collecting ONTAP cluster high availability information."
+ Write-PScriboMessage "Collecting ONTAP cluster high availability information."
}
process {
@@ -32,22 +32,21 @@ function Get-AbrOntapClusterHA {
[PSCustomObject] @{
'Name' = $Nodes.Node
'Partner' = Switch ([string]::IsNullOrEmpty($ClusterHa.Partner)) {
- 'True' {'-'}
- 'False' {$ClusterHa.Partner}
- default {'Unknwon'}
+ 'True' { '-' }
+ 'False' { $ClusterHa.Partner }
+ default { 'Unknwon' }
}
'TakeOver Possible' = ConvertTo-TextYN $ClusterHa.TakeoverPossible
'TakeOver State' = Switch ([string]::IsNullOrEmpty($ClusterHa.TakeoverState)) {
- 'True' {'-'}
- 'False' {$ClusterHa.TakeoverState}
- default {'Unknwon'}
+ 'True' { '-' }
+ 'False' { $ClusterHa.TakeoverState }
+ default { 'Unknwon' }
}
'HA Mode' = $ClusterHa.CurrentMode.ToUpper()
'HA State' = $ClusterHa.State.ToUpper()
}
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
if ($Healthcheck.Cluster.HA) {
@@ -65,9 +64,8 @@ function Get-AbrOntapClusterHA {
}
$NodeSummary | Table @TableParams
}
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
diff --git a/Src/Private/Get-AbrOntapClusterLicense.ps1 b/Src/Private/Get-AbrOntapClusterLicense.ps1
index 57e4bfa..c554d2c 100755
--- a/Src/Private/Get-AbrOntapClusterLicense.ps1
+++ b/Src/Private/Get-AbrOntapClusterLicense.ps1
@@ -5,7 +5,7 @@ function Get-AbrOntapClusterLicense {
.DESCRIPTION
.NOTES
- Version: 0.6.3
+ Version: 0.6.7
Author: Jonathan Colon
Twitter: @jcolonfzenpr
Github: rebelinux
@@ -19,7 +19,7 @@ function Get-AbrOntapClusterLicense {
)
begin {
- Write-PscriboMessage "Collecting ONTAP cluster license information."
+ Write-PScriboMessage "Collecting ONTAP cluster license information."
}
process {
@@ -31,7 +31,7 @@ function Get-AbrOntapClusterLicense {
$License = Get-NcLicense -Owner $Node -Controller $Array
if ($License) {
$LicenseSummary = foreach ($Licenses in $License) {
- $EntitlementRisk = Try {Get-NcLicenseEntitlementRisk -Package $Licenses.Package -Controller $Array -ErrorAction SilentlyContinue} catch {Write-PscriboMessage -IsWarning $_.Exception.Message}
+ $EntitlementRisk = Try { Get-NcLicenseEntitlementRisk -Package $Licenses.Package -Controller $Array -ErrorAction SilentlyContinue } catch { Write-PScriboMessage -IsWarning $_.Exception.Message }
[PSCustomObject] @{
'License' = $TextInfo.ToTitleCase($Licenses.Package)
'Type' = $TextInfo.ToTitleCase($Licenses.Type)
@@ -54,14 +54,12 @@ function Get-AbrOntapClusterLicense {
$LicenseSummary | Table @TableParams
}
}
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
diff --git a/Src/Private/Get-AbrOntapClusterLicenseUsage.ps1 b/Src/Private/Get-AbrOntapClusterLicenseUsage.ps1
index 2e22a30..4c14837 100755
--- a/Src/Private/Get-AbrOntapClusterLicenseUsage.ps1
+++ b/Src/Private/Get-AbrOntapClusterLicenseUsage.ps1
@@ -5,7 +5,7 @@ function Get-AbrOntapClusterLicenseUsage {
.DESCRIPTION
.NOTES
- Version: 0.6.3
+ Version: 0.6.7
Author: Jonathan Colon
Twitter: @jcolonfzenpr
Github: rebelinux
@@ -19,12 +19,12 @@ function Get-AbrOntapClusterLicenseUsage {
)
begin {
- Write-PscriboMessage "Collecting ONTAP cluster license usage information."
+ Write-PScriboMessage "Collecting ONTAP cluster license usage information."
}
process {
try {
- $LicenseFeature = Get-NcFeatureStatus -Controller $Array
+ $LicenseFeature = Get-NcFeatureStatus -Controller $Array
if ($LicenseFeature) {
$LicenseFeature = foreach ($NodeLFs in $LicenseFeature) {
[PSCustomObject] @{
@@ -46,9 +46,8 @@ function Get-AbrOntapClusterLicenseUsage {
}
$LicenseFeature | Table @TableParams
}
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
diff --git a/Src/Private/Get-AbrOntapDiskAssign.ps1 b/Src/Private/Get-AbrOntapDiskAssign.ps1
index b1c9f92..d4fe896 100755
--- a/Src/Private/Get-AbrOntapDiskAssign.ps1
+++ b/Src/Private/Get-AbrOntapDiskAssign.ps1
@@ -5,7 +5,7 @@ function Get-AbrOntapDiskAssign {
.DESCRIPTION
.NOTES
- Version: 0.6.3
+ Version: 0.6.7
Author: Jonathan Colon
Twitter: @jcolonfzenpr
Github: rebelinux
@@ -19,18 +19,18 @@ function Get-AbrOntapDiskAssign {
)
begin {
- Write-PscriboMessage "Collecting ONTAP disk assignment per node information."
+ Write-PScriboMessage "Collecting ONTAP disk assignment per node information."
}
process {
try {
- $NodeDiskCount = get-ncdisk -Controller $Array | ForEach-Object{ $_.DiskOwnershipInfo.HomeNodeName } | Group-Object
+ $NodeDiskCount = Get-NcDisk -Controller $Array | ForEach-Object { $_.DiskOwnershipInfo.HomeNodeName } | Group-Object
if ($NodeDiskCount) {
$DiskSummary = foreach ($Disks in $NodeDiskCount) {
[PSCustomObject] @{
'Node' = $Disks.Name
'Disk Count' = $Disks | Select-Object -ExpandProperty Count
- }
+ }
}
$TableParams = @{
Name = "Assigned Disk - $($ClusterInfo.ClusterName)"
@@ -42,9 +42,8 @@ function Get-AbrOntapDiskAssign {
}
$DiskSummary | Table @TableParams
}
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
diff --git a/Src/Private/Get-AbrOntapDiskBroken.ps1 b/Src/Private/Get-AbrOntapDiskBroken.ps1
index 03ab1be..281b0f1 100755
--- a/Src/Private/Get-AbrOntapDiskBroken.ps1
+++ b/Src/Private/Get-AbrOntapDiskBroken.ps1
@@ -5,7 +5,7 @@ function Get-AbrOntapDiskBroken {
.DESCRIPTION
.NOTES
- Version: 0.6.3
+ Version: 0.6.7
Author: Jonathan Colon
Twitter: @jcolonfzenpr
Github: rebelinux
@@ -19,25 +19,25 @@ function Get-AbrOntapDiskBroken {
)
begin {
- Write-PscriboMessage "Collecting ONTAP failed disk per node information."
+ Write-PScriboMessage "Collecting ONTAP failed disk per node information."
}
process {
try {
- $NodeDiskBroken = Get-NcDisk -Controller $Array | Where-Object{ $_.DiskRaidInfo.ContainerType -eq "broken" }
+ $NodeDiskBroken = Get-NcDisk -Controller $Array | Where-Object { $_.DiskRaidInfo.ContainerType -eq "broken" }
if ($NodeDiskBroken) {
$DiskFailed = foreach ($DiskBroken in $NodeDiskBroken) {
- [PSCustomObject] @{
- 'Disk Name' = $DiskBroken.Name
- 'Shelf' = $DiskBroken.Shelf
- 'Bay' = $DiskBroken.Bay
- 'Pool' = $DiskBroken.Pool
- 'Disk Paths' = $DiskBroken.DiskPaths
- }
- }
- if ($Healthcheck.Storage.DiskStatus) {
- $DiskFailed | Set-Style -Style Critical -Property 'Disk Name','Shelf','Bay','Pool','Disk Paths'
- }
+ [PSCustomObject] @{
+ 'Disk Name' = $DiskBroken.Name
+ 'Shelf' = $DiskBroken.Shelf
+ 'Bay' = $DiskBroken.Bay
+ 'Pool' = $DiskBroken.Pool
+ 'Disk Paths' = $DiskBroken.DiskPaths
+ }
+ }
+ if ($Healthcheck.Storage.DiskStatus) {
+ $DiskFailed | Set-Style -Style Critical -Property 'Disk Name', 'Shelf', 'Bay', 'Pool', 'Disk Paths'
+ }
$TableParams = @{
Name = "Failed Disk - $($ClusterInfo.ClusterName)"
List = $false
@@ -48,9 +48,8 @@ function Get-AbrOntapDiskBroken {
}
$DiskFailed | Table @TableParams
}
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
diff --git a/Src/Private/Get-AbrOntapDiskInv.ps1 b/Src/Private/Get-AbrOntapDiskInv.ps1
index b3ffef8..3653e48 100755
--- a/Src/Private/Get-AbrOntapDiskInv.ps1
+++ b/Src/Private/Get-AbrOntapDiskInv.ps1
@@ -5,7 +5,7 @@ function Get-AbrOntapDiskInv {
.DESCRIPTION
.NOTES
- Version: 0.6.3
+ Version: 0.6.7
Author: Jonathan Colon
Twitter: @jcolonfzenpr
Github: rebelinux
@@ -19,24 +19,23 @@ function Get-AbrOntapDiskInv {
)
begin {
- Write-PscriboMessage "Collecting ONTAP disk inventory per node."
+ Write-PScriboMessage "Collecting ONTAP disk inventory per node."
}
process {
try {
$DiskInv = Get-NcDisk -Controller $Array
- $NodeDiskBroken = Get-NcDisk -Controller $Array | Where-Object{ $_.DiskRaidInfo.ContainerType -eq "broken" }
+ $NodeDiskBroken = Get-NcDisk -Controller $Array | Where-Object { $_.DiskRaidInfo.ContainerType -eq "broken" }
if ($DiskInv) {
$DiskInventory = foreach ($Disks in $DiskInv) {
try {
- $DiskType = Get-NcDisk -Controller $Array -Name $Disks.Name | ForEach-Object{ $_.DiskInventoryInfo }
+ $DiskType = Get-NcDisk -Controller $Array -Name $Disks.Name | ForEach-Object { $_.DiskInventoryInfo }
$DiskFailed = $NodeDiskBroken | Where-Object { $_.'Name' -eq $Disks.Name }
if ($DiskFailed.Name -eq $Disks.Name ) {
$Disk = " $($DiskFailed.Name)(*)"
- }
- else {
- $Disk = $Disks.Name
- }
+ } else {
+ $Disk = $Disks.Name
+ }
[PSCustomObject] @{
'Disk Name' = $Disk
'Shelf' = $Disks.Shelf
@@ -46,9 +45,8 @@ function Get-AbrOntapDiskInv {
'Serial Number' = $DiskType.SerialNumber
'Type' = $DiskType.DiskType
}
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
if ($Healthcheck.Storage.DiskStatus) {
@@ -64,9 +62,8 @@ function Get-AbrOntapDiskInv {
}
$DiskInventory | Table @TableParams
}
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
diff --git a/Src/Private/Get-AbrOntapDiskOwner.ps1 b/Src/Private/Get-AbrOntapDiskOwner.ps1
index 191d08a..2ca44a3 100755
--- a/Src/Private/Get-AbrOntapDiskOwner.ps1
+++ b/Src/Private/Get-AbrOntapDiskOwner.ps1
@@ -5,7 +5,7 @@ function Get-AbrOntapDiskOwner {
.DESCRIPTION
.NOTES
- Version: 0.6.3
+ Version: 0.6.7
Author: Jonathan Colon
Twitter: @jcolonfzenpr
Github: rebelinux
@@ -19,12 +19,12 @@ function Get-AbrOntapDiskOwner {
[Parameter (
Position = 0,
Mandatory)]
- [string]
- $Node
+ [string]
+ $Node
)
begin {
- Write-PscriboMessage "Collecting ONTAP disk owned per node information."
+ Write-PScriboMessage "Collecting ONTAP disk owned per node information."
}
process {
@@ -42,9 +42,8 @@ function Get-AbrOntapDiskOwner {
'Type' = $Disk.Type
}
}
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
$TableParams = @{
@@ -57,9 +56,8 @@ function Get-AbrOntapDiskOwner {
}
$DiskSummary | Table @TableParams
}
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
diff --git a/Src/Private/Get-AbrOntapDiskShelf.ps1 b/Src/Private/Get-AbrOntapDiskShelf.ps1
index 49b383a..2094d97 100755
--- a/Src/Private/Get-AbrOntapDiskShelf.ps1
+++ b/Src/Private/Get-AbrOntapDiskShelf.ps1
@@ -5,7 +5,7 @@ function Get-AbrOntapDiskShelf {
.DESCRIPTION
.NOTES
- Version: 0.6.3
+ Version: 0.6.7
Author: Jonathan Colon
Twitter: @jcolonfzenpr
Github: rebelinux
@@ -19,7 +19,7 @@ function Get-AbrOntapDiskShelf {
)
begin {
- Write-PscriboMessage "Collecting ONTAP disk shelf information."
+ Write-PScriboMessage "Collecting ONTAP disk shelf information."
}
process {
@@ -37,13 +37,12 @@ function Get-AbrOntapDiskShelf {
'Shelf ID' = $Nodeshelf.ShelfId
'State' = $Nodeshelf.ShelfState
'Type' = $Nodeshelf.ShelfType
- 'Firmware' = $Nodeshelf.FirmwareRevA+$Nodeshelf.FirmwareRevB
+ 'Firmware' = $Nodeshelf.FirmwareRevA + $Nodeshelf.FirmwareRevB
'Bay Count' = $Nodeshelf.ShelfBayCount
}
}
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
if ($Healthcheck.Storage.ShelfStatus) {
@@ -60,9 +59,8 @@ function Get-AbrOntapDiskShelf {
}
$ShelfInventory | Table @TableParams
}
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
diff --git a/Src/Private/Get-AbrOntapDiskType.ps1 b/Src/Private/Get-AbrOntapDiskType.ps1
index b8c16df..213b646 100755
--- a/Src/Private/Get-AbrOntapDiskType.ps1
+++ b/Src/Private/Get-AbrOntapDiskType.ps1
@@ -5,7 +5,7 @@ function Get-AbrOntapDiskType {
.DESCRIPTION
.NOTES
- Version: 0.6.3
+ Version: 0.6.7
Author: Jonathan Colon
Twitter: @jcolonfzenpr
Github: rebelinux
@@ -19,27 +19,26 @@ function Get-AbrOntapDiskType {
)
begin {
- Write-PscriboMessage "Collecting ONTAP disk type per node information."
+ Write-PScriboMessage "Collecting ONTAP disk type per node information."
}
process {
try {
- $NodeDiskContainerType = Get-NcDisk -Controller $Array | ForEach-Object{ $_.DiskRaidInfo.ContainerType } | Group-Object
+ $NodeDiskContainerType = Get-NcDisk -Controller $Array | ForEach-Object { $_.DiskRaidInfo.ContainerType } | Group-Object
if ($NodeDiskContainerType) {
$DiskType = foreach ($DiskContainers in $NodeDiskContainerType) {
try {
[PSCustomObject] @{
'Container' = $DiskContainers.Name
'Disk Count' = $DiskContainers | Select-Object -ExpandProperty Count
- }
}
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
- }
- }
- if ($Healthcheck.Storage.DiskStatus) {
- $DiskType | Where-Object { $_.'Container' -like 'broken' } | Set-Style -Style Critical -Property 'Disk Count'
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
+ }
+ if ($Healthcheck.Storage.DiskStatus) {
+ $DiskType | Where-Object { $_.'Container' -like 'broken' } | Set-Style -Style Critical -Property 'Disk Count'
+ }
$TableParams = @{
Name = "Disk Container Type - $($ClusterInfo.ClusterName)"
List = $false
@@ -50,23 +49,22 @@ function Get-AbrOntapDiskType {
}
$DiskType | Table @TableParams
}
- $Node = Get-NcNode | Where-Object {$_.IsNodeHealthy -eq "True"}
- if ($Node -and (Confirm-NcAggrSpareLow | Where-Object {$_.Value -eq "True"})) {
+ $Node = Get-NcNode | Where-Object { $_.IsNodeHealthy -eq "True" }
+ if ($Node -and (Confirm-NcAggrSpareLow | Where-Object { $_.Value -eq "True" })) {
$OutObj = foreach ($Item in $Node) {
try {
$DiskSpareLow = Confirm-NcAggrSpareLow -Node $Item.Node
[PSCustomObject] @{
'Node' = $Item.Node
- 'Aggregate Spare Low' = $DiskSpareLow.Value.ToString().Replace("True", "Yes").Replace("False","No")
- }
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ 'Aggregate Spare Low' = $DiskSpareLow.Value.ToString().Replace("True", "Yes").Replace("False", "No")
}
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
- if ($Healthcheck.Storage.DiskStatus) {
- $OutObj | Where-Object { $_.'Aggregate Spare Low' -like 'Yes' } | Set-Style -Style Critical -Property 'Node','Aggregate Spare Low'
- }
+ }
+ if ($Healthcheck.Storage.DiskStatus) {
+ $OutObj | Where-Object { $_.'Aggregate Spare Low' -like 'Yes' } | Set-Style -Style Critical -Property 'Node', 'Aggregate Spare Low'
+ }
$TableParams = @{
Name = "HealthCheck - Aggregate Disk Spare Low - $($ClusterInfo.ClusterName)"
List = $false
@@ -77,9 +75,8 @@ function Get-AbrOntapDiskType {
}
$OutObj | Table @TableParams
}
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
diff --git a/Src/Private/Get-AbrOntapEfficiencyAggr.ps1 b/Src/Private/Get-AbrOntapEfficiencyAggr.ps1
index 32842ba..b6d7e08 100755
--- a/Src/Private/Get-AbrOntapEfficiencyAggr.ps1
+++ b/Src/Private/Get-AbrOntapEfficiencyAggr.ps1
@@ -5,7 +5,7 @@ function Get-AbrOntapEfficiencyAggr {
.DESCRIPTION
.NOTES
- Version: 0.6.3
+ Version: 0.6.7
Author: Jonathan Colon
Twitter: @jcolonfzenpr
Github: rebelinux
@@ -19,12 +19,12 @@ function Get-AbrOntapEfficiencyAggr {
)
begin {
- Write-PscriboMessage "Collecting ONTAP Aggregate Efficiency Savings information."
+ Write-PScriboMessage "Collecting ONTAP Aggregate Efficiency Savings information."
}
process {
try {
- $Data = Get-NcAggr -Controller $Array | Where-Object {$_.AggrRaidAttributes.HasLocalRoot -ne 'True'}
+ $Data = Get-NcAggr -Controller $Array | Where-Object { $_.AggrRaidAttributes.HasLocalRoot -ne 'True' }
$OutObj = @()
if ($Data) {
foreach ($Item in $Data) {
@@ -39,9 +39,8 @@ function Get-AbrOntapEfficiencyAggr {
}
$OutObj += [pscustomobject]$inobj
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
@@ -56,15 +55,15 @@ function Get-AbrOntapEfficiencyAggr {
$OutObj | Table @TableParams
}
try {
- $Data = Get-NcAggr -Controller $Array | Where-Object {$_.AggrRaidAttributes.HasLocalRoot -ne 'True'}
+ $Data = Get-NcAggr -Controller $Array | Where-Object { $_.AggrRaidAttributes.HasLocalRoot -ne 'True' }
$Savingfilter = (Get-NcAggrEfficiency -Controller $Array | Select-Object -ExpandProperty AggrEfficiencyAdditionalDetailsInfo).NumberOfSisDisabledVolumes | Measure-Object -Sum
if ($Data -and $Savingfilter.Sum -gt 0 -and $Healthcheck.Storage.Efficiency) {
$OutObj = @()
foreach ($Item in $Data) {
try {
$Saving = (Get-NcAggrEfficiency -Aggregate $Item.Name -Controller $Array | Select-Object -ExpandProperty AggrEfficiencyAdditionalDetailsInfo).NumberOfSisDisabledVolumes
- $VolInAggr = Get-NcVol -Aggregate $Item.Name -Controller $Array | Where-Object {$_.VolumeStateAttributes.IsVserverRoot -ne 'True'}
- $VolFilter = $VolInAggr | Where-Object { $_.VolumeSisAttributes.IsSisStateEnabled -ne "True"}
+ $VolInAggr = Get-NcVol -Aggregate $Item.Name -Controller $Array | Where-Object { $_.VolumeStateAttributes.IsVserverRoot -ne 'True' }
+ $VolFilter = $VolInAggr | Where-Object { $_.VolumeSisAttributes.IsSisStateEnabled -ne "True" }
if ($Saving -ne 0 -and $VolFilter) {
$inObj = [ordered] @{
'Aggregate' = $Item.Name
@@ -72,14 +71,13 @@ function Get-AbrOntapEfficiencyAggr {
}
$OutObj += [pscustomobject]$inobj
}
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
if ($Healthcheck.Storage.Efficiency) {
- $OutObj | Set-Style -Style Warning -Property 'Aggregate','Volumes without Deduplication'
+ $OutObj | Set-Style -Style Warning -Property 'Aggregate', 'Volumes without Deduplication'
}
$TableParams = @{
@@ -93,18 +91,16 @@ function Get-AbrOntapEfficiencyAggr {
}
if ($OutObj) {
Section -Style Heading4 'HealthCheck - Volume with Disabled Deduplication' {
- Paragraph "The following section provides the Volume efficiency healthcheck Information on $($ClusterInfo.ClusterName)."
+ Paragraph "The following table provides the Volume efficiency healthcheck Information on $($ClusterInfo.ClusterName)."
BlankLine
$OutObj | Table @TableParams
}
}
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
- }
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
diff --git a/Src/Private/Get-AbrOntapEfficiencyConfig.ps1 b/Src/Private/Get-AbrOntapEfficiencyConfig.ps1
index 90d217b..f20c2c5 100755
--- a/Src/Private/Get-AbrOntapEfficiencyConfig.ps1
+++ b/Src/Private/Get-AbrOntapEfficiencyConfig.ps1
@@ -5,7 +5,7 @@ function Get-AbrOntapEfficiencyConfig {
.DESCRIPTION
.NOTES
- Version: 0.6.3
+ Version: 0.6.7
Author: Jonathan Colon
Twitter: @jcolonfzenpr
Github: rebelinux
@@ -19,12 +19,12 @@ function Get-AbrOntapEfficiencyConfig {
)
begin {
- Write-PscriboMessage "Collecting ONTAP Storage Efficiency Savings information."
+ Write-PScriboMessage "Collecting ONTAP Storage Efficiency Savings information."
}
process {
try {
- $Data = Get-NcAggr -Controller $Array | Where-Object {$_.AggrRaidAttributes.HasLocalRoot -ne 'True'}
+ $Data = Get-NcAggr -Controller $Array | Where-Object { $_.AggrRaidAttributes.HasLocalRoot -ne 'True' }
$OutObj = @()
if ($Data) {
foreach ($Item in $Data) {
@@ -41,9 +41,8 @@ function Get-AbrOntapEfficiencyConfig {
}
$OutObj += [pscustomobject]$inobj
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
@@ -57,9 +56,8 @@ function Get-AbrOntapEfficiencyConfig {
}
$OutObj | Table @TableParams
}
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
diff --git a/Src/Private/Get-AbrOntapEfficiencyVol.ps1 b/Src/Private/Get-AbrOntapEfficiencyVol.ps1
index fbad012..32318d1 100755
--- a/Src/Private/Get-AbrOntapEfficiencyVol.ps1
+++ b/Src/Private/Get-AbrOntapEfficiencyVol.ps1
@@ -5,7 +5,7 @@ function Get-AbrOntapEfficiencyVol {
.DESCRIPTION
.NOTES
- Version: 0.6.3
+ Version: 0.6.7
Author: Jonathan Colon
Twitter: @jcolonfzenpr
Github: rebelinux
@@ -18,17 +18,17 @@ function Get-AbrOntapEfficiencyVol {
[Parameter (
Position = 0,
Mandatory)]
- [string]
- $Vserver
+ [string]
+ $Vserver
)
begin {
- Write-PscriboMessage "Collecting ONTAP Volume Efficiency Savings information."
+ Write-PScriboMessage "Collecting ONTAP Volume Efficiency Savings information."
}
process {
try {
- $Data = Get-NcVol -VserverContext $Vserver -Controller $Array | Where-Object {$_.Name -ne 'vol0' -and $_.State -eq "online"}
+ $Data = Get-NcVol -VserverContext $Vserver -Controller $Array | Where-Object { $_.Name -ne 'vol0' -and $_.State -eq "online" }
$OutObj = @()
if ($Data) {
foreach ($Item in $Data) {
@@ -44,25 +44,23 @@ function Get-AbrOntapEfficiencyVol {
'Efficiency Percent' = $Saving.EfficiencyPercent | ConvertTo-FormattedNumber -Type Percent -NumberFormatString "0.0" -ErrorAction SilentlyContinue
}
$OutObj += [pscustomobject]$inobj
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
$TableParams = @{
Name = "Volume Efficiency Savings - $($Vserver)"
List = $false
- ColumnWidths = 30, 15, 10, 11, 10, 12 ,12
+ ColumnWidths = 30, 15, 10, 11, 10, 12 , 12
}
if ($Report.ShowTableCaptions) {
$TableParams['Caption'] = "- $($TableParams.Name)"
}
$OutObj | Table @TableParams
}
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
diff --git a/Src/Private/Get-AbrOntapEfficiencyVolDetailed.ps1 b/Src/Private/Get-AbrOntapEfficiencyVolDetailed.ps1
index 4deef13..eccc500 100755
--- a/Src/Private/Get-AbrOntapEfficiencyVolDetailed.ps1
+++ b/Src/Private/Get-AbrOntapEfficiencyVolDetailed.ps1
@@ -5,7 +5,7 @@ function Get-AbrOntapEfficiencyVolDetailed {
.DESCRIPTION
.NOTES
- Version: 0.6.3
+ Version: 0.6.7
Author: Jonathan Colon
Twitter: @jcolonfzenpr
Github: rebelinux
@@ -18,17 +18,17 @@ function Get-AbrOntapEfficiencyVolDetailed {
[Parameter (
Position = 0,
Mandatory)]
- [string]
- $Vserver
+ [string]
+ $Vserver
)
begin {
- Write-PscriboMessage "Collecting ONTAP Volume Efficiency Savings information."
+ Write-PScriboMessage "Collecting ONTAP Volume Efficiency Savings information."
}
process {
try {
- $Data = Get-NcVol -VserverContext $Vserver -Controller $Array| Where-Object {$_.JunctionPath -ne '/' -and $_.Name -ne 'vol0' -and $_.State -eq "online"}
+ $Data = Get-NcVol -VserverContext $Vserver -Controller $Array | Where-Object { $_.JunctionPath -ne '/' -and $_.Name -ne 'vol0' -and $_.State -eq "online" }
$OutObj = @()
if ($Data) {
foreach ($Item in $Data) {
@@ -42,12 +42,11 @@ function Get-AbrOntapEfficiencyVolDetailed {
'Snapshot Savings' = $Saving.Returns.Snapshot | ConvertTo-FormattedNumber -Type Datasize -ErrorAction SilentlyContinue
'Cloning Savings' = $Saving.Returns.Cloning | ConvertTo-FormattedNumber -Type Datasize -ErrorAction SilentlyContinue
'Efficiency %' = $Saving.EfficiencyPercent | ConvertTo-FormattedNumber -Type Percent -NumberFormatString "0.0" -ErrorAction SilentlyContinue
- 'Efficiency % w/o Snapshots' = [Math]::Round((($Saving.Returns.Dedupe + $Saving.Returns.Compression) / ($Saving.Used + $Saving.Returns.Dedupe + $Saving.Returns.Compression)) * 100) | ConvertTo-FormattedNumber -Type Percent -NumberFormatString "0.0" -ErrorAction SilentlyContinue
+ 'Efficiency % w/o Snapshots' = [Math]::Round((($Saving.Returns.Dedupe + $Saving.Returns.Compression) / ($Saving.Used + $Saving.Returns.Dedupe + $Saving.Returns.Compression)) * 100) | ConvertTo-FormattedNumber -Type Percent -NumberFormatString "0.0" -ErrorAction SilentlyContinue
}
$OutObj += [pscustomobject]$inobj
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
@@ -61,9 +60,8 @@ function Get-AbrOntapEfficiencyVolDetailed {
}
$OutObj | Table @TableParams
}
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
diff --git a/Src/Private/Get-AbrOntapEfficiencyVolSisStatus.ps1 b/Src/Private/Get-AbrOntapEfficiencyVolSisStatus.ps1
index c99aef5..88c207d 100755
--- a/Src/Private/Get-AbrOntapEfficiencyVolSisStatus.ps1
+++ b/Src/Private/Get-AbrOntapEfficiencyVolSisStatus.ps1
@@ -5,7 +5,7 @@ function Get-AbrOntapEfficiencyVolSisStatus {
.DESCRIPTION
.NOTES
- Version: 0.6.3
+ Version: 0.6.7
Author: Jonathan Colon
Twitter: @jcolonfzenpr
Github: rebelinux
@@ -18,17 +18,17 @@ function Get-AbrOntapEfficiencyVolSisStatus {
[Parameter (
Position = 0,
Mandatory)]
- [string]
- $Vserver
+ [string]
+ $Vserver
)
begin {
- Write-PscriboMessage "Collecting ONTAP Volume Deduplication information."
+ Write-PScriboMessage "Collecting ONTAP Volume Deduplication information."
}
process {
try {
- $Data = Get-NcSis -VserverContext $Vserver -Controller $Array | Where-Object {$_.Path -notlike '*vol0*'}
+ $Data = Get-NcSis -VserverContext $Vserver -Controller $Array | Where-Object { $_.Path -notlike '*vol0*' }
$OutObj = @()
if ($Data) {
foreach ($Item in $Data) {
@@ -39,16 +39,15 @@ function Get-AbrOntapEfficiencyVolSisStatus {
'State' = Switch ($Item.State) {
'enabled' { 'Enabled' }
'disabled' { 'Disabled' }
- default {$Item.State}
+ default { $Item.State }
}
'Status' = $Item.Status
'Schedule Or Policy' = ConvertTo-EmptyToFiller $Item.ScheduleOrPolicy
'Progress' = ConvertTo-EmptyToFiller $Item.Progress
}
$OutObj += [pscustomobject]$inobj
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
if ($Healthcheck.Storage.Efficiency) {
@@ -65,9 +64,8 @@ function Get-AbrOntapEfficiencyVolSisStatus {
}
$OutObj | Table @TableParams
}
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
diff --git a/Src/Private/Get-AbrOntapNetworkBdomain.ps1 b/Src/Private/Get-AbrOntapNetworkBdomain.ps1
index 79ba130..26a6201 100755
--- a/Src/Private/Get-AbrOntapNetworkBdomain.ps1
+++ b/Src/Private/Get-AbrOntapNetworkBdomain.ps1
@@ -5,7 +5,7 @@ function Get-AbrOntapNetworkBdomain {
.DESCRIPTION
.NOTES
- Version: 0.6.3
+ Version: 0.6.7
Author: Jonathan Colon
Twitter: @jcolonfzenpr
Github: rebelinux
@@ -19,7 +19,7 @@ function Get-AbrOntapNetworkBdomain {
)
begin {
- Write-PscriboMessage "Collecting ONTAP Broadcast information."
+ Write-PScriboMessage "Collecting ONTAP Broadcast information."
}
process {
@@ -48,9 +48,8 @@ function Get-AbrOntapNetworkBdomain {
}
$BDomainObj | Table @TableParams
}
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
diff --git a/Src/Private/Get-AbrOntapNetworkFailoverGroup.ps1 b/Src/Private/Get-AbrOntapNetworkFailoverGroup.ps1
index bbde4a8..d855ead 100755
--- a/Src/Private/Get-AbrOntapNetworkFailoverGroup.ps1
+++ b/Src/Private/Get-AbrOntapNetworkFailoverGroup.ps1
@@ -5,7 +5,7 @@ function Get-AbrOntapNetworkFailoverGroup {
.DESCRIPTION
.NOTES
- Version: 0.6.3
+ Version: 0.6.7
Author: Jonathan Colon
Twitter: @jcolonfzenpr
Github: rebelinux
@@ -19,7 +19,7 @@ function Get-AbrOntapNetworkFailoverGroup {
)
begin {
- Write-PscriboMessage "Collecting ONTAP Failover Group information."
+ Write-PScriboMessage "Collecting ONTAP Failover Group information."
}
process {
@@ -35,9 +35,8 @@ function Get-AbrOntapNetworkFailoverGroup {
'Target' = $Item.Target
}
$FGObj += [pscustomobject]$inobj
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
@@ -51,9 +50,8 @@ function Get-AbrOntapNetworkFailoverGroup {
}
$FGObj | Table @TableParams
}
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
diff --git a/Src/Private/Get-AbrOntapNetworkIfgrp.ps1 b/Src/Private/Get-AbrOntapNetworkIfgrp.ps1
index 6356792..e7a3746 100755
--- a/Src/Private/Get-AbrOntapNetworkIfgrp.ps1
+++ b/Src/Private/Get-AbrOntapNetworkIfgrp.ps1
@@ -5,7 +5,7 @@ function Get-AbrOntapNetworkIfgrp {
.DESCRIPTION
.NOTES
- Version: 0.6.3
+ Version: 0.6.7
Author: Jonathan Colon
Twitter: @jcolonfzenpr
Github: rebelinux
@@ -18,12 +18,12 @@ function Get-AbrOntapNetworkIfgrp {
[Parameter (
Position = 0,
Mandatory)]
- [string]
- $Node
+ [string]
+ $Node
)
begin {
- Write-PscriboMessage "Collecting ONTAP physical aggregata interface information."
+ Write-PScriboMessage "Collecting ONTAP physical aggregata interface information."
}
process {
@@ -35,7 +35,7 @@ function Get-AbrOntapNetworkIfgrp {
try {
if ($Nics.DownPorts) {
$UPPort = "$($Nics.UpPorts) $($Nics.DownPorts)(Down)"
- }else {$UPPort = [String]$Nics.UpPorts}
+ } else { $UPPort = [String]$Nics.UpPorts }
$inObj = [ordered] @{
'Port Name' = $Nics.IfgrpName
'Distribution Function' = $Nics.DistributionFunction
@@ -45,9 +45,8 @@ function Get-AbrOntapNetworkIfgrp {
'Port Participation' = $Nics.PortParticipation
}
$AggregatePorts += [pscustomobject]$inobj
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
if ($Healthcheck.Network.Port) {
@@ -59,16 +58,15 @@ function Get-AbrOntapNetworkIfgrp {
$TableParams = @{
Name = "Link Aggregation Group - $($Node)"
List = $false
- ColumnWidths = 15, 15, 15 ,20 ,20, 15
+ ColumnWidths = 15, 15, 15 , 20 , 20, 15
}
if ($Report.ShowTableCaptions) {
$TableParams['Caption'] = "- $($TableParams.Name)"
}
$AggregatePorts | Table @TableParams
}
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
diff --git a/Src/Private/Get-AbrOntapNetworkIpSpace.ps1 b/Src/Private/Get-AbrOntapNetworkIpSpace.ps1
index e3b5925..6abdf24 100755
--- a/Src/Private/Get-AbrOntapNetworkIpSpace.ps1
+++ b/Src/Private/Get-AbrOntapNetworkIpSpace.ps1
@@ -5,7 +5,7 @@ function Get-AbrOntapNetworkIpSpace {
.DESCRIPTION
.NOTES
- Version: 0.6.3
+ Version: 0.6.7
Author: Jonathan Colon
Twitter: @jcolonfzenpr
Github: rebelinux
@@ -19,7 +19,7 @@ function Get-AbrOntapNetworkIpSpace {
)
begin {
- Write-PscriboMessage "Collecting ONTAP IPSpace information."
+ Write-PScriboMessage "Collecting ONTAP IPSpace information."
}
process {
@@ -51,15 +51,13 @@ function Get-AbrOntapNetworkIpSpace {
$TableParams['Caption'] = "- $($TableParams.Name)"
}
$IPSpaceObj | Table @TableParams
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
}
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
diff --git a/Src/Private/Get-AbrOntapNetworkMGMT.ps1 b/Src/Private/Get-AbrOntapNetworkMGMT.ps1
index 8f909d5..c21f426 100755
--- a/Src/Private/Get-AbrOntapNetworkMGMT.ps1
+++ b/Src/Private/Get-AbrOntapNetworkMGMT.ps1
@@ -5,7 +5,7 @@ function Get-AbrOntapNetworkMgmt {
.DESCRIPTION
.NOTES
- Version: 0.6.6
+ Version: 0.6.7
Author: Jonathan Colon
Twitter: @jcolonfzenpr
Github: rebelinux
@@ -19,15 +19,15 @@ function Get-AbrOntapNetworkMgmt {
)
begin {
- Write-PscriboMessage "Collecting ONTAP network management interface information."
+ Write-PScriboMessage "Collecting ONTAP network management interface information."
}
process {
try {
- if (Get-NcNetInterface -Controller $Array | Where-Object {$_.Role -eq 'cluster'}) {
+ if (Get-NcNetInterface -Controller $Array | Where-Object { $_.Role -eq 'cluster' }) {
try {
Section -ExcludeFromTOC -Style Heading6 'Cluster Network Interfaces' {
- $ClusterData = Get-NcNetInterface -Controller $Array | Where-Object {$_.Role -eq 'cluster'}
+ $ClusterData = Get-NcNetInterface -Controller $Array | Where-Object { $_.Role -eq 'cluster' }
$ClusterObj = @()
if ($ClusterData) {
foreach ($Item in $ClusterData) {
@@ -35,18 +35,17 @@ function Get-AbrOntapNetworkMgmt {
$inObj = [ordered] @{
'Cluster Interface' = $Item.InterfaceName
'Status' = Switch ($Item.OpStatus) {
- "" {"Unknown"}
- $Null {"Unknown"}
- default {$Item.OpStatus.ToString().ToUpper()}
+ "" { "Unknown" }
+ $Null { "Unknown" }
+ default { $Item.OpStatus.ToString().ToUpper() }
}
'Data Protocols' = $Item.DataProtocols
'Address' = $Item.Address
'Vserver' = $Item.Vserver
}
$ClusterObj += [pscustomobject]$inobj
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
if ($Healthcheck.Network.Interface) {
@@ -64,14 +63,13 @@ function Get-AbrOntapNetworkMgmt {
$ClusterObj | Table @TableParams
}
}
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
try {
Section -ExcludeFromTOC -Style Heading6 'Management Network Interfaces' {
- $ClusterData = Get-NcNetInterface -Controller $Array | Where-Object {$_.Role -eq 'cluster_mgmt' -or $_.Role -eq 'node_mgmt'}
+ $ClusterData = Get-NcNetInterface -Controller $Array | Where-Object { $_.Role -eq 'cluster_mgmt' -or $_.Role -eq 'node_mgmt' }
$ClusterObj = @()
if ($ClusterData) {
foreach ($Item in $ClusterData) {
@@ -79,18 +77,17 @@ function Get-AbrOntapNetworkMgmt {
$inObj = [ordered] @{
'MGMT Interface' = $Item.InterfaceName
'Status' = Switch ($Item.OpStatus) {
- "" {"Unknown"}
- $Null {"Unknown"}
- default {$Item.OpStatus.ToString().ToUpper()}
+ "" { "Unknown" }
+ $Null { "Unknown" }
+ default { $Item.OpStatus.ToString().ToUpper() }
}
'Data Protocols' = $Item.DataProtocols
'Address' = $Item.Address
'Vserver' = $Item.Vserver
}
$ClusterObj += [pscustomobject]$inobj
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
if ($Healthcheck.Network.Interface) {
@@ -108,14 +105,13 @@ function Get-AbrOntapNetworkMgmt {
$ClusterObj | Table @TableParams
}
}
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
try {
- if (Get-NcNetInterface -Controller $Array | Where-Object {$_.Role -eq 'intercluster'}) {
+ if (Get-NcNetInterface -Controller $Array | Where-Object { $_.Role -eq 'intercluster' }) {
Section -ExcludeFromTOC -Style Heading6 'Intercluster Network Interfaces' {
- $ClusterData = Get-NcNetInterface -Controller $Array | Where-Object {$_.Role -eq 'intercluster'}
+ $ClusterData = Get-NcNetInterface -Controller $Array | Where-Object { $_.Role -eq 'intercluster' }
$ClusterObj = @()
if ($ClusterData) {
foreach ($Item in $ClusterData) {
@@ -123,18 +119,17 @@ function Get-AbrOntapNetworkMgmt {
$inObj = [ordered] @{
'Intercluster Interface' = $Item.InterfaceName
'Status' = Switch ($Item.OpStatus) {
- "" {"Unknown"}
- $Null {"Unknown"}
- default {$Item.OpStatus.ToString().ToUpper()}
+ "" { "Unknown" }
+ $Null { "Unknown" }
+ default { $Item.OpStatus.ToString().ToUpper() }
}
'Data Protocols' = $Item.DataProtocols
'Address' = $Item.Address
'Vserver' = $Item.Vserver
}
$ClusterObj += [pscustomobject]$inobj
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
if ($Healthcheck.Network.Interface) {
@@ -153,32 +148,33 @@ function Get-AbrOntapNetworkMgmt {
}
}
}
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
try {
Section -ExcludeFromTOC -Style Heading6 'Data Network Interfaces' {
- $ClusterData = Get-NcNetInterface -Controller $Array | Where-Object {$_.Role -eq 'data' -and $_.DataProtocols -ne 'fcp' -and $_.Vserver -notin $options.Exclude.Vserver}
+ $ClusterData = Get-NcNetInterface -Controller $Array | Where-Object { $_.Role -eq 'data' -and $_.Vserver -notin $options.Exclude.Vserver }
$ClusterObj = @()
if ($ClusterData) {
foreach ($Item in $ClusterData) {
try {
+ if ($Item.Wwpn) {
+ $AddressData = $Item.Wwpn
+ } else {$AddressData = $Item.Address}
$inObj = [ordered] @{
'Data Interface' = $Item.InterfaceName
'Status' = Switch ($Item.OpStatus) {
- "" {"Unknown"}
- $Null {"Unknown"}
- default {$Item.OpStatus.ToString().ToUpper()}
+ "" { "Unknown" }
+ $Null { "Unknown" }
+ default { $Item.OpStatus.ToString().ToUpper() }
}
'Data Protocols' = [string]$Item.DataProtocols
- 'Address' = $Item.Address
+ 'Address' = $AddressData
'Vserver' = $Item.Vserver
}
$ClusterObj += [pscustomobject]$inobj
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
if ($Healthcheck.Network.Interface) {
@@ -196,16 +192,15 @@ function Get-AbrOntapNetworkMgmt {
$ClusterObj | Table @TableParams
}
}
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
try {
- if ((Get-NcNetInterface -Controller $Array | Where-Object { $_.DataProtocols -ne 'fcp' -and $_.IsHome -like "False"}) -and $Healthcheck.Network.Interface) {
+ if ((Get-NcNetInterface -Controller $Array | Where-Object { $_.DataProtocols -ne 'fcp' -and $_.IsHome -like "False" }) -and $Healthcheck.Network.Interface) {
Section -ExcludeFromTOC -Style Heading6 'HealthCheck - Check If Network Interface is Home' {
- Paragraph "The following section provides the LIF Home Status Information on $($ClusterInfo.ClusterName)."
+ Paragraph "The following table provides the LIF Home Status Information on $($ClusterInfo.ClusterName)."
BlankLine
- $ClusterData = Get-NcNetInterface -Controller $Array | Where-Object { $_.DataProtocols -ne 'fcp' -and $_.IsHome -like "False"}
+ $ClusterData = Get-NcNetInterface -Controller $Array | Where-Object { $_.DataProtocols -ne 'fcp' -and $_.IsHome -like "False" }
$ClusterObj = @()
if ($ClusterData) {
foreach ($Item in $ClusterData) {
@@ -217,18 +212,17 @@ function Get-AbrOntapNetworkMgmt {
'IsHome' = Switch ($Item.IsHome) {
"True" { 'Yes' }
"False" { "No" }
- default {$Item.IsHome}
+ default { $Item.IsHome }
}
'Vserver' = $Item.Vserver
}
$ClusterObj += [pscustomobject]$inobj
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
if ($Healthcheck.Network.Interface) {
- $ClusterObj | Where-Object { $_.'IsHome' -ne 'Yes' } | Set-Style -Style Warning -Property 'Network Interface','IsHome','Home Port','Current Port','Vserver'
+ $ClusterObj | Where-Object { $_.'IsHome' -ne 'Yes' } | Set-Style -Style Warning -Property 'Network Interface', 'IsHome', 'Home Port', 'Current Port', 'Vserver'
}
$TableParams = @{
@@ -243,13 +237,11 @@ function Get-AbrOntapNetworkMgmt {
}
}
}
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
- }
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
diff --git a/Src/Private/Get-AbrOntapNetworkPorts.ps1 b/Src/Private/Get-AbrOntapNetworkPorts.ps1
index 51ef7e7..f2aa8a7 100755
--- a/Src/Private/Get-AbrOntapNetworkPorts.ps1
+++ b/Src/Private/Get-AbrOntapNetworkPorts.ps1
@@ -5,7 +5,7 @@ function Get-AbrOntapNetworkPort {
.DESCRIPTION
.NOTES
- Version: 0.6.3
+ Version: 0.6.7
Author: Jonathan Colon
Twitter: @jcolonfzenpr
Github: rebelinux
@@ -18,17 +18,17 @@ function Get-AbrOntapNetworkPort {
[Parameter (
Position = 0,
Mandatory)]
- [string]
- $Node
+ [string]
+ $Node
)
begin {
- Write-PscriboMessage "Collecting ONTAP physical interface information."
+ Write-PScriboMessage "Collecting ONTAP physical interface information."
}
process {
try {
- $PhysicalPorts = Get-NcNetPort -Node $Node -Controller $Array | Where-Object {$_.PortType -like 'physical'}
+ $PhysicalPorts = Get-NcNetPort -Node $Node -Controller $Array | Where-Object { $_.PortType -like 'physical' }
if ($PhysicalPorts) {
$PhysicalNic = foreach ($Nics in $PhysicalPorts) {
try {
@@ -44,9 +44,8 @@ function Get-AbrOntapNetworkPort {
default { $Nics.IsAdministrativeUp }
}
}
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
if ($Healthcheck.Network.Port) {
@@ -63,9 +62,8 @@ function Get-AbrOntapNetworkPort {
}
$PhysicalNic | Table @TableParams
}
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
diff --git a/Src/Private/Get-AbrOntapNetworkRoute.ps1 b/Src/Private/Get-AbrOntapNetworkRoute.ps1
index 541f0c0..8c1a330 100755
--- a/Src/Private/Get-AbrOntapNetworkRoute.ps1
+++ b/Src/Private/Get-AbrOntapNetworkRoute.ps1
@@ -5,7 +5,7 @@ function Get-AbrOntapNetworkRoute {
.DESCRIPTION
.NOTES
- Version: 0.6.3
+ Version: 0.6.7
Author: Jonathan Colon
Twitter: @jcolonfzenpr
Github: rebelinux
@@ -18,12 +18,12 @@ function Get-AbrOntapNetworkRoute {
[Parameter (
Position = 0,
Mandatory)]
- [string]
- $Vserver
+ [string]
+ $Vserver
)
begin {
- Write-PscriboMessage "Collecting ONTAP network route information."
+ Write-PScriboMessage "Collecting ONTAP network route information."
}
process {
@@ -40,9 +40,8 @@ function Get-AbrOntapNetworkRoute {
'Address Family' = $Item.AddressFamily.ToString().ToUpper()
}
$RoutesObj += [pscustomobject]$inobj
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
@@ -56,9 +55,8 @@ function Get-AbrOntapNetworkRoute {
}
$RoutesObj | Table @TableParams
}
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
diff --git a/Src/Private/Get-AbrOntapNetworkRouteLifs.ps1 b/Src/Private/Get-AbrOntapNetworkRouteLifs.ps1
index 8b1fb55..05798e9 100755
--- a/Src/Private/Get-AbrOntapNetworkRouteLifs.ps1
+++ b/Src/Private/Get-AbrOntapNetworkRouteLifs.ps1
@@ -5,7 +5,7 @@ function Get-AbrOntapNetworkRouteLif {
.DESCRIPTION
.NOTES
- Version: 0.6.3
+ Version: 0.6.7
Author: Jonathan Colon
Twitter: @jcolonfzenpr
Github: rebelinux
@@ -18,12 +18,12 @@ function Get-AbrOntapNetworkRouteLif {
[Parameter (
Position = 0,
Mandatory)]
- [string]
- $Vserver
+ [string]
+ $Vserver
)
begin {
- Write-PscriboMessage "Collecting ONTAP network route per lif information."
+ Write-PScriboMessage "Collecting ONTAP network route per lif information."
}
process {
@@ -40,9 +40,8 @@ function Get-AbrOntapNetworkRouteLif {
'Address Family' = $Item.AddressFamily.ToString().ToUpper()
}
$RoutesObj += [pscustomobject]$inobj
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
@@ -56,9 +55,8 @@ function Get-AbrOntapNetworkRouteLif {
}
$RoutesObj | Table @TableParams
}
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
diff --git a/Src/Private/Get-AbrOntapNetworkSubnet.ps1 b/Src/Private/Get-AbrOntapNetworkSubnet.ps1
index 0d1f663..b046cd1 100755
--- a/Src/Private/Get-AbrOntapNetworkSubnet.ps1
+++ b/Src/Private/Get-AbrOntapNetworkSubnet.ps1
@@ -5,7 +5,7 @@ function Get-AbrOntapNetworkSubnet {
.DESCRIPTION
.NOTES
- Version: 0.6.3
+ Version: 0.6.7
Author: Jonathan Colon
Twitter: @jcolonfzenpr
Github: rebelinux
@@ -19,7 +19,7 @@ function Get-AbrOntapNetworkSubnet {
)
begin {
- Write-PscriboMessage "Collecting ONTAP Subnets information."
+ Write-PScriboMessage "Collecting ONTAP Subnets information."
}
process {
@@ -38,9 +38,8 @@ function Get-AbrOntapNetworkSubnet {
'Ip Ranges' = $Item.IpRanges
}
$SubnetObj += [pscustomobject]$inobj
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
@@ -54,9 +53,8 @@ function Get-AbrOntapNetworkSubnet {
}
$SubnetObj | Table @TableParams
}
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
diff --git a/Src/Private/Get-AbrOntapNetworkVlans.ps1 b/Src/Private/Get-AbrOntapNetworkVlans.ps1
index 5735874..2be71b9 100755
--- a/Src/Private/Get-AbrOntapNetworkVlans.ps1
+++ b/Src/Private/Get-AbrOntapNetworkVlans.ps1
@@ -5,7 +5,7 @@ function Get-AbrOntapNetworkVlan {
.DESCRIPTION
.NOTES
- Version: 0.6.3
+ Version: 0.6.7
Author: Jonathan Colon
Twitter: @jcolonfzenpr
Github: rebelinux
@@ -18,12 +18,12 @@ function Get-AbrOntapNetworkVlan {
[Parameter (
Position = 0,
Mandatory)]
- [string]
- $Node
+ [string]
+ $Node
)
begin {
- Write-PscriboMessage "Collecting ONTAP VLAN information."
+ Write-PScriboMessage "Collecting ONTAP VLAN information."
}
process {
@@ -39,9 +39,8 @@ function Get-AbrOntapNetworkVlan {
'Vlan ID' = $Item.VlanID
}
$VlanObj += [pscustomobject]$inobj
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
@@ -55,9 +54,8 @@ function Get-AbrOntapNetworkVlan {
}
$VlanObj | Table @TableParams
}
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
diff --git a/Src/Private/Get-AbrOntapNodeStorage.ps1 b/Src/Private/Get-AbrOntapNodeStorage.ps1
index 612ebc2..0fcfccc 100755
--- a/Src/Private/Get-AbrOntapNodeStorage.ps1
+++ b/Src/Private/Get-AbrOntapNodeStorage.ps1
@@ -5,7 +5,7 @@ function Get-AbrOntapNodeStorage {
.DESCRIPTION
.NOTES
- Version: 0.6.3
+ Version: 0.6.7
Author: Jonathan Colon
Twitter: @jcolonfzenpr
Github: rebelinux
@@ -19,12 +19,12 @@ function Get-AbrOntapNodeStorage {
)
begin {
- Write-PscriboMessage "Collecting ONTAP Node Storage information."
+ Write-PScriboMessage "Collecting ONTAP Node Storage information."
}
process {
try {
- $Data = Get-NcVol -Controller $Array | Where-Object {$_.Name -eq 'vol0'}
+ $Data = Get-NcVol -Controller $Array | Where-Object { $_.Name -eq 'vol0' }
$OutObj = @()
if ($Data) {
foreach ($Item in $Data) {
@@ -38,9 +38,8 @@ function Get-AbrOntapNodeStorage {
'Used' = $Item.Used | ConvertTo-FormattedNumber -Type Percent -ErrorAction SilentlyContinue
}
$OutObj += [pscustomobject]$inobj
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
if ($Healthcheck.Node.HW) {
@@ -58,9 +57,8 @@ function Get-AbrOntapNodeStorage {
}
$OutObj | Table @TableParams
}
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
diff --git a/Src/Private/Get-AbrOntapNodes.ps1 b/Src/Private/Get-AbrOntapNodes.ps1
index be85332..a4f5eeb 100755
--- a/Src/Private/Get-AbrOntapNodes.ps1
+++ b/Src/Private/Get-AbrOntapNodes.ps1
@@ -5,7 +5,7 @@ function Get-AbrOntapNode {
.DESCRIPTION
.NOTES
- Version: 0.6.3
+ Version: 0.6.7
Author: Jonathan Colon
Twitter: @jcolonfzenpr
Github: rebelinux
@@ -19,7 +19,7 @@ function Get-AbrOntapNode {
)
begin {
- Write-PscriboMessage "Collecting ONTAP node information."
+ Write-PScriboMessage "Collecting ONTAP node information."
}
process {
@@ -29,15 +29,14 @@ function Get-AbrOntapNode {
$NodeSummary = foreach ($Nodes in $NodeSum) {
try {
[PSCustomObject] @{
- 'Name' = $Nodes.Node
- 'Model' = $Nodes.NodeModel
- 'Id' = $Nodes.NodeSystemId
- 'Serial' = $Nodes.NodeSerialNumber
- 'Uptime' = $Nodes.NodeUptimeTS
+ 'Name' = $Nodes.Node
+ 'Model' = $Nodes.NodeModel
+ 'Id' = $Nodes.NodeSystemId
+ 'Serial' = $Nodes.NodeSerialNumber
+ 'Uptime' = $Nodes.NodeUptimeTS
}
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
$TableParams = @{
@@ -50,9 +49,8 @@ function Get-AbrOntapNode {
}
$NodeSummary | Table @TableParams
}
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
diff --git a/Src/Private/Get-AbrOntapNodesHW.ps1 b/Src/Private/Get-AbrOntapNodesHW.ps1
index 1ea3252..05bfacc 100755
--- a/Src/Private/Get-AbrOntapNodesHW.ps1
+++ b/Src/Private/Get-AbrOntapNodesHW.ps1
@@ -5,7 +5,7 @@ function Get-AbrOntapNodesHW {
.DESCRIPTION
.NOTES
- Version: 0.6.3
+ Version: 0.6.7
Author: Jonathan Colon
Twitter: @jcolonfzenpr
Github: rebelinux
@@ -19,7 +19,7 @@ function Get-AbrOntapNodesHW {
)
begin {
- Write-PscriboMessage "Collecting ONTAP Node Hardware information."
+ Write-PScriboMessage "Collecting ONTAP Node Hardware information."
}
process {
@@ -30,7 +30,7 @@ function Get-AbrOntapNodesHW {
foreach ($NodeHWs in $NodeHW) {
try {
$NodeInfo = Get-NcNode -Node $NodeHWs.SystemName -Controller $Array
- $Inobj = [ordered] @{
+ $Inobj = [ordered] @{
'Name' = $NodeHWs.SystemName
'System Type' = $NodeHWs.SystemMachineType
'CPU Count' = $NodeHWs.NumberOfProcessors
@@ -40,18 +40,18 @@ function Get-AbrOntapNodesHW {
'All Flash Optimized' = ConvertTo-TextYN $NodeInfo.IsAllFlashOptimized
'Epsilon' = ConvertTo-TextYN $NodeInfo.IsEpsilonNode
'System Healthy' = Switch ($NodeInfo.IsNodeHealthy) {
- "True" {"Healthy"}
- "False" {"UnHealthy"}
- default {$NodeInfo.IsNodeHealthy}
+ "True" { "Healthy" }
+ "False" { "UnHealthy" }
+ default { $NodeInfo.IsNodeHealthy }
}
'Failed Fan Count' = $NodeInfo.EnvFailedFanCount
'Failed Fan Error' = $NodeInfo.EnvFailedFanMessage
'Failed PowerSupply Count' = $NodeInfo.EnvFailedPowerSupplyCount
'Failed PowerSupply Error' = $NodeInfo.EnvFailedPowerSupplyMessage
'Over Temperature' = Switch ($NodeInfo.EnvOverTemperature) {
- "True" {"High Temperature"}
- "False" {"Normal Temperature"}
- default {$NodeInfo.EnvOverTemperature}
+ "True" { "High Temperature" }
+ "False" { "Normal Temperature" }
+ default { $NodeInfo.EnvOverTemperature }
}
'NVRAM Battery Healthy' = $NodeInfo.NvramBatteryStatus
}
@@ -74,15 +74,13 @@ function Get-AbrOntapNodesHW {
$TableParams['Caption'] = "- $($TableParams.Name)"
}
$Outobj | Table @TableParams
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
}
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
diff --git a/Src/Private/Get-AbrOntapNodesSP.ps1 b/Src/Private/Get-AbrOntapNodesSP.ps1
index 118d0ae..df8cab8 100755
--- a/Src/Private/Get-AbrOntapNodesSP.ps1
+++ b/Src/Private/Get-AbrOntapNodesSP.ps1
@@ -5,7 +5,7 @@ function Get-AbrOntapNodesSP {
.DESCRIPTION
.NOTES
- Version: 0.6.3
+ Version: 0.6.7
Author: Jonathan Colon
Twitter: @jcolonfzenpr
Github: rebelinux
@@ -19,7 +19,7 @@ function Get-AbrOntapNodesSP {
)
begin {
- Write-PscriboMessage "Collecting ONTAP Node Service-Processor information."
+ Write-PScriboMessage "Collecting ONTAP Node Service-Processor information."
}
process {
@@ -37,9 +37,8 @@ function Get-AbrOntapNodesSP {
'Firmware' = $NodeSPs.FirmwareVersion
'Status' = $NodeSPs.Status
}
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
if ($Healthcheck.Node.ServiceProcessor) {
@@ -58,9 +57,8 @@ function Get-AbrOntapNodesSP {
$TableParams['Caption'] = "- $($TableParams.Name)"
}
$NodeServiceProcessor | Table @TableParams
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
diff --git a/Src/Private/Get-AbrOntapRepClusterPeer.ps1 b/Src/Private/Get-AbrOntapRepClusterPeer.ps1
index 151e531..e2bcc5b 100755
--- a/Src/Private/Get-AbrOntapRepClusterPeer.ps1
+++ b/Src/Private/Get-AbrOntapRepClusterPeer.ps1
@@ -5,7 +5,7 @@ function Get-AbrOntapRepClusterPeer {
.DESCRIPTION
.NOTES
- Version: 0.6.3
+ Version: 0.6.7
Author: Jonathan Colon
Twitter: @jcolonfzenpr
Github: rebelinux
@@ -19,7 +19,7 @@ function Get-AbrOntapRepClusterPeer {
)
begin {
- Write-PscriboMessage "Collecting ONTAP Replication information."
+ Write-PScriboMessage "Collecting ONTAP Replication information."
}
process {
@@ -38,9 +38,8 @@ function Get-AbrOntapRepClusterPeer {
'Status' = ($Item.Availability).toUpper()
}
$ReplicaObj += [pscustomobject]$inobj
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
if ($Healthcheck.Replication.ClusterPeer) {
@@ -57,9 +56,8 @@ function Get-AbrOntapRepClusterPeer {
}
$ReplicaObj | Table @TableParams
}
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
diff --git a/Src/Private/Get-AbrOntapRepDestinations.ps1 b/Src/Private/Get-AbrOntapRepDestinations.ps1
index 0edb46d..7ecd7d7 100755
--- a/Src/Private/Get-AbrOntapRepDestinations.ps1
+++ b/Src/Private/Get-AbrOntapRepDestinations.ps1
@@ -5,7 +5,7 @@ function Get-AbrOntapRepDestination {
.DESCRIPTION
.NOTES
- Version: 0.6.3
+ Version: 0.6.7
Author: Jonathan Colon
Twitter: @jcolonfzenpr
Github: rebelinux
@@ -19,7 +19,7 @@ function Get-AbrOntapRepDestination {
)
begin {
- Write-PscriboMessage "Collecting ONTAP SnapMirror Destination relationship information."
+ Write-PScriboMessage "Collecting ONTAP SnapMirror Destination relationship information."
}
process {
@@ -43,7 +43,7 @@ function Get-AbrOntapRepDestination {
'transition_data_protection' { 'TDP' }
'restore' { 'RST' }
'load_sharing' { 'LS' }
- default {$Item.RelationshipType}
+ default { $Item.RelationshipType }
}
'Policy Type' = $Item.PolicyType
'Status' = Switch ($Item.RelationshipStatus) {
@@ -66,15 +66,13 @@ function Get-AbrOntapRepDestination {
$TableParams['Caption'] = "- $($TableParams.Name)"
}
$ReplicaObj | Table @TableParams
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
}
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
diff --git a/Src/Private/Get-AbrOntapRepHistory.ps1 b/Src/Private/Get-AbrOntapRepHistory.ps1
index df43988..8f04a1e 100755
--- a/Src/Private/Get-AbrOntapRepHistory.ps1
+++ b/Src/Private/Get-AbrOntapRepHistory.ps1
@@ -5,7 +5,7 @@ function Get-AbrOntapRepHistory {
.DESCRIPTION
.NOTES
- Version: 0.6.3
+ Version: 0.6.7
Author: Jonathan Colon
Twitter: @jcolonfzenpr
Github: rebelinux
@@ -19,7 +19,7 @@ function Get-AbrOntapRepHistory {
)
begin {
- Write-PscriboMessage "Collecting ONTAP SnapMirror replication history information."
+ Write-PScriboMessage "Collecting ONTAP SnapMirror replication history information."
}
process {
@@ -37,13 +37,12 @@ function Get-AbrOntapRepHistory {
'Start' = $Item.Start
}
$ReplicaObj += [pscustomobject]$inobj
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
if ($Healthcheck.Replication.History) {
- $ReplicaObj | Where-Object { $_.'Result' -ne 'success'} | Set-Style -Style Warning -Property 'Result'
+ $ReplicaObj | Where-Object { $_.'Result' -ne 'success' } | Set-Style -Style Warning -Property 'Result'
}
$TableParams = @{
@@ -56,9 +55,8 @@ function Get-AbrOntapRepHistory {
}
$ReplicaObj | Table @TableParams
}
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
diff --git a/Src/Private/Get-AbrOntapRepMediator.ps1 b/Src/Private/Get-AbrOntapRepMediator.ps1
index 147bf68..3e15382 100755
--- a/Src/Private/Get-AbrOntapRepMediator.ps1
+++ b/Src/Private/Get-AbrOntapRepMediator.ps1
@@ -5,7 +5,7 @@ function Get-AbrOntapRepMediator {
.DESCRIPTION
.NOTES
- Version: 0.6.3
+ Version: 0.6.7
Author: Jonathan Colon
Twitter: @jcolonfzenpr
Github: rebelinux
@@ -19,7 +19,7 @@ function Get-AbrOntapRepMediator {
)
begin {
- Write-PscriboMessage "Collecting ONTAP SnapMirror Mediator relationship information."
+ Write-PScriboMessage "Collecting ONTAP SnapMirror Mediator relationship information."
}
process {
@@ -36,17 +36,16 @@ function Get-AbrOntapRepMediator {
'Status' = Switch ($Item.reachable) {
'True' { 'Reachable' }
'False' { 'Unreachable' }
- default {$Item.reachable}
+ default { $Item.reachable }
}
}
$ReplicaObj += [pscustomobject]$inobj
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
if ($Healthcheck.Replication.Mediator) {
- $ReplicaObj | Where-Object { $_.'Status' -eq "Unreachable"} | Set-Style -Style Critical -Property 'Status'
+ $ReplicaObj | Where-Object { $_.'Status' -eq "Unreachable" } | Set-Style -Style Critical -Property 'Status'
}
$TableParams = @{
@@ -59,9 +58,8 @@ function Get-AbrOntapRepMediator {
}
$ReplicaObj | Table @TableParams
}
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
diff --git a/Src/Private/Get-AbrOntapRepRelations.ps1 b/Src/Private/Get-AbrOntapRepRelations.ps1
index d46a88e..50bf0f9 100755
--- a/Src/Private/Get-AbrOntapRepRelations.ps1
+++ b/Src/Private/Get-AbrOntapRepRelations.ps1
@@ -5,7 +5,7 @@ function Get-AbrOntapRepRelationship {
.DESCRIPTION
.NOTES
- Version: 0.6.3
+ Version: 0.6.7
Author: Jonathan Colon
Twitter: @jcolonfzenpr
Github: rebelinux
@@ -19,7 +19,7 @@ function Get-AbrOntapRepRelationship {
)
begin {
- Write-PscriboMessage "Collecting ONTAP SnapMirror relationship information."
+ Write-PScriboMessage "Collecting ONTAP SnapMirror relationship information."
}
process {
@@ -31,7 +31,7 @@ function Get-AbrOntapRepRelationship {
try {
$lag = [timespan]::fromseconds($Item.LagTime).tostring()
$time = $lag.Split(".").Split(":")
- $lagtime = $time[0] + " days, " + $time[1] + " hrs, " + $time[2] + " mins, " + $time[0] + " secs"
+ $lagtime = $time[0] + " days, " + $time[1] + " hrs, " + $time[2] + " mins, " + $time[0] + " secs"
$inObj = [ordered] @{
'Source Vserver' = $Item.SourceVserver
'Source Location' = $Item.SourceLocation
@@ -45,7 +45,7 @@ function Get-AbrOntapRepRelationship {
'transition_data_protection' { 'TDP' }
'restore' { 'RST' }
'load_sharing' { 'LS' }
- default {$Item.RelationshipType}
+ default { $Item.RelationshipType }
}
'Policy' = $Item.Policy
'Policy Type' = $Item.PolicyType
@@ -71,15 +71,13 @@ function Get-AbrOntapRepRelationship {
$TableParams['Caption'] = "- $($TableParams.Name)"
}
$ReplicaObj | Table @TableParams
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
}
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
diff --git a/Src/Private/Get-AbrOntapRepVserverPeer.ps1 b/Src/Private/Get-AbrOntapRepVserverPeer.ps1
index 42a0485..5142c13 100755
--- a/Src/Private/Get-AbrOntapRepVserverPeer.ps1
+++ b/Src/Private/Get-AbrOntapRepVserverPeer.ps1
@@ -5,7 +5,7 @@ function Get-AbrOntapRepVserverPeer {
.DESCRIPTION
.NOTES
- Version: 0.6.3
+ Version: 0.6.7
Author: Jonathan Colon
Twitter: @jcolonfzenpr
Github: rebelinux
@@ -19,7 +19,7 @@ function Get-AbrOntapRepVserverPeer {
)
begin {
- Write-PscriboMessage "Collecting ONTAP Vserver Peer information."
+ Write-PScriboMessage "Collecting ONTAP Vserver Peer information."
}
process {
@@ -37,9 +37,8 @@ function Get-AbrOntapRepVserverPeer {
'Peer State' = $Item.PeerState
}
$ReplicaObj += [pscustomobject]$inobj
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
if ($Healthcheck.Replication.VserverPeer) {
@@ -49,16 +48,15 @@ function Get-AbrOntapRepVserverPeer {
$TableParams = @{
Name = "Peer - $($ClusterInfo.ClusterName)"
List = $false
- ColumnWidths = 20, 20, 20 ,20, 20
+ ColumnWidths = 20, 20, 20 , 20, 20
}
if ($Report.ShowTableCaptions) {
$TableParams['Caption'] = "- $($TableParams.Name)"
}
$ReplicaObj | Table @TableParams
}
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
diff --git a/Src/Private/Get-AbrOntapSecurityKMS.ps1 b/Src/Private/Get-AbrOntapSecurityKMS.ps1
index 011aada..4980d0e 100755
--- a/Src/Private/Get-AbrOntapSecurityKMS.ps1
+++ b/Src/Private/Get-AbrOntapSecurityKMS.ps1
@@ -5,7 +5,7 @@ function Get-AbrOntapSecurityKMS {
.DESCRIPTION
.NOTES
- Version: 0.6.3
+ Version: 0.6.7
Author: Jonathan Colon
Twitter: @jcolonfzenpr
Github: rebelinux
@@ -19,7 +19,7 @@ function Get-AbrOntapSecurityKMS {
)
begin {
- Write-PscriboMessage "Collecting ONTAP Security Key Management Service information."
+ Write-PScriboMessage "Collecting ONTAP Security Key Management Service information."
}
process {
@@ -35,9 +35,8 @@ function Get-AbrOntapSecurityKMS {
'Vserver' = $Item.Vserver
}
$OutObj += [pscustomobject]$inobj
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
@@ -51,9 +50,8 @@ function Get-AbrOntapSecurityKMS {
}
$OutObj | Table @TableParams
}
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
diff --git a/Src/Private/Get-AbrOntapSecurityKMSExt.ps1 b/Src/Private/Get-AbrOntapSecurityKMSExt.ps1
index 7ab6910..c772041 100755
--- a/Src/Private/Get-AbrOntapSecurityKMSExt.ps1
+++ b/Src/Private/Get-AbrOntapSecurityKMSExt.ps1
@@ -5,7 +5,7 @@ function Get-AbrOntapSecurityKMSExt {
.DESCRIPTION
.NOTES
- Version: 0.6.3
+ Version: 0.6.7
Author: Jonathan Colon
Twitter: @jcolonfzenpr
Github: rebelinux
@@ -19,7 +19,7 @@ function Get-AbrOntapSecurityKMSExt {
)
begin {
- Write-PscriboMessage "Collecting ONTAP Security Key Management Service External information."
+ Write-PScriboMessage "Collecting ONTAP Security Key Management Service External information."
}
process {
@@ -37,9 +37,8 @@ function Get-AbrOntapSecurityKMSExt {
'Vserver' = $Item.Vserver
}
$OutObj += [pscustomobject]$inobj
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
@@ -53,9 +52,8 @@ function Get-AbrOntapSecurityKMSExt {
}
$OutObj | Table @TableParams
}
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
diff --git a/Src/Private/Get-AbrOntapSecurityKMSExtStatus.ps1 b/Src/Private/Get-AbrOntapSecurityKMSExtStatus.ps1
index 6e432b2..9c3a3b0 100755
--- a/Src/Private/Get-AbrOntapSecurityKMSExtStatus.ps1
+++ b/Src/Private/Get-AbrOntapSecurityKMSExtStatus.ps1
@@ -5,7 +5,7 @@ function Get-AbrOntapSecurityKMSExtStatus {
.DESCRIPTION
.NOTES
- Version: 0.6.3
+ Version: 0.6.7
Author: Jonathan Colon
Twitter: @jcolonfzenpr
Github: rebelinux
@@ -19,7 +19,7 @@ function Get-AbrOntapSecurityKMSExtStatus {
)
begin {
- Write-PscriboMessage "Collecting ONTAP Security Key Management Service External Status information."
+ Write-PScriboMessage "Collecting ONTAP Security Key Management Service External Status information."
}
process {
@@ -36,14 +36,13 @@ function Get-AbrOntapSecurityKMSExtStatus {
'Status' = $TextInfo.ToTitleCase($Item.KeyManagerServerStatus)
}
$OutObj += [pscustomobject]$inobj
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
if ($Healthcheck.Security.KMS) {
- $OutObj | Where-Object { $_.'Status' -ne 'Available'} | Set-Style -Style Critical -Property 'Status'
+ $OutObj | Where-Object { $_.'Status' -ne 'Available' } | Set-Style -Style Critical -Property 'Status'
}
$TableParams = @{
@@ -56,9 +55,8 @@ function Get-AbrOntapSecurityKMSExtStatus {
}
$OutObj | Table @TableParams
}
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
diff --git a/Src/Private/Get-AbrOntapSecurityMAP.ps1 b/Src/Private/Get-AbrOntapSecurityMAP.ps1
index 8d186a5..c4fd05c 100755
--- a/Src/Private/Get-AbrOntapSecurityMAP.ps1
+++ b/Src/Private/Get-AbrOntapSecurityMAP.ps1
@@ -5,7 +5,7 @@ function Get-AbrOntapSecurityMAP {
.DESCRIPTION
.NOTES
- Version: 0.6.5
+ Version: 0.6.7
Author: Jonathan Colon
Twitter: @jcolonfzenpr
Github: rebelinux
@@ -19,12 +19,12 @@ function Get-AbrOntapSecurityMAP {
)
begin {
- Write-PscriboMessage "Collecting ONTAP Security Vserver Multi-Admin Approval information."
+ Write-PScriboMessage "Collecting ONTAP Security Vserver Multi-Admin Approval information."
}
process {
try {
- $Data = Get-NetAppOntapAPI -uri "/api/security/multi-admin-verify/approval-groups?fields=**&return_records=true&return_timeout=15"
+ $Data = Get-NetAppOntapAPI -uri "/api/security/multi-admin-verify/approval-groups?fields=**&return_records=true&return_timeout=15"
$OutObj = @()
if ($Data) {
foreach ($Item in $Data) {
@@ -32,36 +32,34 @@ function Get-AbrOntapSecurityMAP {
$inObj = [ordered] @{
'Name' = $Item.Name
'Approvers' = Switch ([string]::IsNullOrEmpty($Item.Approvers)) {
- $true {'-'}
- $false {$Item.Approvers -join ', '}
- default {'-'}
+ $true { '-' }
+ $false { $Item.Approvers -join ', ' }
+ default { '-' }
}
'Email' = Switch ([string]::IsNullOrEmpty($Item.Email)) {
- $true {'-'}
- $false {$Item.Email -join ', '}
- default {'-'}
+ $true { '-' }
+ $false { $Item.Email -join ', ' }
+ default { '-' }
}
}
$OutObj += [pscustomobject]$inobj
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
$TableParams = @{
Name = "Multi-Admin Approval - $($ClusterInfo.ClusterName)"
List = $false
- ColumnWidths = 34,33, 33
+ ColumnWidths = 34, 33, 33
}
if ($Report.ShowTableCaptions) {
$TableParams['Caption'] = "- $($TableParams.Name)"
}
$OutObj | Table @TableParams
}
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
diff --git a/Src/Private/Get-AbrOntapSecurityMAPRule.ps1 b/Src/Private/Get-AbrOntapSecurityMAPRule.ps1
index 43187e8..ce0329c 100755
--- a/Src/Private/Get-AbrOntapSecurityMAPRule.ps1
+++ b/Src/Private/Get-AbrOntapSecurityMAPRule.ps1
@@ -5,7 +5,7 @@ function Get-AbrOntapSecurityMAPRule {
.DESCRIPTION
.NOTES
- Version: 0.6.5
+ Version: 0.6.7
Author: Jonathan Colon
Twitter: @jcolonfzenpr
Github: rebelinux
@@ -19,12 +19,12 @@ function Get-AbrOntapSecurityMAPRule {
)
begin {
- Write-PscriboMessage "Collecting ONTAP Security Vserver Multi-Admin Approval rules information."
+ Write-PScriboMessage "Collecting ONTAP Security Vserver Multi-Admin Approval rules information."
}
process {
try {
- $Data = Get-NetAppOntapAPI -uri "/api/security/multi-admin-verify/rules?fields=**&return_records=true&return_timeout=15"
+ $Data = Get-NetAppOntapAPI -uri "/api/security/multi-admin-verify/rules?fields=**&return_records=true&return_timeout=15"
$OutObj = @()
if ($Data) {
foreach ($Item in $Data) {
@@ -33,18 +33,17 @@ function Get-AbrOntapSecurityMAPRule {
'operation' = $Item.operation
'query' = ConvertTo-EmptyToFiller $Item.query
'Approval Groups' = Switch ([string]::IsNullOrEmpty($Item.approval_groups.name)) {
- $true {'-'}
- $false {$Item.approval_groups.name}
- default {'-'}
+ $true { '-' }
+ $false { $Item.approval_groups.name }
+ default { '-' }
}
'Required Approvers' = ConvertTo-EmptyToFiller $Item.required_approvers
'System Defined' = ConvertTo-TextYN $Item.system_defined
}
$OutObj += [pscustomobject]$inobj
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
@@ -58,9 +57,8 @@ function Get-AbrOntapSecurityMAPRule {
}
$OutObj | Sort-Object -Property 'System Defined' | Table @TableParams
}
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
diff --git a/Src/Private/Get-AbrOntapSecurityNAE.ps1 b/Src/Private/Get-AbrOntapSecurityNAE.ps1
index 2630904..5aa3025 100755
--- a/Src/Private/Get-AbrOntapSecurityNAE.ps1
+++ b/Src/Private/Get-AbrOntapSecurityNAE.ps1
@@ -5,7 +5,7 @@ function Get-AbrOntapSecurityNAE {
.DESCRIPTION
.NOTES
- Version: 0.6.3
+ Version: 0.6.7
Author: Jonathan Colon
Twitter: @jcolonfzenpr
Github: rebelinux
@@ -19,17 +19,17 @@ function Get-AbrOntapSecurityNAE {
)
begin {
- Write-PscriboMessage "Collecting ONTAP Security Aggregate NAE information."
+ Write-PScriboMessage "Collecting ONTAP Security Aggregate NAE information."
}
process {
try {
- $Data = Get-NcAggr -Controller $Array
+ $Data = Get-NcAggr -Controller $Array
$OutObj = @()
if ($Data) {
foreach ($Item in $Data) {
try {
- $NAE = (Get-NcAggrOption -Name $Item.Name -Controller $Array | Where-Object {$_.Name -eq "encrypt_with_aggr_key"}).Value
+ $NAE = (Get-NcAggrOption -Name $Item.Name -Controller $Array | Where-Object { $_.Name -eq "encrypt_with_aggr_key" }).Value
$inObj = [ordered] @{
'Aggregate' = $Item.Name
'Aggregate Encryption' = Switch ($NAE) {
@@ -42,13 +42,12 @@ function Get-AbrOntapSecurityNAE {
'State' = $TextInfo.ToTitleCase($Item.State)
}
$OutObj += [pscustomobject]$inobj
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
if ($Healthcheck.Storage.Aggr) {
- $OutObj | Where-Object { $_.'State' -ne 'Online'} | Set-Style -Style Warning -Property 'State'
+ $OutObj | Where-Object { $_.'State' -ne 'Online' } | Set-Style -Style Warning -Property 'State'
}
$TableParams = @{
@@ -61,9 +60,8 @@ function Get-AbrOntapSecurityNAE {
}
$OutObj | Table @TableParams
}
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
diff --git a/Src/Private/Get-AbrOntapSecurityNVE.ps1 b/Src/Private/Get-AbrOntapSecurityNVE.ps1
index 85518e3..3615aec 100755
--- a/Src/Private/Get-AbrOntapSecurityNVE.ps1
+++ b/Src/Private/Get-AbrOntapSecurityNVE.ps1
@@ -5,7 +5,7 @@ function Get-AbrOntapSecurityNVE {
.DESCRIPTION
.NOTES
- Version: 0.6.3
+ Version: 0.6.7
Author: Jonathan Colon
Twitter: @jcolonfzenpr
Github: rebelinux
@@ -19,12 +19,12 @@ function Get-AbrOntapSecurityNVE {
)
begin {
- Write-PscriboMessage "Collecting ONTAP Security Volume NVE information."
+ Write-PScriboMessage "Collecting ONTAP Security Volume NVE information."
}
process {
try {
- $Data = Get-NcVol -Controller $Array |Where-Object {$_.JunctionPath -ne '/' -and $_.Name -ne 'vol0' -and $_.VolumeStateAttributes.IsConstituent -ne "True"} | Select-Object -Property vserver,name,aggregate,state,@{Label = "Node"; expression = {$_.VolumeIdAttributes.Nodes}},encrypt,@{Label = "encryptionstate"; expression = {(Get-NcVolumeEncryptionConversion -Vserver $_.vserver -Volume $_.name -Controller $Array).status}}
+ $Data = Get-NcVol -Controller $Array | Where-Object { $_.JunctionPath -ne '/' -and $_.Name -ne 'vol0' -and $_.VolumeStateAttributes.IsConstituent -ne "True" } | Select-Object -Property vserver, name, aggregate, state, @{Label = "Node"; expression = { $_.VolumeIdAttributes.Nodes } }, encrypt, @{Label = "encryptionstate"; expression = { (Get-NcVolumeEncryptionConversion -Vserver $_.vserver -Volume $_.name -Controller $Array).status } }
$OutObj = @()
if ($Data) {
foreach ($Item in $Data) {
@@ -36,13 +36,12 @@ function Get-AbrOntapSecurityNVE {
'State' = $TextInfo.ToTitleCase($Item.State)
}
$OutObj += [pscustomobject]$inobj
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
if ($Healthcheck.Storage.Aggr) {
- $OutObj | Where-Object { $_.'State' -ne 'Online'} | Set-Style -Style Warning -Property 'State'
+ $OutObj | Where-Object { $_.'State' -ne 'Online' } | Set-Style -Style Warning -Property 'State'
}
$TableParams = @{
@@ -55,9 +54,8 @@ function Get-AbrOntapSecurityNVE {
}
$OutObj | Table @TableParams
}
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
diff --git a/Src/Private/Get-AbrOntapSecuritySSLDetailed.ps1 b/Src/Private/Get-AbrOntapSecuritySSLDetailed.ps1
index aaca11f..f34bec7 100755
--- a/Src/Private/Get-AbrOntapSecuritySSLDetailed.ps1
+++ b/Src/Private/Get-AbrOntapSecuritySSLDetailed.ps1
@@ -5,7 +5,7 @@ function Get-AbrOntapSecuritySSLDetailed {
.DESCRIPTION
.NOTES
- Version: 0.6.4
+ Version: 0.6.7
Author: Jonathan Colon
Twitter: @jcolonfzenpr
Github: rebelinux
@@ -19,12 +19,12 @@ function Get-AbrOntapSecuritySSLDetailed {
)
begin {
- Write-PscriboMessage "Collecting ONTAP Security Vserver SSL Detailed information."
+ Write-PScriboMessage "Collecting ONTAP Security Vserver SSL Detailed information."
}
process {
try {
- $Data = Get-NcSecurityCertificate -Controller $Array | Where-Object {$_.Type -eq "server" -and $_.Vserver -notin $Options.Exclude.Vserver}
+ $Data = Get-NcSecurityCertificate -Controller $Array | Where-Object { $_.Type -eq "server" -and $_.Vserver -notin $Options.Exclude.Vserver }
$OutObj = @()
if ($Data) {
foreach ($Item in $Data) {
@@ -35,16 +35,15 @@ function Get-AbrOntapSecuritySSLDetailed {
'Hash Function' = $Item.HashFunction
'Serial Number' = $Item.SerialNumber
'Expiration' = Switch ([string]::IsNullOrEmpty($Item.ExpirationDateDT)) {
- $true {'-'}
- $false {($Item.ExpirationDateDT).ToString().Split(" ")[0]}
- default {'Unknown'}
+ $true { '-' }
+ $false { ($Item.ExpirationDateDT).ToString().Split(" ")[0] }
+ default { 'Unknown' }
}
'Vserver' = $Item.Vserver
}
$OutObj += [pscustomobject]$inobj
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
@@ -58,9 +57,8 @@ function Get-AbrOntapSecuritySSLDetailed {
}
$OutObj | Table @TableParams
}
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
diff --git a/Src/Private/Get-AbrOntapSecuritySSLVserver.ps1 b/Src/Private/Get-AbrOntapSecuritySSLVserver.ps1
index 4f97fb6..58b2a9d 100755
--- a/Src/Private/Get-AbrOntapSecuritySSLVserver.ps1
+++ b/Src/Private/Get-AbrOntapSecuritySSLVserver.ps1
@@ -5,7 +5,7 @@ function Get-AbrOntapSecuritySSLVserver {
.DESCRIPTION
.NOTES
- Version: 0.6.4
+ Version: 0.6.7
Author: Jonathan Colon
Twitter: @jcolonfzenpr
Github: rebelinux
@@ -19,12 +19,12 @@ function Get-AbrOntapSecuritySSLVserver {
)
begin {
- Write-PscriboMessage "Collecting ONTAP Security Vserver SSL information."
+ Write-PScriboMessage "Collecting ONTAP Security Vserver SSL information."
}
process {
try {
- $Data = Get-NcSecuritySsl -Controller $Array | Where-Object {$_.Vserver -notin $Options.Exclude.Vserver}
+ $Data = Get-NcSecuritySsl -Controller $Array | Where-Object { $_.Vserver -notin $Options.Exclude.Vserver }
$OutObj = @()
if ($Data) {
foreach ($Item in $Data) {
@@ -38,9 +38,8 @@ function Get-AbrOntapSecuritySSLVserver {
'Vserver' = $Item.Vserver
}
$OutObj += [pscustomobject]$inobj
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
@@ -54,9 +53,8 @@ function Get-AbrOntapSecuritySSLVserver {
}
$OutObj | Table @TableParams
}
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
diff --git a/Src/Private/Get-AbrOntapSecuritySnapLockAggr.ps1 b/Src/Private/Get-AbrOntapSecuritySnapLockAggr.ps1
index 4f6e7bb..3c52902 100755
--- a/Src/Private/Get-AbrOntapSecuritySnapLockAggr.ps1
+++ b/Src/Private/Get-AbrOntapSecuritySnapLockAggr.ps1
@@ -5,7 +5,7 @@ function Get-AbrOntapSecuritySnapLockAggr {
.DESCRIPTION
.NOTES
- Version: 0.6.3
+ Version: 0.6.7
Author: Jonathan Colon
Twitter: @jcolonfzenpr
Github: rebelinux
@@ -19,12 +19,12 @@ function Get-AbrOntapSecuritySnapLockAggr {
)
begin {
- Write-PscriboMessage "Collecting ONTAP Security Aggregate Snaplock Type information."
+ Write-PScriboMessage "Collecting ONTAP Security Aggregate Snaplock Type information."
}
process {
try {
- $Data = Get-NcAggr -Controller $Array | Where-Object {$_.AggrRaidAttributes.HasLocalRoot -ne 'True'}
+ $Data = Get-NcAggr -Controller $Array | Where-Object { $_.AggrRaidAttributes.HasLocalRoot -ne 'True' }
$OutObj = @()
if ($Data) {
foreach ($Item in $Data) {
@@ -35,9 +35,8 @@ function Get-AbrOntapSecuritySnapLockAggr {
'Snaplock Type' = $TextInfo.ToTitleCase($SnapLockType.SnaplockType)
}
$OutObj += [pscustomobject]$inobj
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
@@ -51,9 +50,8 @@ function Get-AbrOntapSecuritySnapLockAggr {
}
$OutObj | Table @TableParams
}
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
diff --git a/Src/Private/Get-AbrOntapSecuritySnapLockClock.ps1 b/Src/Private/Get-AbrOntapSecuritySnapLockClock.ps1
index cbdc69f..2e5e159 100755
--- a/Src/Private/Get-AbrOntapSecuritySnapLockClock.ps1
+++ b/Src/Private/Get-AbrOntapSecuritySnapLockClock.ps1
@@ -5,7 +5,7 @@ function Get-AbrOntapSecuritySnapLockClock {
.DESCRIPTION
.NOTES
- Version: 0.6.3
+ Version: 0.6.7
Author: Jonathan Colon
Twitter: @jcolonfzenpr
Github: rebelinux
@@ -19,12 +19,12 @@ function Get-AbrOntapSecuritySnapLockClock {
)
begin {
- Write-PscriboMessage "Collecting ONTAP Security Snaplock compliance clock information."
+ Write-PScriboMessage "Collecting ONTAP Security Snaplock compliance clock information."
}
process {
try {
- $Data = Get-NcNode -Controller $Array
+ $Data = Get-NcNode -Controller $Array
$OutObj = @()
if ($Data) {
foreach ($Item in $Data) {
@@ -38,9 +38,8 @@ function Get-AbrOntapSecuritySnapLockClock {
}
}
$OutObj += [pscustomobject]$inobj
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
@@ -54,9 +53,8 @@ function Get-AbrOntapSecuritySnapLockClock {
}
$OutObj | Table @TableParams
}
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
diff --git a/Src/Private/Get-AbrOntapSecuritySnapLockVol.ps1 b/Src/Private/Get-AbrOntapSecuritySnapLockVol.ps1
index 8d843ab..21459b8 100755
--- a/Src/Private/Get-AbrOntapSecuritySnapLockVol.ps1
+++ b/Src/Private/Get-AbrOntapSecuritySnapLockVol.ps1
@@ -5,7 +5,7 @@ function Get-AbrOntapSecuritySnapLockVol {
.DESCRIPTION
.NOTES
- Version: 0.6.3
+ Version: 0.6.7
Author: Jonathan Colon
Twitter: @jcolonfzenpr
Github: rebelinux
@@ -19,26 +19,25 @@ function Get-AbrOntapSecuritySnapLockVol {
)
begin {
- Write-PscriboMessage "Collecting ONTAP Security Volume Snaplock Type information."
+ Write-PScriboMessage "Collecting ONTAP Security Volume Snaplock Type information."
}
process {
try {
- $Data = Get-NcVol -Controller $Array | Where-Object {$_.JunctionPath -ne '/' -and $_.Name -ne 'vol0'}
+ $Data = Get-NcVol -Controller $Array | Where-Object { $_.JunctionPath -ne '/' -and $_.Name -ne 'vol0' }
$OutObj = @()
if ($Data) {
foreach ($Item in $Data) {
try {
- $SnapLockType = Get-Ncvol $Item.Name -Controller $Array | Select-Object -ExpandProperty VolumeSnaplockAttributes
+ $SnapLockType = Get-NcVol $Item.Name -Controller $Array | Select-Object -ExpandProperty VolumeSnaplockAttributes
$inObj = [ordered] @{
'Volume' = $Item.Name
'Aggregate' = $Item.Aggregate
'Snaplock Type' = $TextInfo.ToTitleCase($SnapLockType.SnaplockType)
}
$OutObj += [pscustomobject]$inobj
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
@@ -52,9 +51,8 @@ function Get-AbrOntapSecuritySnapLockVol {
}
$OutObj | Table @TableParams
}
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
diff --git a/Src/Private/Get-AbrOntapSecuritySnapLockVollAttr.ps1 b/Src/Private/Get-AbrOntapSecuritySnapLockVollAttr.ps1
index 4466fd6..dda9191 100755
--- a/Src/Private/Get-AbrOntapSecuritySnapLockVollAttr.ps1
+++ b/Src/Private/Get-AbrOntapSecuritySnapLockVollAttr.ps1
@@ -5,7 +5,7 @@ function Get-AbrOntapSecuritySnapLockVollAttr {
.DESCRIPTION
.NOTES
- Version: 0.6.3
+ Version: 0.6.7
Author: Jonathan Colon
Twitter: @jcolonfzenpr
Github: rebelinux
@@ -19,18 +19,18 @@ function Get-AbrOntapSecuritySnapLockVollAttr {
)
begin {
- Write-PscriboMessage "Collecting ONTAP Security Snaplock volume attributes information."
+ Write-PScriboMessage "Collecting ONTAP Security Snaplock volume attributes information."
}
process {
try {
- $Data = Get-NcVserver -Controller $Array | Where-Object {$_.VserverType -eq "data"}
- $VolumeFilter = Get-Ncvol -Controller $Array | Where-Object {$_.VolumeSnaplockAttributes.SnaplockType -in "enterprise","compliance"}
+ $Data = Get-NcVserver -Controller $Array | Where-Object { $_.VserverType -eq "data" }
+ $VolumeFilter = Get-NcVol -Controller $Array | Where-Object { $_.VolumeSnaplockAttributes.SnaplockType -in "enterprise", "compliance" }
$OutObj = @()
if ($Data -and $VolumeFilter) {
foreach ($Item in $Data) {
try {
- $VolumeFilter = Get-Ncvol -VserverContext $Item.Vserver -Controller $Array | Where-Object {$_.VolumeSnaplockAttributes.SnaplockType -in "enterprise","compliance"}
+ $VolumeFilter = Get-NcVol -VserverContext $Item.Vserver -Controller $Array | Where-Object { $_.VolumeSnaplockAttributes.SnaplockType -in "enterprise", "compliance" }
foreach ($vol in $VolumeFilter) {
$SnapLockVolAttr = Get-NcSnaplockVolAttr -Volume $vol.Name -VserverContext $Item.VserverName -Controller $Array
$inObj = [ordered] @{
@@ -61,15 +61,13 @@ function Get-AbrOntapSecuritySnapLockVollAttr {
}
$OutObj | Table @TableParams
}
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
}
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
diff --git a/Src/Private/Get-AbrOntapSecurityUsers.ps1 b/Src/Private/Get-AbrOntapSecurityUsers.ps1
index 71a6ebb..03a618d 100755
--- a/Src/Private/Get-AbrOntapSecurityUsers.ps1
+++ b/Src/Private/Get-AbrOntapSecurityUsers.ps1
@@ -5,7 +5,7 @@ function Get-AbrOntapSecurityUser {
.DESCRIPTION
.NOTES
- Version: 0.6.3
+ Version: 0.6.7
Author: Jonathan Colon
Twitter: @jcolonfzenpr
Github: rebelinux
@@ -18,17 +18,17 @@ function Get-AbrOntapSecurityUser {
[Parameter (
Position = 0,
Mandatory)]
- [string]
- $Vserver
+ [string]
+ $Vserver
)
begin {
- Write-PscriboMessage "Collecting ONTAP Security Local Users information."
+ Write-PScriboMessage "Collecting ONTAP Security Local Users information."
}
process {
try {
- $Data = Get-NcUser -Vserver $Vserver -Controller $Array
+ $Data = Get-NcUser -Vserver $Vserver -Controller $Array
$OutObj = @()
if ($Data) {
foreach ($Item in $Data) {
@@ -41,13 +41,12 @@ function Get-AbrOntapSecurityUser {
'Locked' = ConvertTo-TextYN $Item.IsLocked
}
$OutObj += [pscustomobject]$inobj
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
if ($Healthcheck.Security.Users) {
- $OutObj | Where-Object { $_.'Locked' -eq 'Yes' -and $_.'User Name' -ne "vsadmin"} | Set-Style -Style Warning -Property 'Locked'
+ $OutObj | Where-Object { $_.'Locked' -eq 'Yes' -and $_.'User Name' -ne "vsadmin" } | Set-Style -Style Warning -Property 'Locked'
}
$TableParams = @{
@@ -60,9 +59,8 @@ function Get-AbrOntapSecurityUser {
}
$OutObj | Table @TableParams
}
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
diff --git a/Src/Private/Get-AbrOntapStorageAGGR.ps1 b/Src/Private/Get-AbrOntapStorageAGGR.ps1
index a0ad721..0d64dd0 100755
--- a/Src/Private/Get-AbrOntapStorageAGGR.ps1
+++ b/Src/Private/Get-AbrOntapStorageAGGR.ps1
@@ -5,7 +5,7 @@ function Get-AbrOntapStorageAGGR {
.DESCRIPTION
.NOTES
- Version: 0.6.5
+ Version: 0.6.7
Author: Jonathan Colon
Twitter: @jcolonfzenpr
Github: rebelinux
@@ -19,7 +19,7 @@ function Get-AbrOntapStorageAGGR {
)
begin {
- Write-PscriboMessage "Collecting ONTAP storage aggregate information."
+ Write-PScriboMessage "Collecting ONTAP storage aggregate information."
}
process {
@@ -28,36 +28,35 @@ function Get-AbrOntapStorageAGGR {
if ($AggrSpace) {
$AggrSpaceSummary = foreach ($Aggr in $AggrSpace) {
try {
- $RootAggr = Get-NcAggr $Aggr.Name -Controller $Array | ForEach-Object{ $_.AggrRaidAttributes.HasLocalRoot }
+ $RootAggr = Get-NcAggr $Aggr.Name -Controller $Array | ForEach-Object { $_.AggrRaidAttributes.HasLocalRoot }
[PSCustomObject] @{
'Name' = $Aggr.Name
'Capacity' = Switch ([string]::IsNullOrEmpty($Aggr.Totalsize)) {
- $true {'Unknown'}
- $false {$Aggr.Totalsize | ConvertTo-FormattedNumber -Type Datasize -ErrorAction SilentlyContinue}
- default {'Unknown'}
+ $true { 'Unknown' }
+ $false { $Aggr.Totalsize | ConvertTo-FormattedNumber -Type Datasize -ErrorAction SilentlyContinue }
+ default { 'Unknown' }
}
'Available' = Switch ([string]::IsNullOrEmpty($Aggr.Available)) {
- $true {'Unknown'}
- $false {$Aggr.Available | ConvertTo-FormattedNumber -Type Datasize -ErrorAction SilentlyContinue}
- default {'Unknown'}
+ $true { 'Unknown' }
+ $false { $Aggr.Available | ConvertTo-FormattedNumber -Type Datasize -ErrorAction SilentlyContinue }
+ default { 'Unknown' }
}
'Used' = Switch ([string]::IsNullOrEmpty($Aggr.Used)) {
- $true {'Unknown'}
- $false {$Aggr.Used | ConvertTo-FormattedNumber -Type Percent -ErrorAction SilentlyContinue}
- default {'Unknown'}
+ $true { 'Unknown' }
+ $false { $Aggr.Used | ConvertTo-FormattedNumber -Type Percent -ErrorAction SilentlyContinue }
+ default { 'Unknown' }
}
'Disk Count' = $Aggr.Disks
'Root' = ConvertTo-TextYN $RootAggr
'Raid Type' = Switch ([string]::IsNullOrEmpty($Aggr.RaidType)) {
- $true {'Unknown'}
- $false {($Aggr.RaidType.Split(",")[0]).ToUpper()}
- default {'Unknown'}
+ $true { 'Unknown' }
+ $false { ($Aggr.RaidType.Split(",")[0]).ToUpper() }
+ default { 'Unknown' }
}
'State' = $Aggr.State
}
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
if ($Healthcheck.Storage.Aggr) {
@@ -84,27 +83,26 @@ function Get-AbrOntapStorageAGGR {
[PSCustomObject] @{
'Name' = $Spare.Disk
'Capacity' = Switch ([string]::IsNullOrEmpty($Spare.TotalSize)) {
- $true {'-'}
- $false {$Spare.TotalSize | ConvertTo-FormattedNumber -Type Datasize -ErrorAction SilentlyContinue}
- default {'-'}
+ $true { '-' }
+ $false { $Spare.TotalSize | ConvertTo-FormattedNumber -Type Datasize -ErrorAction SilentlyContinue }
+ default { '-' }
}
'Root Usable' = Switch ([string]::IsNullOrEmpty($Spare.LocalUsableRootSize)) {
- $true {'-'}
- $false {$Spare.LocalUsableRootSize | ConvertTo-FormattedNumber -Type Datasize -ErrorAction SilentlyContinue}
- default {'-'}
+ $true { '-' }
+ $false { $Spare.LocalUsableRootSize | ConvertTo-FormattedNumber -Type Datasize -ErrorAction SilentlyContinue }
+ default { '-' }
}
'Data Usable' = Switch ([string]::IsNullOrEmpty($Spare.LocalUsableDataSize)) {
- $true {'-'}
- $false {$Spare.LocalUsableDataSize | ConvertTo-FormattedNumber -Type Datasize -ErrorAction SilentlyContinue}
- default {'-'}
+ $true { '-' }
+ $false { $Spare.LocalUsableDataSize | ConvertTo-FormattedNumber -Type Datasize -ErrorAction SilentlyContinue }
+ default { '-' }
}
'Shared Disk' = ConvertTo-TextYN $Spare.IsDiskShared
'Disk Zeroed' = ConvertTo-TextYN $Spare.IsDiskZeroed
'Owner' = $Spare.OriginalOwner
}
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
if ($Healthcheck.Storage.Aggr) {
@@ -121,21 +119,20 @@ function Get-AbrOntapStorageAGGR {
$AggrSpareSummary | Table @TableParams
}
}
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
try {
if ($InfoLevel.Storage -ge 2) {
Section -Style Heading4 'Aggregate Options' {
- $Aggregates = Get-NcAggr -Controller $Array | Where-Object {!$_.AggrRaidAttributes.HasLocalRoot}
+ $Aggregates = Get-NcAggr -Controller $Array | Where-Object { !$_.AggrRaidAttributes.HasLocalRoot }
foreach ($Aggregate in $Aggregates) {
try {
Section -Style Heading5 "$($Aggregate.Name) Options" {
$OutObj = @()
$Options = Get-NcAggrOption -Controller $Array -Name $Aggregate.Name
$Option = @{}
- $Options | ForEach-Object {$Option.add($_.Name, $_.Value)}
+ $Options | ForEach-Object { $Option.add($_.Name, $_.Value) }
$inObj = [ordered] @{
'azcs_read_optimization' = $TextInfo.ToTitleCase($Option.azcs_read_optimization)
'dir_holes' = ConvertTo-TextYN $Option.dir_holes
@@ -178,20 +175,17 @@ function Get-AbrOntapStorageAGGR {
}
$OutObj | Table @TableParams
}
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
}
}
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
- }
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
diff --git a/Src/Private/Get-AbrOntapStorageFabricPool.ps1 b/Src/Private/Get-AbrOntapStorageFabricPool.ps1
index c1c8036..b05d8bf 100755
--- a/Src/Private/Get-AbrOntapStorageFabricPool.ps1
+++ b/Src/Private/Get-AbrOntapStorageFabricPool.ps1
@@ -5,7 +5,7 @@ function Get-AbrOntapStorageFabricPool {
.DESCRIPTION
.NOTES
- Version: 0.6.3
+ Version: 0.6.7
Author: Jonathan Colon
Twitter: @jcolonfzenpr
Github: rebelinux
@@ -19,12 +19,12 @@ function Get-AbrOntapStorageFabricPool {
)
begin {
- Write-PscriboMessage "Collecting ONTAP Aggregate FabriPool information."
+ Write-PScriboMessage "Collecting ONTAP Aggregate FabriPool information."
}
process {
try {
- $Data = Get-NcAggrObjectStore -Controller $Array
+ $Data = Get-NcAggrObjectStore -Controller $Array
$OutObj = @()
if ($Data) {
foreach ($Item in $Data) {
@@ -38,9 +38,8 @@ function Get-AbrOntapStorageFabricPool {
'Status' = $Item.ObjectStoreAvailability
}
$OutObj += [pscustomobject]$inobj
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
if ($Healthcheck.Storage.FabricPool) {
@@ -57,9 +56,8 @@ function Get-AbrOntapStorageFabricPool {
}
$OutObj | Table @TableParams
}
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
diff --git a/Src/Private/Get-AbrOntapStorageFabricPoolConfig.ps1 b/Src/Private/Get-AbrOntapStorageFabricPoolConfig.ps1
index 0b810af..efcec6f 100755
--- a/Src/Private/Get-AbrOntapStorageFabricPoolConfig.ps1
+++ b/Src/Private/Get-AbrOntapStorageFabricPoolConfig.ps1
@@ -5,7 +5,7 @@ function Get-AbrOntapEfficiencyAggrConfig {
.DESCRIPTION
.NOTES
- Version: 0.6.3
+ Version: 0.6.7
Author: Jonathan Colon
Twitter: @jcolonfzenpr
Github: rebelinux
@@ -19,12 +19,12 @@ function Get-AbrOntapEfficiencyAggrConfig {
)
begin {
- Write-PscriboMessage "Collecting ONTAP Aggregate FabriPool Object Store information."
+ Write-PScriboMessage "Collecting ONTAP Aggregate FabriPool Object Store information."
}
process {
try {
- $Data = Get-NcAggrObjectStoreConfig -Controller $Array
+ $Data = Get-NcAggrObjectStoreConfig -Controller $Array
$OutObj = @()
if ($Data) {
foreach ($Item in $Data) {
@@ -49,15 +49,13 @@ function Get-AbrOntapEfficiencyAggrConfig {
$TableParams['Caption'] = "- $($TableParams.Name)"
}
$OutObj | Table @TableParams
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
}
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
diff --git a/Src/Private/Get-AbrOntapSysConfigBackup.ps1 b/Src/Private/Get-AbrOntapSysConfigBackup.ps1
index d8fb326..79e9a41 100755
--- a/Src/Private/Get-AbrOntapSysConfigBackup.ps1
+++ b/Src/Private/Get-AbrOntapSysConfigBackup.ps1
@@ -5,7 +5,7 @@ function Get-AbrOntapSysConfigBackup {
.DESCRIPTION
.NOTES
- Version: 0.6.3
+ Version: 0.6.7
Author: Jonathan Colon
Twitter: @jcolonfzenpr
Github: rebelinux
@@ -18,17 +18,17 @@ function Get-AbrOntapSysConfigBackup {
[Parameter (
Position = 0,
Mandatory)]
- [string]
- $Node
+ [string]
+ $Node
)
begin {
- Write-PscriboMessage "Collecting ONTAP System Configuration Backups information."
+ Write-PScriboMessage "Collecting ONTAP System Configuration Backups information."
}
process {
try {
- $Data = Get-NcConfigBackup -Node $Node -Controller $Array
+ $Data = Get-NcConfigBackup -Node $Node -Controller $Array
$OutObj = @()
if ($Data) {
foreach ($Item in $Data) {
@@ -41,9 +41,8 @@ function Get-AbrOntapSysConfigBackup {
'Is Auto' = ConvertTo-TextYN $Item.IsAuto
}
$OutObj += [pscustomobject]$inobj
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
@@ -57,9 +56,8 @@ function Get-AbrOntapSysConfigBackup {
}
$OutObj | Table @TableParams
}
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
diff --git a/Src/Private/Get-AbrOntapSysConfigBackupURL.ps1 b/Src/Private/Get-AbrOntapSysConfigBackupURL.ps1
index c753d28..dd986df 100755
--- a/Src/Private/Get-AbrOntapSysConfigBackupURL.ps1
+++ b/Src/Private/Get-AbrOntapSysConfigBackupURL.ps1
@@ -5,7 +5,7 @@ function Get-AbrOntapSysConfigBackupURL {
.DESCRIPTION
.NOTES
- Version: 0.6.3
+ Version: 0.6.7
Author: Jonathan Colon
Twitter: @jcolonfzenpr
Github: rebelinux
@@ -19,12 +19,12 @@ function Get-AbrOntapSysConfigBackupURL {
)
begin {
- Write-PscriboMessage "Collecting ONTAP System Configuration Backup Setting information."
+ Write-PScriboMessage "Collecting ONTAP System Configuration Backup Setting information."
}
process {
try {
- $Data = Get-NcConfigBackupUrl -Controller $Array
+ $Data = Get-NcConfigBackupUrl -Controller $Array
$OutObj = @()
if ($Data) {
foreach ($Item in $Data) {
@@ -40,15 +40,14 @@ function Get-AbrOntapSysConfigBackupURL {
}
}
$OutObj += [pscustomobject]$inobj
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
if ($Healthcheck.System.Backup) {
- $OutObj | Where-Object { $_.'Url' -eq 'Not Configured'} | Set-Style -Style Warning -Property 'Url'
- $OutObj | Where-Object { $_.'Username' -eq 'Not Configured'} | Set-Style -Style Warning -Property 'Username'
+ $OutObj | Where-Object { $_.'Url' -eq 'Not Configured' } | Set-Style -Style Warning -Property 'Url'
+ $OutObj | Where-Object { $_.'Username' -eq 'Not Configured' } | Set-Style -Style Warning -Property 'Username'
}
$TableParams = @{
@@ -61,9 +60,8 @@ function Get-AbrOntapSysConfigBackupURL {
}
$OutObj | Table @TableParams
}
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
diff --git a/Src/Private/Get-AbrOntapSysConfigDNS.ps1 b/Src/Private/Get-AbrOntapSysConfigDNS.ps1
index eef5e79..a2b16a8 100755
--- a/Src/Private/Get-AbrOntapSysConfigDNS.ps1
+++ b/Src/Private/Get-AbrOntapSysConfigDNS.ps1
@@ -5,7 +5,7 @@ function Get-AbrOntapSysConfigDNS {
.DESCRIPTION
.NOTES
- Version: 0.6.4
+ Version: 0.6.7
Author: Jonathan Colon
Twitter: @jcolonfzenpr
Github: rebelinux
@@ -19,12 +19,12 @@ function Get-AbrOntapSysConfigDNS {
)
begin {
- Write-PscriboMessage "Collecting ONTAP System DNS Configuration information."
+ Write-PScriboMessage "Collecting ONTAP System DNS Configuration information."
}
process {
try {
- $Data = Get-NcNetDns -Controller $Array | Where-Object {$_.Vserver -notin $Options.Exclude.Vserver}
+ $Data = Get-NcNetDns -Controller $Array | Where-Object { $_.Vserver -notin $Options.Exclude.Vserver }
$OutObj = @()
if ($Data) {
foreach ($Item in $Data) {
@@ -37,9 +37,8 @@ function Get-AbrOntapSysConfigDNS {
'Timeout/s' = $Item.Timeout
}
$OutObj += [pscustomobject]$inobj
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
if ($Healthcheck.System.DNS) {
@@ -57,9 +56,8 @@ function Get-AbrOntapSysConfigDNS {
}
$OutObj | Table @TableParams
}
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
diff --git a/Src/Private/Get-AbrOntapSysConfigEMS.ps1 b/Src/Private/Get-AbrOntapSysConfigEMS.ps1
index cb53c8a..ad6a120 100755
--- a/Src/Private/Get-AbrOntapSysConfigEMS.ps1
+++ b/Src/Private/Get-AbrOntapSysConfigEMS.ps1
@@ -5,7 +5,7 @@ function Get-AbrOntapSysConfigEMS {
.DESCRIPTION
.NOTES
- Version: 0.6.3
+ Version: 0.6.7
Author: Jonathan Colon
Twitter: @jcolonfzenpr
Github: rebelinux
@@ -18,17 +18,17 @@ function Get-AbrOntapSysConfigEMS {
[Parameter (
Position = 0,
Mandatory)]
- [string]
- $Node
+ [string]
+ $Node
)
begin {
- Write-PscriboMessage "Collecting ONTAP System EMS Messages information."
+ Write-PScriboMessage "Collecting ONTAP System EMS Messages information."
}
process {
try {
- $Data = Get-NcEmsMessage -Node $Node -Severity "emergency","alert" -Controller $Array | Select-Object -First 30
+ $Data = Get-NcEmsMessage -Node $Node -Severity "emergency", "alert" -Controller $Array | Select-Object -First 30
$OutObj = @()
if ($Data) {
foreach ($Item in $Data) {
@@ -39,9 +39,8 @@ function Get-AbrOntapSysConfigEMS {
'Event' = $Item.Event
}
$OutObj += [pscustomobject]$inobj
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
@@ -55,9 +54,8 @@ function Get-AbrOntapSysConfigEMS {
}
$OutObj | Table @TableParams
}
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
diff --git a/Src/Private/Get-AbrOntapSysConfigEMSSettings.ps1 b/Src/Private/Get-AbrOntapSysConfigEMSSettings.ps1
index 9bba979..f53e425 100755
--- a/Src/Private/Get-AbrOntapSysConfigEMSSettings.ps1
+++ b/Src/Private/Get-AbrOntapSysConfigEMSSettings.ps1
@@ -5,7 +5,7 @@ function Get-AbrOntapSysConfigEMSSetting {
.DESCRIPTION
.NOTES
- Version: 0.6.3
+ Version: 0.6.7
Author: Jonathan Colon
Twitter: @jcolonfzenpr
Github: rebelinux
@@ -19,12 +19,12 @@ function Get-AbrOntapSysConfigEMSSetting {
)
begin {
- Write-PscriboMessage "Collecting ONTAP System EMS Settings information."
+ Write-PScriboMessage "Collecting ONTAP System EMS Settings information."
}
process {
try {
- $Data = Get-NcEmsDestination -Controller $Array
+ $Data = Get-NcEmsDestination -Controller $Array
$OutObj = @()
if ($Data) {
foreach ($Item in $Data) {
@@ -53,9 +53,8 @@ function Get-AbrOntapSysConfigEMSSetting {
}
}
$OutObj += [pscustomobject]$inobj
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
@@ -69,12 +68,11 @@ function Get-AbrOntapSysConfigEMSSetting {
}
$OutObj | Table @TableParams
}
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
try {
- $Data = Get-NcAudit -Controller $Array
+ $Data = Get-NcAudit -Controller $Array
if ($Data) {
Section -Style Heading4 "Audit Settings" {
Paragraph "The following section provides information about Audit Setting from $($ClusterInfo.ClusterName)."
@@ -88,9 +86,8 @@ function Get-AbrOntapSysConfigEMSSetting {
'Enable CLI Get request' = ConvertTo-TextYN $Item.CliGet
}
$OutObj += [pscustomobject]$inobj
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
@@ -104,7 +101,7 @@ function Get-AbrOntapSysConfigEMSSetting {
}
$OutObj | Table @TableParams
try {
- $Data = Get-NcClusterLogForward -Controller $Array
+ $Data = Get-NcClusterLogForward -Controller $Array
if ($Data) {
Section -Style Heading4 "Audit Log Destinations" {
$OutObj = @()
@@ -118,9 +115,8 @@ function Get-AbrOntapSysConfigEMSSetting {
'Server Verification' = ConvertTo-TextYN $Item.VerifyServerSpecified
}
$OutObj += [pscustomobject]$inobj
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
@@ -135,15 +131,13 @@ function Get-AbrOntapSysConfigEMSSetting {
$OutObj | Table @TableParams
}
}
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
}
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
diff --git a/Src/Private/Get-AbrOntapSysConfigImage.ps1 b/Src/Private/Get-AbrOntapSysConfigImage.ps1
index 604ba48..25e2347 100755
--- a/Src/Private/Get-AbrOntapSysConfigImage.ps1
+++ b/Src/Private/Get-AbrOntapSysConfigImage.ps1
@@ -5,7 +5,7 @@ function Get-AbrOntapSysConfigImage {
.DESCRIPTION
.NOTES
- Version: 0.6.3
+ Version: 0.6.7
Author: Jonathan Colon
Twitter: @jcolonfzenpr
Github: rebelinux
@@ -19,12 +19,12 @@ function Get-AbrOntapSysConfigImage {
)
begin {
- Write-PscriboMessage "Collecting ONTAP System Image information."
+ Write-PScriboMessage "Collecting ONTAP System Image information."
}
process {
try {
- $Data = Get-NcSystemImage -Controller $Array
+ $Data = Get-NcSystemImage -Controller $Array
$OutObj = @()
if ($Data) {
foreach ($Item in $Data) {
@@ -38,9 +38,8 @@ function Get-AbrOntapSysConfigImage {
'Version' = $Item.Version
}
$OutObj += [pscustomobject]$inobj
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
@@ -54,9 +53,8 @@ function Get-AbrOntapSysConfigImage {
}
$OutObj | Table @TableParams
}
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
diff --git a/Src/Private/Get-AbrOntapSysConfigNTP.ps1 b/Src/Private/Get-AbrOntapSysConfigNTP.ps1
index a2c1dd2..1233c8e 100755
--- a/Src/Private/Get-AbrOntapSysConfigNTP.ps1
+++ b/Src/Private/Get-AbrOntapSysConfigNTP.ps1
@@ -5,7 +5,7 @@ function Get-AbrOntapSysConfigNTP {
.DESCRIPTION
.NOTES
- Version: 0.6.3
+ Version: 0.6.7
Author: Jonathan Colon
Twitter: @jcolonfzenpr
Github: rebelinux
@@ -19,12 +19,12 @@ function Get-AbrOntapSysConfigNTP {
)
begin {
- Write-PscriboMessage "Collecting ONTAP System NTP information."
+ Write-PScriboMessage "Collecting ONTAP System NTP information."
}
process {
try {
- $Data = Get-NcNtpServer -Controller $Array
+ $Data = Get-NcNtpServer -Controller $Array
$OutObj = @()
if ($Data) {
foreach ($Item in $Data) {
@@ -36,9 +36,8 @@ function Get-AbrOntapSysConfigNTP {
'Authentication Enabled' = ConvertTo-TextYN $Item.IsAuthenticationEnabled
}
$OutObj += [pscustomobject]$inobj
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
@@ -52,9 +51,8 @@ function Get-AbrOntapSysConfigNTP {
}
$OutObj | Table @TableParams
}
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
diff --git a/Src/Private/Get-AbrOntapSysConfigNTPHost.ps1 b/Src/Private/Get-AbrOntapSysConfigNTPHost.ps1
index c875aca..d32b04e 100755
--- a/Src/Private/Get-AbrOntapSysConfigNTPHost.ps1
+++ b/Src/Private/Get-AbrOntapSysConfigNTPHost.ps1
@@ -5,7 +5,7 @@ function Get-AbrOntapSysConfigNTPHost {
.DESCRIPTION
.NOTES
- Version: 0.6.3
+ Version: 0.6.7
Author: Jonathan Colon
Twitter: @jcolonfzenpr
Github: rebelinux
@@ -19,12 +19,12 @@ function Get-AbrOntapSysConfigNTPHost {
)
begin {
- Write-PscriboMessage "Collecting ONTAP System NTP Host Status information."
+ Write-PScriboMessage "Collecting ONTAP System NTP Host Status information."
}
process {
try {
- $Data = Get-NcNtpServerStatus -Controller $Array
+ $Data = Get-NcNtpServerStatus -Controller $Array
$OutObj = @()
if ($Data) {
foreach ($Item in $Data) {
@@ -37,13 +37,12 @@ function Get-AbrOntapSysConfigNTPHost {
'Peer Status' = Switch ($Item.IsPeerReachable) {
'True' { 'Reachable' }
'False' { 'Unreachable' }
- default {$Item.IsPeerReachable}
+ default { $Item.IsPeerReachable }
}
}
$OutObj += [pscustomobject]$inobj
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
if ($Healthcheck.System.NTP) {
@@ -60,9 +59,8 @@ function Get-AbrOntapSysConfigNTPHost {
}
$OutObj | Table @TableParams
}
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
diff --git a/Src/Private/Get-AbrOntapSysConfigSNMP.ps1 b/Src/Private/Get-AbrOntapSysConfigSNMP.ps1
index 1d3d516..665ff5f 100755
--- a/Src/Private/Get-AbrOntapSysConfigSNMP.ps1
+++ b/Src/Private/Get-AbrOntapSysConfigSNMP.ps1
@@ -5,7 +5,7 @@ function Get-AbrOntapSysConfigSNMP {
.DESCRIPTION
.NOTES
- Version: 0.6.3
+ Version: 0.6.7
Author: Jonathan Colon
Twitter: @jcolonfzenpr
Github: rebelinux
@@ -19,12 +19,12 @@ function Get-AbrOntapSysConfigSNMP {
)
begin {
- Write-PscriboMessage "Collecting ONTAP System SNMP Configuration information."
+ Write-PScriboMessage "Collecting ONTAP System SNMP Configuration information."
}
process {
try {
- $Data = Get-NcSnmp -Controller $Array
+ $Data = Get-NcSnmp -Controller $Array
$OutObj = @()
if ($Data) {
foreach ($Item in $Data) {
@@ -37,13 +37,12 @@ function Get-AbrOntapSysConfigSNMP {
'Status' = Switch ($Item.IsTrapEnabled) {
'True' { 'Enabled' }
'False' { 'Disabled' }
- default {$Item.IsTrapEnabled}
+ default { $Item.IsTrapEnabled }
}
}
$OutObj += [pscustomobject]$inobj
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
@@ -57,9 +56,8 @@ function Get-AbrOntapSysConfigSNMP {
}
$OutObj | Table @TableParams
}
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
diff --git a/Src/Private/Get-AbrOntapSysConfigTZ.ps1 b/Src/Private/Get-AbrOntapSysConfigTZ.ps1
index e1f6a14..5d09678 100755
--- a/Src/Private/Get-AbrOntapSysConfigTZ.ps1
+++ b/Src/Private/Get-AbrOntapSysConfigTZ.ps1
@@ -5,7 +5,7 @@ function Get-AbrOntapSysConfigTZ {
.DESCRIPTION
.NOTES
- Version: 0.6.5
+ Version: 0.6.7
Author: Jonathan Colon
Twitter: @jcolonfzenpr
Github: rebelinux
@@ -19,12 +19,12 @@ function Get-AbrOntapSysConfigTZ {
)
begin {
- Write-PscriboMessage "Collecting ONTAP System TimeZone information."
+ Write-PScriboMessage "Collecting ONTAP System TimeZone information."
}
process {
try {
- $Data = Get-NcTimezone -Controller $Array
+ $Data = Get-NcTimezone -Controller $Array
$OutObj = @()
if ($Data) {
foreach ($Item in $Data) {
@@ -38,9 +38,8 @@ function Get-AbrOntapSysConfigTZ {
'Current Time' = $CurrentTime
}
$OutObj += [pscustomobject]$inobj
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
@@ -54,9 +53,8 @@ function Get-AbrOntapSysConfigTZ {
}
$OutObj | Table @TableParams
}
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
diff --git a/Src/Private/Get-AbrOntapSysConfigWebStatus.ps1 b/Src/Private/Get-AbrOntapSysConfigWebStatus.ps1
index bdcda1b..23aa96e 100755
--- a/Src/Private/Get-AbrOntapSysConfigWebStatus.ps1
+++ b/Src/Private/Get-AbrOntapSysConfigWebStatus.ps1
@@ -5,7 +5,7 @@ function Get-AbrOntapSysConfigWebStatus {
.DESCRIPTION
.NOTES
- Version: 0.6.3
+ Version: 0.6.7
Author: Jonathan Colon
Twitter: @jcolonfzenpr
Github: rebelinux
@@ -19,12 +19,12 @@ function Get-AbrOntapSysConfigWebStatus {
)
begin {
- Write-PscriboMessage "Collecting ONTAP System Web Service information."
+ Write-PScriboMessage "Collecting ONTAP System Web Service information."
}
process {
try {
- $Data = Get-NcSystemServicesWebNode -Controller $Array
+ $Data = Get-NcSystemServicesWebNode -Controller $Array
$OutObj = @()
if ($Data) {
foreach ($Item in $Data) {
@@ -39,9 +39,8 @@ function Get-AbrOntapSysConfigWebStatus {
'Status Code' = $Item.StatusCode
}
$OutObj += [pscustomobject]$inobj
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
if ($Healthcheck.System.DNS) {
@@ -59,9 +58,8 @@ function Get-AbrOntapSysConfigWebStatus {
}
$OutObj | Table @TableParams
}
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
diff --git a/Src/Private/Get-AbrOntapVserverCGLun.ps1 b/Src/Private/Get-AbrOntapVserverCGLun.ps1
index 55879eb..edbe0d8 100755
--- a/Src/Private/Get-AbrOntapVserverCGLun.ps1
+++ b/Src/Private/Get-AbrOntapVserverCGLun.ps1
@@ -5,7 +5,7 @@ function Get-AbrOntapVserverCGLun {
.DESCRIPTION
.NOTES
- Version: 0.6.5
+ Version: 0.6.7
Author: Jonathan Colon
Twitter: @jcolonfzenpr
Github: rebelinux
@@ -18,11 +18,11 @@ function Get-AbrOntapVserverCGLun {
[Parameter (
Position = 0,
Mandatory)]
- $CGObj
+ $CGObj
)
begin {
- Write-PscriboMessage "Collecting ONTAP Vserver Consistency Groups lun information."
+ Write-PScriboMessage "Collecting ONTAP Vserver Consistency Groups lun information."
}
process {
@@ -35,14 +35,14 @@ function Get-AbrOntapVserverCGLun {
$inObj = [ordered] @{
'Name' = $Item.Name.Split('/')[3]
'Capacity' = Switch ([string]::IsNullOrEmpty($Item.space.size)) {
- $true {'-'}
- $false {$Item.space.size | ConvertTo-FormattedNumber -Type Datasize -ErrorAction SilentlyContinue}
- default {'-'}
+ $true { '-' }
+ $false { $Item.space.size | ConvertTo-FormattedNumber -Type Datasize -ErrorAction SilentlyContinue }
+ default { '-' }
}
'Used' = Switch ([string]::IsNullOrEmpty($Item.space.used)) {
- $true {'-'}
- $false {$Item.space.used | ConvertTo-FormattedNumber -Type Datasize -ErrorAction SilentlyContinue}
- default {'-'}
+ $true { '-' }
+ $false { $Item.space.used | ConvertTo-FormattedNumber -Type Datasize -ErrorAction SilentlyContinue }
+ default { '-' }
}
'OS Type' = ConvertTo-EmptyToFiller $Item.os_type
'Volume State' = $Item.status.container_state
@@ -53,17 +53,16 @@ function Get-AbrOntapVserverCGLun {
}
$CGLunObj += [pscustomobject]$inobj
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
if ($Healthcheck.Vserver.CG) {
- $CGLunObj | Where-Object { $_.'Volume State' -ne 'online'} | Set-Style -Style Warning -Property 'Volume State'
- $CGLunObj | Where-Object { $_.'Mapped' -eq 'No'} | Set-Style -Style Warning -Property 'Mapped'
- $CGLunObj | Where-Object { $_.'Read Only' -eq 'Yes'} | Set-Style -Style Warning -Property 'Read Only'
- $CGLunObj | Where-Object { $_.'State' -eq 'offline'} | Set-Style -Style Warning -Property 'State'
+ $CGLunObj | Where-Object { $_.'Volume State' -ne 'online' } | Set-Style -Style Warning -Property 'Volume State'
+ $CGLunObj | Where-Object { $_.'Mapped' -eq 'No' } | Set-Style -Style Warning -Property 'Mapped'
+ $CGLunObj | Where-Object { $_.'Read Only' -eq 'Yes' } | Set-Style -Style Warning -Property 'Read Only'
+ $CGLunObj | Where-Object { $_.'State' -eq 'offline' } | Set-Style -Style Warning -Property 'State'
}
$TableParams = @{
@@ -76,9 +75,8 @@ function Get-AbrOntapVserverCGLun {
}
$CGLunObj | Sort-Object -Property Name | Table @TableParams
}
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
diff --git a/Src/Private/Get-AbrOntapVserverCGNamespace.ps1 b/Src/Private/Get-AbrOntapVserverCGNamespace.ps1
new file mode 100755
index 0000000..f7e093a
--- /dev/null
+++ b/Src/Private/Get-AbrOntapVserverCGNamespace.ps1
@@ -0,0 +1,85 @@
+function Get-AbrOntapVserverCGNamespace {
+ <#
+ .SYNOPSIS
+ Used by As Built Report to retrieve NetApp ONTAP Vserver Consistency Groups Namespace information from the Cluster Management Network
+ .DESCRIPTION
+
+ .NOTES
+ Version: 0.6.7
+ Author: Jonathan Colon
+ Twitter: @jcolonfzenpr
+ Github: rebelinux
+ .EXAMPLE
+
+ .LINK
+
+ #>
+ param (
+ [Parameter (
+ Position = 0,
+ Mandatory)]
+ $CGObj
+ )
+
+ begin {
+ Write-PScriboMessage "Collecting ONTAP Vserver Consistency Groups namespace information."
+ }
+
+ process {
+ try {
+ $NamespaceData = $CGObj.namespaces
+ $CGNamespaceObj = @()
+ if ($NamespaceData) {
+ foreach ($Item in $NamespaceData) {
+ try {
+ $inObj = [ordered] @{
+ 'Name' = $Item.Name.Split('/')[3]
+ 'Capacity' = Switch ([string]::IsNullOrEmpty($Item.space.size)) {
+ $true { '-' }
+ $false { $Item.space.size | ConvertTo-FormattedNumber -Type Datasize -ErrorAction SilentlyContinue }
+ default { '-' }
+ }
+ 'Used' = Switch ([string]::IsNullOrEmpty($Item.space.used)) {
+ $true { '-' }
+ $false { $Item.space.used | ConvertTo-FormattedNumber -Type Datasize -ErrorAction SilentlyContinue }
+ default { '-' }
+ }
+ 'OS Type' = ConvertTo-EmptyToFiller $Item.os_type
+ 'Volume State' = $Item.status.container_state
+ 'Mapped' = ConvertTo-TextYN $Item.status.mapped
+ 'Read Only' = ConvertTo-TextYN $Item.status.read_only
+ 'State' = $Item.status.state
+
+
+ }
+ $CGNamespaceObj += [pscustomobject]$inobj
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
+ }
+ }
+
+ if ($Healthcheck.Vserver.CG) {
+ $CGNamespaceObj | Where-Object { $_.'Volume State' -ne 'online' } | Set-Style -Style Warning -Property 'Volume State'
+ $CGNamespaceObj | Where-Object { $_.'Mapped' -eq 'No' } | Set-Style -Style Warning -Property 'Mapped'
+ $CGNamespaceObj | Where-Object { $_.'Read Only' -eq 'Yes' } | Set-Style -Style Warning -Property 'Read Only'
+ $CGNamespaceObj | Where-Object { $_.'State' -eq 'offline' } | Set-Style -Style Warning -Property 'State'
+ }
+
+ $TableParams = @{
+ Name = "Consistency Group Namespace - $($CGObj.Name)"
+ List = $false
+ ColumnWidths = 30, 10, 9, 10, 11, 10, 10, 10
+ }
+ if ($Report.ShowTableCaptions) {
+ $TableParams['Caption'] = "- $($TableParams.Name)"
+ }
+ $CGNamespaceObj | Sort-Object -Property Name | Table @TableParams
+ }
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
+ }
+ }
+
+ end {}
+
+}
\ No newline at end of file
diff --git a/Src/Private/Get-AbrOntapVserverCGSummary.ps1 b/Src/Private/Get-AbrOntapVserverCGSummary.ps1
index 71f7872..597232d 100755
--- a/Src/Private/Get-AbrOntapVserverCGSummary.ps1
+++ b/Src/Private/Get-AbrOntapVserverCGSummary.ps1
@@ -5,7 +5,7 @@ function Get-AbrOntapVserverCGSummary {
.DESCRIPTION
.NOTES
- Version: 0.6.5
+ Version: 0.6.7
Author: Jonathan Colon
Twitter: @jcolonfzenpr
Github: rebelinux
@@ -18,12 +18,12 @@ function Get-AbrOntapVserverCGSummary {
[Parameter (
Position = 0,
Mandatory)]
- [string]
- $Vserver
+ [string]
+ $Vserver
)
begin {
- Write-PscriboMessage "Collecting ONTAP Vserver Consistency Groups information."
+ Write-PScriboMessage "Collecting ONTAP Vserver Consistency Groups information."
}
process {
@@ -36,31 +36,30 @@ function Get-AbrOntapVserverCGSummary {
$inObj = [ordered] @{
'Name' = $Item.Name
'Capacity' = Switch ([string]::IsNullOrEmpty($Item.space.size)) {
- $true {'-'}
- $false {$Item.space.size | ConvertTo-FormattedNumber -Type Datasize -ErrorAction SilentlyContinue}
- default {'-'}
+ $true { '-' }
+ $false { $Item.space.size | ConvertTo-FormattedNumber -Type Datasize -ErrorAction SilentlyContinue }
+ default { '-' }
}
'Available' = Switch ([string]::IsNullOrEmpty($Item.space.available)) {
- $true {'-'}
- $false {$Item.space.available | ConvertTo-FormattedNumber -Type Datasize -ErrorAction SilentlyContinue}
- default {'-'}
+ $true { '-' }
+ $false { $Item.space.available | ConvertTo-FormattedNumber -Type Datasize -ErrorAction SilentlyContinue }
+ default { '-' }
}
'Used' = Switch ([string]::IsNullOrEmpty($Item.space.used)) {
- $true {'-'}
- $false {$Item.space.used | ConvertTo-FormattedNumber -Type Datasize -ErrorAction SilentlyContinue}
- default {'-'}
+ $true { '-' }
+ $false { $Item.space.used | ConvertTo-FormattedNumber -Type Datasize -ErrorAction SilentlyContinue }
+ default { '-' }
}
'Replicated' = ConvertTo-TextYN $Item.replicated
'Lun Count' = Switch ([string]::IsNullOrEmpty($Item.luns.name)) {
- $true {'-'}
- $false {($Item.luns.name).count}
- default {'-'}
+ $true { '-' }
+ $false { ($Item.luns.name).count }
+ default { '-' }
}
}
$VserverObj += [pscustomobject]$inobj
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
@@ -74,9 +73,8 @@ function Get-AbrOntapVserverCGSummary {
}
$VserverObj | Table @TableParams
}
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
diff --git a/Src/Private/Get-AbrOntapVserverCIFSDC.ps1 b/Src/Private/Get-AbrOntapVserverCIFSDC.ps1
index c31aeb5..2136918 100755
--- a/Src/Private/Get-AbrOntapVserverCIFSDC.ps1
+++ b/Src/Private/Get-AbrOntapVserverCIFSDC.ps1
@@ -5,7 +5,7 @@ function Get-AbrOntapVserverCIFSDC {
.DESCRIPTION
.NOTES
- Version: 0.6.3
+ Version: 0.6.7
Author: Jonathan Colon
Twitter: @jcolonfzenpr
Github: rebelinux
@@ -18,12 +18,12 @@ function Get-AbrOntapVserverCIFSDC {
[Parameter (
Position = 0,
Mandatory)]
- [string]
- $Vserver
+ [string]
+ $Vserver
)
begin {
- Write-PscriboMessage "Collecting ONTAP CIFS Domain Controller Properties information."
+ Write-PScriboMessage "Collecting ONTAP CIFS Domain Controller Properties information."
}
process {
@@ -42,9 +42,8 @@ function Get-AbrOntapVserverCIFSDC {
'Status' = $Item.Status
}
$VserverObj += [pscustomobject]$inobj
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
@@ -58,9 +57,8 @@ function Get-AbrOntapVserverCIFSDC {
}
$VserverObj | Table @TableParams
}
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
diff --git a/Src/Private/Get-AbrOntapVserverCIFSLGMembers.ps1 b/Src/Private/Get-AbrOntapVserverCIFSLGMembers.ps1
index 1d0378d..73e02db 100755
--- a/Src/Private/Get-AbrOntapVserverCIFSLGMembers.ps1
+++ b/Src/Private/Get-AbrOntapVserverCIFSLGMembers.ps1
@@ -5,7 +5,7 @@ function Get-AbrOntapVserverCIFSLGMember {
.DESCRIPTION
.NOTES
- Version: 0.6.3
+ Version: 0.6.7
Author: Jonathan Colon
Twitter: @jcolonfzenpr
Github: rebelinux
@@ -18,12 +18,12 @@ function Get-AbrOntapVserverCIFSLGMember {
[Parameter (
Position = 0,
Mandatory)]
- [string]
- $Vserver
+ [string]
+ $Vserver
)
begin {
- Write-PscriboMessage "Collecting ONTAP CIFS Local Group Members information."
+ Write-PScriboMessage "Collecting ONTAP CIFS Local Group Members information."
}
process {
@@ -38,9 +38,8 @@ function Get-AbrOntapVserverCIFSLGMember {
'Description' = $Item.Member
}
$VserverObj += [pscustomobject]$inobj
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
@@ -54,9 +53,8 @@ function Get-AbrOntapVserverCIFSLGMember {
}
$VserverObj | Table @TableParams
}
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
diff --git a/Src/Private/Get-AbrOntapVserverCIFSLocalGroup.ps1 b/Src/Private/Get-AbrOntapVserverCIFSLocalGroup.ps1
index 1cbb226..70350fd 100755
--- a/Src/Private/Get-AbrOntapVserverCIFSLocalGroup.ps1
+++ b/Src/Private/Get-AbrOntapVserverCIFSLocalGroup.ps1
@@ -5,7 +5,7 @@ function Get-AbrOntapVserverCIFSLocalGroup {
.DESCRIPTION
.NOTES
- Version: 0.6.3
+ Version: 0.6.7
Author: Jonathan Colon
Twitter: @jcolonfzenpr
Github: rebelinux
@@ -18,12 +18,12 @@ function Get-AbrOntapVserverCIFSLocalGroup {
[Parameter (
Position = 0,
Mandatory)]
- [string]
- $Vserver
+ [string]
+ $Vserver
)
begin {
- Write-PscriboMessage "Collecting ONTAP CIFS Local Group information."
+ Write-PScriboMessage "Collecting ONTAP CIFS Local Group information."
}
process {
@@ -38,9 +38,8 @@ function Get-AbrOntapVserverCIFSLocalGroup {
'Description' = $Item.Description
}
$VserverObj += [pscustomobject]$inobj
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
@@ -54,9 +53,8 @@ function Get-AbrOntapVserverCIFSLocalGroup {
}
$VserverObj | Table @TableParams
}
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
diff --git a/Src/Private/Get-AbrOntapVserverCIFSOptions.ps1 b/Src/Private/Get-AbrOntapVserverCIFSOptions.ps1
index 90ba77e..5a1d499 100755
--- a/Src/Private/Get-AbrOntapVserverCIFSOptions.ps1
+++ b/Src/Private/Get-AbrOntapVserverCIFSOptions.ps1
@@ -5,7 +5,7 @@ function Get-AbrOntapVserverCIFSOption {
.DESCRIPTION
.NOTES
- Version: 0.6.3
+ Version: 0.6.7
Author: Jonathan Colon
Twitter: @jcolonfzenpr
Github: rebelinux
@@ -18,12 +18,12 @@ function Get-AbrOntapVserverCIFSOption {
[Parameter (
Position = 0,
Mandatory)]
- [string]
- $Vserver
+ [string]
+ $Vserver
)
begin {
- Write-PscriboMessage "Collecting ONTAP Vserver CIFS Option information."
+ Write-PScriboMessage "Collecting ONTAP Vserver CIFS Option information."
}
process {
@@ -67,14 +67,12 @@ function Get-AbrOntapVserverCIFSOption {
'Smb1 Max Buffer Size' = $Item.Smb1MaxBufferSize
}
$VserverObj += [pscustomobject]$inobj
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
@@ -88,9 +86,8 @@ function Get-AbrOntapVserverCIFSOption {
}
$VserverObj | Table @TableParams
}
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
diff --git a/Src/Private/Get-AbrOntapVserverCIFSSecurity.ps1 b/Src/Private/Get-AbrOntapVserverCIFSSecurity.ps1
index 1a78d9b..9220a3e 100755
--- a/Src/Private/Get-AbrOntapVserverCIFSSecurity.ps1
+++ b/Src/Private/Get-AbrOntapVserverCIFSSecurity.ps1
@@ -5,7 +5,7 @@ function Get-AbrOntapVserverCIFSSecurity {
.DESCRIPTION
.NOTES
- Version: 0.6.3
+ Version: 0.6.7
Author: Jonathan Colon
Twitter: @jcolonfzenpr
Github: rebelinux
@@ -18,12 +18,12 @@ function Get-AbrOntapVserverCIFSSecurity {
[Parameter (
Position = 0,
Mandatory)]
- [string]
- $Vserver
+ [string]
+ $Vserver
)
begin {
- Write-PscriboMessage "Collecting ONTAP Vserver CIFS Security information."
+ Write-PScriboMessage "Collecting ONTAP Vserver CIFS Security information."
}
process {
@@ -46,12 +46,10 @@ function Get-AbrOntapVserverCIFSSecurity {
'Lm Compatibility Level' = $SVM.LmCompatibilityLevel
}
$VserverObj += [pscustomobject]$inobj
- }
- else {continue}
+ } else { continue }
}
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
@@ -65,9 +63,8 @@ function Get-AbrOntapVserverCIFSSecurity {
}
$VserverObj | Table @TableParams
}
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
diff --git a/Src/Private/Get-AbrOntapVserverCIFSSession.ps1 b/Src/Private/Get-AbrOntapVserverCIFSSession.ps1
index ad4bb58..3c434d1 100755
--- a/Src/Private/Get-AbrOntapVserverCIFSSession.ps1
+++ b/Src/Private/Get-AbrOntapVserverCIFSSession.ps1
@@ -5,7 +5,7 @@ function Get-AbrOntapVserverCIFSSession {
.DESCRIPTION
.NOTES
- Version: 0.6.3
+ Version: 0.6.7
Author: Jonathan Colon
Twitter: @jcolonfzenpr
Github: rebelinux
@@ -18,12 +18,12 @@ function Get-AbrOntapVserverCIFSSession {
[Parameter (
Position = 0,
Mandatory)]
- [string]
- $Vserver
+ [string]
+ $Vserver
)
begin {
- Write-PscriboMessage "Collecting ONTAP CIFS Session information."
+ Write-PScriboMessage "Collecting ONTAP CIFS Session information."
}
process {
@@ -41,9 +41,8 @@ function Get-AbrOntapVserverCIFSSession {
'User' = $Item.WindowsUser
}
$VserverObj += [pscustomobject]$inobj
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
@@ -57,9 +56,8 @@ function Get-AbrOntapVserverCIFSSession {
}
$VserverObj | Table @TableParams
}
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
diff --git a/Src/Private/Get-AbrOntapVserverCIFSShare.ps1 b/Src/Private/Get-AbrOntapVserverCIFSShare.ps1
index 44b27f0..e617292 100755
--- a/Src/Private/Get-AbrOntapVserverCIFSShare.ps1
+++ b/Src/Private/Get-AbrOntapVserverCIFSShare.ps1
@@ -5,7 +5,7 @@ function Get-AbrOntapVserverCIFSShare {
.DESCRIPTION
.NOTES
- Version: 0.6.3
+ Version: 0.6.7
Author: Jonathan Colon
Twitter: @jcolonfzenpr
Github: rebelinux
@@ -18,12 +18,12 @@ function Get-AbrOntapVserverCIFSShare {
[Parameter (
Position = 0,
Mandatory)]
- [string]
- $Vserver
+ [string]
+ $Vserver
)
begin {
- Write-PscriboMessage "Collecting ONTAP CIFS Share information."
+ Write-PScriboMessage "Collecting ONTAP CIFS Share information."
}
process {
@@ -39,9 +39,8 @@ function Get-AbrOntapVserverCIFSShare {
'Path' = $Item.Path
}
$VserverObj += [pscustomobject]$inobj
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
@@ -55,9 +54,8 @@ function Get-AbrOntapVserverCIFSShare {
}
$VserverObj | Table @TableParams
}
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
diff --git a/Src/Private/Get-AbrOntapVserverCIFSShareProp.ps1 b/Src/Private/Get-AbrOntapVserverCIFSShareProp.ps1
index 76845a5..85c0406 100755
--- a/Src/Private/Get-AbrOntapVserverCIFSShareProp.ps1
+++ b/Src/Private/Get-AbrOntapVserverCIFSShareProp.ps1
@@ -5,7 +5,7 @@ function Get-AbrOntapVserverCIFSShareProp {
.DESCRIPTION
.NOTES
- Version: 0.6.3
+ Version: 0.6.7
Author: Jonathan Colon
Twitter: @jcolonfzenpr
Github: rebelinux
@@ -18,12 +18,12 @@ function Get-AbrOntapVserverCIFSShareProp {
[Parameter (
Position = 0,
Mandatory)]
- [string]
- $Vserver
+ [string]
+ $Vserver
)
begin {
- Write-PscriboMessage "Collecting ONTAP CIFS Share Properties information."
+ Write-PScriboMessage "Collecting ONTAP CIFS Share Properties information."
}
process {
@@ -39,9 +39,8 @@ function Get-AbrOntapVserverCIFSShareProp {
'Share Properties' = ($Item).ShareProperties -join ', '
}
$VserverObj += [pscustomobject]$inobj
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
@@ -55,9 +54,8 @@ function Get-AbrOntapVserverCIFSShareProp {
}
$VserverObj | Table @TableParams
}
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
diff --git a/Src/Private/Get-AbrOntapVserverCIFSSummary.ps1 b/Src/Private/Get-AbrOntapVserverCIFSSummary.ps1
index 699b339..51c5e2c 100755
--- a/Src/Private/Get-AbrOntapVserverCIFSSummary.ps1
+++ b/Src/Private/Get-AbrOntapVserverCIFSSummary.ps1
@@ -5,7 +5,7 @@ function Get-AbrOntapVserverCIFSSummary {
.DESCRIPTION
.NOTES
- Version: 0.6.3
+ Version: 0.6.7
Author: Jonathan Colon
Twitter: @jcolonfzenpr
Github: rebelinux
@@ -18,12 +18,12 @@ function Get-AbrOntapVserverCIFSSummary {
[Parameter (
Position = 0,
Mandatory)]
- [string]
- $Vserver
+ [string]
+ $Vserver
)
begin {
- Write-PscriboMessage "Collecting ONTAP Vserver CIFS information."
+ Write-PScriboMessage "Collecting ONTAP Vserver CIFS information."
}
process {
@@ -34,7 +34,7 @@ function Get-AbrOntapVserverCIFSSummary {
foreach ($Item in $VserverData) {
$CIFSSVM = Get-NcCifsServerStatus -VserverName $Item.Vserver -Controller $Array
foreach ($SVM in $CIFSSVM) {
- try{
+ try {
$inObj = [ordered] @{
'Node Name' = $SVM.NodeName
'Cifs Domain Name' = $SVM.CifsDomainName
@@ -61,16 +61,14 @@ function Get-AbrOntapVserverCIFSSummary {
$TableParams['Caption'] = "- $($TableParams.Name)"
}
$VserverObj | Table @TableParams
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
}
}
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
diff --git a/Src/Private/Get-AbrOntapVserverFcpAdapter.ps1 b/Src/Private/Get-AbrOntapVserverFcpAdapter.ps1
index 797d224..6587d0b 100755
--- a/Src/Private/Get-AbrOntapVserverFcpAdapter.ps1
+++ b/Src/Private/Get-AbrOntapVserverFcpAdapter.ps1
@@ -5,7 +5,7 @@ function Get-AbrOntapVserverFcpAdapter {
.DESCRIPTION
.NOTES
- Version: 0.6.3
+ Version: 0.6.7
Author: Jonathan Colon
Twitter: @jcolonfzenpr
Github: rebelinux
@@ -19,12 +19,12 @@ function Get-AbrOntapVserverFcpAdapter {
)
begin {
- Write-PscriboMessage "Collecting ONTAP Vserver FCP adapter information."
+ Write-PScriboMessage "Collecting ONTAP Vserver FCP adapter information."
}
process {
try {
- $VserverData = Get-NcFcpAdapter -Controller $Array | Where-Object {$_.PhysicalProtocol -ne 'ethernet' }
+ $VserverData = Get-NcFcpAdapter -Controller $Array | Where-Object { $_.PhysicalProtocol -ne 'ethernet' }
$VserverObj = @()
if ($VserverData) {
foreach ($Item in $VserverData) {
@@ -37,13 +37,12 @@ function Get-AbrOntapVserverFcpAdapter {
'Status' = Switch ($Item.State) {
'online' { 'Up' }
'offline' { 'Down' }
- default {$Item.State}
+ default { $Item.State }
}
}
$VserverObj += [pscustomobject]$inobj
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
if ($Healthcheck.Vserver.FCP) {
@@ -53,15 +52,15 @@ function Get-AbrOntapVserverFcpAdapter {
$TableParams = @{
Name = "FCP Physical Adapter - $($ClusterInfo.ClusterName)"
List = $false
+ ColumnWidths = 32, 17, 17, 17, 17
}
if ($Report.ShowTableCaptions) {
$TableParams['Caption'] = "- $($TableParams.Name)"
}
$VserverObj | Table @TableParams
}
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
diff --git a/Src/Private/Get-AbrOntapVserverFcpInterface.ps1 b/Src/Private/Get-AbrOntapVserverFcpInterface.ps1
index d3d6e02..e200fd3 100755
--- a/Src/Private/Get-AbrOntapVserverFcpInterface.ps1
+++ b/Src/Private/Get-AbrOntapVserverFcpInterface.ps1
@@ -5,7 +5,7 @@ function Get-AbrOntapVserverFcpInterface {
.DESCRIPTION
.NOTES
- Version: 0.6.3
+ Version: 0.6.7
Author: Jonathan Colon
Twitter: @jcolonfzenpr
Github: rebelinux
@@ -18,12 +18,12 @@ function Get-AbrOntapVserverFcpInterface {
[Parameter (
Position = 0,
Mandatory)]
- [string]
- $Vserver
+ [string]
+ $Vserver
)
begin {
- Write-PscriboMessage "Collecting ONTAP Vserver FCP interface information."
+ Write-PScriboMessage "Collecting ONTAP Vserver FCP interface information."
}
process {
@@ -39,9 +39,8 @@ function Get-AbrOntapVserverFcpInterface {
'Home Port' = $Item.CurrentPort
}
$VserverObj += [pscustomobject]$inobj
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
@@ -55,9 +54,8 @@ function Get-AbrOntapVserverFcpInterface {
}
$VserverObj | Table @TableParams
}
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
diff --git a/Src/Private/Get-AbrOntapVserverFcpSummary.ps1 b/Src/Private/Get-AbrOntapVserverFcpSummary.ps1
index 41c1ac3..688e822 100755
--- a/Src/Private/Get-AbrOntapVserverFcpSummary.ps1
+++ b/Src/Private/Get-AbrOntapVserverFcpSummary.ps1
@@ -5,7 +5,7 @@ function Get-AbrOntapVserverFcpSummary {
.DESCRIPTION
.NOTES
- Version: 0.6.3
+ Version: 0.6.7
Author: Jonathan Colon
Twitter: @jcolonfzenpr
Github: rebelinux
@@ -18,12 +18,12 @@ function Get-AbrOntapVserverFcpSummary {
[Parameter (
Position = 0,
Mandatory)]
- [string]
- $Vserver
+ [string]
+ $Vserver
)
begin {
- Write-PscriboMessage "Collecting ONTAP Vserver FCP information."
+ Write-PScriboMessage "Collecting ONTAP Vserver FCP information."
}
process {
@@ -38,13 +38,12 @@ function Get-AbrOntapVserverFcpSummary {
'Status' = Switch ($Item.IsAvailable) {
'True' { 'Up' }
'False' { 'Down' }
- default {$Item.IsAvailable}
+ default { $Item.IsAvailable }
}
}
$VserverObj += [pscustomobject]$inobj
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
if ($Healthcheck.Vserver.FCP) {
@@ -61,9 +60,8 @@ function Get-AbrOntapVserverFcpSummary {
}
$VserverObj | Table @TableParams
}
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
diff --git a/Src/Private/Get-AbrOntapVserverIscsiInitiator.ps1 b/Src/Private/Get-AbrOntapVserverIscsiInitiator.ps1
index 81ba255..793bab6 100755
--- a/Src/Private/Get-AbrOntapVserverIscsiInitiator.ps1
+++ b/Src/Private/Get-AbrOntapVserverIscsiInitiator.ps1
@@ -5,7 +5,7 @@ function Get-AbrOntapVserverIscsiInitiator {
.DESCRIPTION
.NOTES
- Version: 0.6.3
+ Version: 0.6.7
Author: Jonathan Colon
Twitter: @jcolonfzenpr
Github: rebelinux
@@ -18,12 +18,12 @@ function Get-AbrOntapVserverIscsiInitiator {
[Parameter (
Position = 0,
Mandatory)]
- [string]
- $Vserver
+ [string]
+ $Vserver
)
begin {
- Write-PscriboMessage "Collecting ONTAP Vserver ISCSI Client Initiators information."
+ Write-PScriboMessage "Collecting ONTAP Vserver ISCSI Client Initiators information."
}
process {
@@ -38,9 +38,8 @@ function Get-AbrOntapVserverIscsiInitiator {
'Target Port Group' = $Item.TpGroupName
}
$VserverObj += [pscustomobject]$inobj
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
@@ -54,9 +53,8 @@ function Get-AbrOntapVserverIscsiInitiator {
}
$VserverObj | Table @TableParams
}
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
diff --git a/Src/Private/Get-AbrOntapVserverIscsiInterface.ps1 b/Src/Private/Get-AbrOntapVserverIscsiInterface.ps1
index f23cf60..78a10f8 100755
--- a/Src/Private/Get-AbrOntapVserverIscsiInterface.ps1
+++ b/Src/Private/Get-AbrOntapVserverIscsiInterface.ps1
@@ -5,7 +5,7 @@ function Get-AbrOntapVserverIscsiInterface {
.DESCRIPTION
.NOTES
- Version: 0.6.3
+ Version: 0.6.7
Author: Jonathan Colon
Twitter: @jcolonfzenpr
Github: rebelinux
@@ -18,12 +18,12 @@ function Get-AbrOntapVserverIscsiInterface {
[Parameter (
Position = 0,
Mandatory)]
- [string]
- $Vserver
+ [string]
+ $Vserver
)
begin {
- Write-PscriboMessage "Collecting ONTAP Vserver ISCSI interface information."
+ Write-PScriboMessage "Collecting ONTAP Vserver ISCSI interface information."
}
process {
@@ -44,9 +44,8 @@ function Get-AbrOntapVserverIscsiInterface {
}
}
$VserverObj += [pscustomobject]$inobj
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
if ($Healthcheck.Vserver.Iscsi) {
@@ -63,9 +62,8 @@ function Get-AbrOntapVserverIscsiInterface {
}
$VserverObj | Table @TableParams
}
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
diff --git a/Src/Private/Get-AbrOntapVserverIscsiSummary.ps1 b/Src/Private/Get-AbrOntapVserverIscsiSummary.ps1
index b778880..187c657 100755
--- a/Src/Private/Get-AbrOntapVserverIscsiSummary.ps1
+++ b/Src/Private/Get-AbrOntapVserverIscsiSummary.ps1
@@ -5,7 +5,7 @@ function Get-AbrOntapVserverIscsiSummary {
.DESCRIPTION
.NOTES
- Version: 0.6.3
+ Version: 0.6.7
Author: Jonathan Colon
Twitter: @jcolonfzenpr
Github: rebelinux
@@ -18,12 +18,12 @@ function Get-AbrOntapVserverIscsiSummary {
[Parameter (
Position = 0,
Mandatory)]
- [string]
- $Vserver
+ [string]
+ $Vserver
)
begin {
- Write-PscriboMessage "Collecting ONTAP Vserver ISCSI information."
+ Write-PScriboMessage "Collecting ONTAP Vserver ISCSI information."
}
process {
@@ -43,13 +43,12 @@ function Get-AbrOntapVserverIscsiSummary {
'Status' = Switch ($Item.IsAvailable) {
'True' { 'Up' }
'False' { 'Down' }
- default {$Item.IsAvailable}
+ default { $Item.IsAvailable }
}
}
$VserverObj += [pscustomobject]$inobj
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
if ($Healthcheck.Vserver.Iscsi) {
@@ -66,9 +65,8 @@ function Get-AbrOntapVserverIscsiSummary {
}
$VserverObj | Table @TableParams
}
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
diff --git a/Src/Private/Get-AbrOntapVserverLunIgroup.ps1 b/Src/Private/Get-AbrOntapVserverLunIgroup.ps1
index 107363c..41abd34 100755
--- a/Src/Private/Get-AbrOntapVserverLunIgroup.ps1
+++ b/Src/Private/Get-AbrOntapVserverLunIgroup.ps1
@@ -5,7 +5,7 @@ function Get-AbrOntapVserverLunIgroup {
.DESCRIPTION
.NOTES
- Version: 0.6.3
+ Version: 0.6.7
Author: Jonathan Colon
Twitter: @jcolonfzenpr
Github: rebelinux
@@ -18,31 +18,30 @@ function Get-AbrOntapVserverLunIgroup {
[Parameter (
Position = 0,
Mandatory)]
- [string]
- $Vserver
+ [string]
+ $Vserver
)
begin {
- Write-PscriboMessage "Collecting ONTAP Vserver Igroup information."
+ Write-PScriboMessage "Collecting ONTAP Vserver Igroup information."
}
process {
- try{
+ try {
$VserverIgroup = Get-NcIgroup -VserverContext $Vserver -Controller $Array
$VserverObj = @()
if ($VserverIgroup) {
foreach ($Item in $VserverIgroup) {
try {
- $lunmap = get-nclunmap -Controller $Array | Where-Object { $_.InitiatorGroup -eq $Item.Name} | Select-Object -ExpandProperty Path
- $reportingnodes = get-nclunmap -Controller $Array | Where-Object { $_.InitiatorGroup -eq $Item.Name} | Select-Object -Unique -ExpandProperty ReportingNodes
+ $lunmap = Get-NcLunMap -Controller $Array | Where-Object { $_.InitiatorGroup -eq $Item.Name } | Select-Object -ExpandProperty Path
+ $reportingnodes = Get-NcLunMap -Controller $Array | Where-Object { $_.InitiatorGroup -eq $Item.Name } | Select-Object -Unique -ExpandProperty ReportingNodes
$MappedLun = @()
foreach ($lun in $lunmap) {
try {
$lunname = $lun.split('/')
$MappedLun += $lunname[3]
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
$inObj = [ordered] @{
@@ -51,12 +50,12 @@ function Get-AbrOntapVserverLunIgroup {
'Protocol' = $Item.Protocol
'Initiators' = $Item.Initiators.InitiatorName
'Mapped Lun' = Switch (($MappedLun).count) {
- 0 {"None"}
- default {$MappedLun}
+ 0 { "None" }
+ default { $MappedLun }
}
'Reporting Nodes' = Switch (($reportingnodes).count) {
- 0 {"None"}
- default {$reportingnodes}
+ 0 { "None" }
+ default { $reportingnodes }
}
}
$VserverObj = [pscustomobject]$inobj
@@ -73,15 +72,13 @@ function Get-AbrOntapVserverLunIgroup {
$TableParams['Caption'] = "- $($TableParams.Name)"
}
$VserverObj | Table @TableParams
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
}
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
diff --git a/Src/Private/Get-AbrOntapVserverLunStorage.ps1 b/Src/Private/Get-AbrOntapVserverLunStorage.ps1
index 74f53a9..26094c8 100755
--- a/Src/Private/Get-AbrOntapVserverLunStorage.ps1
+++ b/Src/Private/Get-AbrOntapVserverLunStorage.ps1
@@ -5,7 +5,7 @@ function Get-AbrOntapVserverLunStorage {
.DESCRIPTION
.NOTES
- Version: 0.6.3
+ Version: 0.6.7
Author: Jonathan Colon
Twitter: @jcolonfzenpr
Github: rebelinux
@@ -18,17 +18,17 @@ function Get-AbrOntapVserverLunStorage {
[Parameter (
Position = 0,
Mandatory)]
- [string]
- $Vserver
+ [string]
+ $Vserver
)
begin {
- Write-PscriboMessage "Collecting ONTAP Vserver lun information."
+ Write-PScriboMessage "Collecting ONTAP Vserver lun information."
}
process {
try {
- $VserverLun = get-nclun -VserverContext $Vserver -Controller $Array
+ $VserverLun = Get-NcLun -VserverContext $Vserver -Controller $Array
$VserverObj = @()
if ($VserverLun) {
foreach ($Item in $VserverLun) {
@@ -44,8 +44,8 @@ function Get-AbrOntapVserverLunStorage {
'Path' = $Item.Path
'Serial Number' = $Item.SerialNumber
'Initiator Group' = Switch (($lunmap).count) {
- 0 {"None"}
- default {$lunmap}
+ 0 { "None" }
+ default { $lunmap }
}
'Home Node ' = $Item.Node
'Capacity' = $Item.Size | ConvertTo-FormattedNumber -Type Datasize -ErrorAction SilentlyContinue
@@ -56,18 +56,18 @@ function Get-AbrOntapVserverLunStorage {
'Space Allocation' = Switch ($Item.IsSpaceAllocEnabled) {
'True' { 'Enabled' }
'False' { 'Disabled' }
- default {$Item.IsSpaceAllocEnabled}
+ default { $Item.IsSpaceAllocEnabled }
}
'Space Reservation' = Switch ($Item.IsSpaceReservationEnabled) {
'True' { 'Enabled' }
'False' { 'Disabled' }
- default {$Item.IsSpaceReservationEnabled}
+ default { $Item.IsSpaceReservationEnabled }
}
'Is Mapped' = ConvertTo-TextYN $Item.Mapped
'Status' = Switch ($Item.Online) {
'True' { 'Up' }
'False' { 'Down' }
- default {$Item.Online}
+ default { $Item.Online }
}
}
$VserverObj = [pscustomobject]$inobj
@@ -87,15 +87,13 @@ function Get-AbrOntapVserverLunStorage {
$TableParams['Caption'] = "- $($TableParams.Name)"
}
$VserverObj | Table @TableParams
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
}
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
diff --git a/Src/Private/Get-AbrOntapVserverNFSExport.ps1 b/Src/Private/Get-AbrOntapVserverNFSExport.ps1
index 6053e2f..901e872 100755
--- a/Src/Private/Get-AbrOntapVserverNFSExport.ps1
+++ b/Src/Private/Get-AbrOntapVserverNFSExport.ps1
@@ -5,7 +5,7 @@ function Get-AbrOntapVserverNFSExport {
.DESCRIPTION
.NOTES
- Version: 0.6.3
+ Version: 0.6.7
Author: Jonathan Colon
Twitter: @jcolonfzenpr
Github: rebelinux
@@ -18,12 +18,12 @@ function Get-AbrOntapVserverNFSExport {
[Parameter (
Position = 0,
Mandatory)]
- [string]
- $Vserver
+ [string]
+ $Vserver
)
begin {
- Write-PscriboMessage "Collecting ONTAP Vserver NFS Export information."
+ Write-PScriboMessage "Collecting ONTAP Vserver NFS Export information."
}
process {
@@ -40,15 +40,13 @@ function Get-AbrOntapVserverNFSExport {
'Vserver' = $SVM.Vserver
'Path Name' = $Item.Pathname
}
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
$VserverObj += [pscustomobject]$inobj
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
@@ -64,9 +62,8 @@ function Get-AbrOntapVserverNFSExport {
$VserverObj | Table @TableParams
}
}
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
end {}
diff --git a/Src/Private/Get-AbrOntapVserverNFSOptions.ps1 b/Src/Private/Get-AbrOntapVserverNFSOptions.ps1
index 640c21f..154a408 100755
--- a/Src/Private/Get-AbrOntapVserverNFSOptions.ps1
+++ b/Src/Private/Get-AbrOntapVserverNFSOptions.ps1
@@ -5,7 +5,7 @@ function Get-AbrOntapVserverNFSOption {
.DESCRIPTION
.NOTES
- Version: 0.6.3
+ Version: 0.6.7
Author: Jonathan Colon
Twitter: @jcolonfzenpr
Github: rebelinux
@@ -18,12 +18,12 @@ function Get-AbrOntapVserverNFSOption {
[Parameter (
Position = 0,
Mandatory)]
- [string]
- $Vserver
+ [string]
+ $Vserver
)
begin {
- Write-PscriboMessage "Collecting ONTAP Vserver NFS Option information."
+ Write-PScriboMessage "Collecting ONTAP Vserver NFS Option information."
}
process {
@@ -49,9 +49,8 @@ function Get-AbrOntapVserverNFSOption {
'Nfsv40 Enabled' = ConvertTo-TextYN $Item.IsNfsv40Enabled
}
$VserverObj += [pscustomobject]$inobj
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
@@ -65,9 +64,8 @@ function Get-AbrOntapVserverNFSOption {
}
$VserverObj | Table @TableParams
}
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
diff --git a/Src/Private/Get-AbrOntapVserverNFSSummary.ps1 b/Src/Private/Get-AbrOntapVserverNFSSummary.ps1
index 696f9b8..9187054 100755
--- a/Src/Private/Get-AbrOntapVserverNFSSummary.ps1
+++ b/Src/Private/Get-AbrOntapVserverNFSSummary.ps1
@@ -5,7 +5,7 @@ function Get-AbrOntapVserverNFSSummary {
.DESCRIPTION
.NOTES
- Version: 0.6.3
+ Version: 0.6.7
Author: Jonathan Colon
Twitter: @jcolonfzenpr
Github: rebelinux
@@ -18,12 +18,12 @@ function Get-AbrOntapVserverNFSSummary {
[Parameter (
Position = 0,
Mandatory)]
- [string]
- $Vserver
+ [string]
+ $Vserver
)
begin {
- Write-PscriboMessage "Collecting ONTAP Vserver NFS information."
+ Write-PScriboMessage "Collecting ONTAP Vserver NFS information."
}
process {
@@ -37,25 +37,24 @@ function Get-AbrOntapVserverNFSSummary {
'Nfs v3' = Switch ($Item.IsNfsv3) {
'True' { 'Enabled' }
'False' { 'Disabled' }
- default {$Item.IsNfsv3}
+ default { $Item.IsNfsv3 }
}
'Nfs v4' = Switch ($Item.IsNfsv4) {
'True' { 'Enabled' }
'False' { 'Disabled' }
- default {$Item.IsNfsv4}
+ default { $Item.IsNfsv4 }
}
'Nfs v41' = Switch ($Item.IsNfsv41) {
'True' { 'Enabled' }
'False' { 'Disabled' }
- default {$Item.IsNfsv41}
+ default { $Item.IsNfsv41 }
}
'General Access' = ConvertTo-TextYN $Item.GeneralAccess
}
$VserverObj += [pscustomobject]$inobj
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
if ($Healthcheck.Vserver.NFS) {
@@ -74,9 +73,8 @@ function Get-AbrOntapVserverNFSSummary {
}
$VserverObj | Table @TableParams
}
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
diff --git a/Src/Private/Get-AbrOntapVserverNamespaceStorage.ps1 b/Src/Private/Get-AbrOntapVserverNamespaceStorage.ps1
new file mode 100755
index 0000000..3674b95
--- /dev/null
+++ b/Src/Private/Get-AbrOntapVserverNamespaceStorage.ps1
@@ -0,0 +1,96 @@
+function Get-AbrOntapVserverNamespaceStorage {
+ <#
+ .SYNOPSIS
+ Used by As Built Report to retrieve NetApp ONTAP vserver namespace information from the Cluster Management Network
+ .DESCRIPTION
+
+ .NOTES
+ Version: 0.6.7
+ Author: Jonathan Colon
+ Twitter: @jcolonfzenpr
+ Github: rebelinux
+ .EXAMPLE
+
+ .LINK
+
+ #>
+ param (
+ [Parameter (
+ Position = 0,
+ Mandatory)]
+ [string]
+ $Vserver
+ )
+
+ begin {
+ Write-PScriboMessage "Collecting ONTAP Vserver namespace information."
+ }
+
+ process {
+ try {
+ $VserverNamespace = Get-NcNvmeNamespace -VserverContext $Vserver -Controller $Arra
+ $VserverObj = @()
+ if ($VserverNamespace) {
+ foreach ($Item in $VserverNamespace) {
+ try {
+ $namespacemap = Get-NcNvmeSubsystemMap -Vserver $Vserver -Controller $Array | Where-Object { $_.Path -eq $Item.Path }
+ $namespacepath = $Item.Path.split('/')
+ $namespace = $namespacepath[3]
+ $available = $Item.Size - $Item.SizeUsed
+ $used = ($Item.SizeUsed / $Item.Size) * 100
+ $inObj = [ordered] @{
+ 'Namespace Name' = $namespace
+ 'Parent Volume' = $Item.Volume
+ 'Path' = $Item.Path
+ 'Serial Number' = $Item.Uuid
+ 'Subsystem Map' = Switch (($namespacemap).count) {
+ 0 { "None" }
+ default { $namespacemap.Subsystem }
+ }
+ 'Home Node ' = $Item.Node
+ 'Capacity' = $Item.Size | ConvertTo-FormattedNumber -Type Datasize -ErrorAction SilentlyContinue
+ 'Available' = $available | ConvertTo-FormattedNumber -Type Datasize -ErrorAction SilentlyContinue
+ 'Used' = $used | ConvertTo-FormattedNumber -Type Percent -ErrorAction SilentlyContinue
+ 'OS Type' = $Item.Ostype
+ 'Is Mapped' = Switch ([string]::IsNullOrEmpty($Item.Subsystem)) {
+ $true { "No" }
+ $false { "Yes" }
+ default { $Item.Subsystem }
+ }
+ 'ReadOnly' = ConvertTo-TextYN $Item.IsReadOnly
+ 'Status' = Switch ($Item.State) {
+ 'online' { 'Up' }
+ 'offline' { 'Down' }
+ default { $Item.Online }
+ }
+ }
+ $VserverObj = [pscustomobject]$inobj
+
+ if ($Healthcheck.Vserver.Status) {
+ $VserverObj | Where-Object { $_.'Status' -like 'Down' } | Set-Style -Style Warning -Property 'Status'
+ $VserverObj | Where-Object { $_.'Used' -ge 90 } | Set-Style -Style Critical -Property 'Used'
+ $VserverObj | Where-Object { $_.'Is Mapped' -eq 'No' } | Set-Style -Style Warning -Property 'Is Mapped'
+ }
+
+ $TableParams = @{
+ Name = "Namespace - $($namespace)"
+ List = $true
+ ColumnWidths = 25, 75
+ }
+ if ($Report.ShowTableCaptions) {
+ $TableParams['Caption'] = "- $($TableParams.Name)"
+ }
+ $VserverObj | Sort-Object -Property 'Namespace Name' | Table @TableParams
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
+ }
+ }
+ }
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
+ }
+ }
+
+ end {}
+
+}
\ No newline at end of file
diff --git a/Src/Private/Get-AbrOntapVserverNonMappedLun.ps1 b/Src/Private/Get-AbrOntapVserverNonMappedLun.ps1
index 04cdeba..fa7c4fb 100755
--- a/Src/Private/Get-AbrOntapVserverNonMappedLun.ps1
+++ b/Src/Private/Get-AbrOntapVserverNonMappedLun.ps1
@@ -5,7 +5,7 @@ function Get-AbrOntapVserverNonMappedLun {
.DESCRIPTION
.NOTES
- Version: 0.6.3
+ Version: 0.6.7
Author: Jonathan Colon
Twitter: @jcolonfzenpr
Github: rebelinux
@@ -18,17 +18,17 @@ function Get-AbrOntapVserverNonMappedLun {
[Parameter (
Position = 0,
Mandatory)]
- [string]
- $Vserver
+ [string]
+ $Vserver
)
begin {
- Write-PscriboMessage "Collecting ONTAP ISCSI/FCP Non Mapped Lun information."
+ Write-PScriboMessage "Collecting ONTAP ISCSI/FCP Non Mapped Lun information."
}
process {
try {
- $LunFilter = Get-NcLun -VserverContext $Vserver -Controller $Array | Where-Object {$_.Mapped -ne "True"}
+ $LunFilter = Get-NcLun -VserverContext $Vserver -Controller $Array | Where-Object { $_.Mapped -ne "True" }
$OutObj = @()
if ($LunFilter) {
foreach ($Item in $LunFilter) {
@@ -42,9 +42,8 @@ function Get-AbrOntapVserverNonMappedLun {
'Lun Format' = $Item.Protocol
}
$OutObj += [pscustomobject]$inobj
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
if ($Healthcheck.Vserver.Status) {
@@ -61,9 +60,8 @@ function Get-AbrOntapVserverNonMappedLun {
}
$OutObj | Table @TableParams
}
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
diff --git a/Src/Private/Get-AbrOntapVserverNonMappedNamespace.ps1 b/Src/Private/Get-AbrOntapVserverNonMappedNamespace.ps1
new file mode 100755
index 0000000..9b49d31
--- /dev/null
+++ b/Src/Private/Get-AbrOntapVserverNonMappedNamespace.ps1
@@ -0,0 +1,70 @@
+function Get-AbrOntapVserverNonMappedNamespace {
+ <#
+ .SYNOPSIS
+ Used by As Built Report to retrieve NetApp ONTAP NVMW Non Mapped amespace information from the Cluster Management Network
+ .DESCRIPTION
+
+ .NOTES
+ Version: 0.6.7
+ Author: Jonathan Colon
+ Twitter: @jcolonfzenpr
+ Github: rebelinux
+ .EXAMPLE
+
+ .LINK
+
+ #>
+ param (
+ [Parameter (
+ Position = 0,
+ Mandatory)]
+ [string]
+ $Vserver
+ )
+
+ begin {
+ Write-PScriboMessage "Collecting ONTAP NVME Non Mapped Namespace information."
+ }
+
+ process {
+ try {
+ $NamespaceFilter = Get-NcNvmeNamespace -VserverContext $Vserver -Controller $Array | Where-Object { -Not $_.Subsystem }
+ $OutObj = @()
+ if ($NamespaceFilter) {
+ foreach ($Item in $NamespaceFilter) {
+ try {
+ $namespacename = (($Item.Path).split('/'))[3]
+ $inObj = [ordered] @{
+ 'Volume Name' = $Item.Volume
+ 'Lun Name' = $namespacename
+ 'Type' = $Item.Ostype
+ 'Mapped' = "No"
+ 'State' = $Item.State
+ }
+ $OutObj += [pscustomobject]$inobj
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
+ }
+ }
+ if ($Healthcheck.Vserver.Status) {
+ $OutObj | Set-Style -Style Warning
+ }
+
+ $TableParams = @{
+ Name = "HealthCheck - Non-Mapped Namespace - $($Vserver)"
+ List = $false
+ ColumnWidths = 30, 30, 10, 10, 20
+ }
+ if ($Report.ShowTableCaptions) {
+ $TableParams['Caption'] = "- $($TableParams.Name)"
+ }
+ $OutObj | Table @TableParams
+ }
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
+ }
+ }
+
+ end {}
+
+}
\ No newline at end of file
diff --git a/Src/Private/Get-AbrOntapVserverNvmeFcAdapter.ps1 b/Src/Private/Get-AbrOntapVserverNvmeFcAdapter.ps1
new file mode 100755
index 0000000..e3e9da4
--- /dev/null
+++ b/Src/Private/Get-AbrOntapVserverNvmeFcAdapter.ps1
@@ -0,0 +1,75 @@
+function Get-AbrOntapVserverNvmeFcAdapter {
+ <#
+ .SYNOPSIS
+ Used by As Built Report to retrieve NetApp ONTAP Vserver Nvme FC adapter information from the Cluster Management Network
+ .DESCRIPTION
+
+ .NOTES
+ Version: 0.6.7
+ Author: Jonathan Colon
+ Twitter: @jcolonfzenpr
+ Github: rebelinux
+ .EXAMPLE
+
+ .LINK
+
+ #>
+ param (
+ [Parameter (
+ Position = 0,
+ Mandatory)]
+ [string]
+ $Vserver
+ )
+
+ begin {
+ Write-PScriboMessage "Collecting ONTAP Vserver Nvme FC adapter information."
+ }
+
+ process {
+ try {
+ $VserverData = Get-NcNvmeInterface -VserverContext $Vserver -Controller $Array | Where-Object {$_.PhysicalProtocol -eq 'fibre_channel'} | Sort-Object -Property HomeNode
+ $VserverObj = @()
+ if ($VserverData) {
+ foreach ($Item in $VserverData) {
+ try {
+ $inObj = [ordered] @{
+ 'Node Name' = $Item.HomeNode
+ 'Adapter' = $Item.HomePort
+ 'Protocol' = $Item.PhysicalProtocol
+ 'WWNN' = $Item.FcWwnn
+ 'WWPN' = $Item.FcWwpn
+ 'Status' = Switch ($Item.StatusAdmin) {
+ 'up' { 'Up' }
+ 'down' { 'Down' }
+ default { $Item.StatusAdmin }
+ }
+ }
+ $VserverObj += [pscustomobject]$inobj
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
+ }
+ }
+ if ($Healthcheck.Vserver.FCP) {
+ $VserverObj | Where-Object { $_.'Status' -like 'Down' } | Set-Style -Style Warning -Property 'Status'
+ }
+
+ $TableParams = @{
+ Name = "Nvme FC Physical Adapter - $($Vserver)"
+ List = $false
+ ColumnWidths = 25, 12, 15, 18, 18, 12
+
+ }
+ if ($Report.ShowTableCaptions) {
+ $TableParams['Caption'] = "- $($TableParams.Name)"
+ }
+ $VserverObj | Table @TableParams
+ }
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
+ }
+ }
+
+ end {}
+
+}
\ No newline at end of file
diff --git a/Src/Private/Get-AbrOntapVserverNvmeInterface.ps1 b/Src/Private/Get-AbrOntapVserverNvmeInterface.ps1
new file mode 100755
index 0000000..204c1c1
--- /dev/null
+++ b/Src/Private/Get-AbrOntapVserverNvmeInterface.ps1
@@ -0,0 +1,72 @@
+function Get-AbrOntapVserverNvmeInterface {
+ <#
+ .SYNOPSIS
+ Used by As Built Report to retrieve NetApp ONTAP Vserver NVME interface information from the Cluster Management Network
+ .DESCRIPTION
+
+ .NOTES
+ Version: 0.6.7
+ Author: Jonathan Colon
+ Twitter: @jcolonfzenpr
+ Github: rebelinux
+ .EXAMPLE
+
+ .LINK
+
+ #>
+ param (
+ [Parameter (
+ Position = 0,
+ Mandatory)]
+ [string]
+ $Vserver
+ )
+
+ begin {
+ Write-PScriboMessage "Collecting ONTAP Vserver NVME interface information."
+ }
+
+ process {
+ try {
+ $VserverData = Get-NcNvmeInterface -VserverContext $Vserver -Controller $Array | Sort-Object -Property TransportProtocols
+ $VserverObj = @()
+ if ($VserverData) {
+ foreach ($Item in $VserverData) {
+ try {
+ $inObj = [ordered] @{
+ 'Interface Name' = $Item.Lif
+ 'Transport Address' = $Item.TransportAddress
+ 'Transport Protocols' = $Item.TransportProtocols
+ 'Status' = Switch ($Item.StatusAdmin) {
+ 'up' { 'Up' }
+ 'down' { 'Down' }
+ default { $Item.StatusAdmin }
+ }
+ }
+ $VserverObj += [pscustomobject]$inobj
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
+ }
+ }
+ if ($Healthcheck.Vserver.Nvme) {
+ $VserverObj | Where-Object { $_.'Status' -like 'Down' } | Set-Style -Style Warning -Property 'Status'
+ }
+
+ $TableParams = @{
+ Name = "NVME Interface - $($Vserver)"
+ List = $false
+ ColumnWidths = 40, 36, 12, 12
+ }
+ if ($Report.ShowTableCaptions) {
+ $TableParams['Caption'] = "- $($TableParams.Name)"
+ }
+ $VserverObj | Table @TableParams
+ }
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
+ }
+ }
+
+ end {}
+
+}
\ No newline at end of file
diff --git a/Src/Private/Get-AbrOntapVserverNvmeTcpAdapter.ps1 b/Src/Private/Get-AbrOntapVserverNvmeTcpAdapter.ps1
new file mode 100755
index 0000000..4af45b6
--- /dev/null
+++ b/Src/Private/Get-AbrOntapVserverNvmeTcpAdapter.ps1
@@ -0,0 +1,74 @@
+function Get-AbrOntapVserverNvmeTcpAdapter {
+ <#
+ .SYNOPSIS
+ Used by As Built Report to retrieve NetApp ONTAP Vserver Nvme TCP adapter information from the Cluster Management Network
+ .DESCRIPTION
+
+ .NOTES
+ Version: 0.6.7
+ Author: Jonathan Colon
+ Twitter: @jcolonfzenpr
+ Github: rebelinux
+ .EXAMPLE
+
+ .LINK
+
+ #>
+ param (
+ [Parameter (
+ Position = 0,
+ Mandatory)]
+ [string]
+ $Vserver
+ )
+
+ begin {
+ Write-PScriboMessage "Collecting ONTAP Vserver Nvme TCP adapter information."
+ }
+
+ process {
+ try {
+ $VserverData = Get-NcNvmeInterface -VserverContext $Vserver -Controller $Array | Where-Object {$_.PhysicalProtocol -eq 'ethernet'} | Sort-Object -Property HomeNode
+ $VserverObj = @()
+ if ($VserverData) {
+ foreach ($Item in $VserverData) {
+ try {
+ $inObj = [ordered] @{
+ 'Node Name' = $Item.HomeNode
+ 'Adapter' = $Item.HomePort
+ 'Protocol' = $Item.PhysicalProtocol
+ 'IP Address' = $Item.TransportAddress
+ 'Status' = Switch ($Item.StatusAdmin) {
+ 'up' { 'Up' }
+ 'down' { 'Down' }
+ default { $Item.StatusAdmin }
+ }
+ }
+ $VserverObj += [pscustomobject]$inobj
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
+ }
+ }
+ if ($Healthcheck.Vserver.FCP) {
+ $VserverObj | Where-Object { $_.'Status' -like 'Down' } | Set-Style -Style Warning -Property 'Status'
+ }
+
+ $TableParams = @{
+ Name = "Nvme TCP Physical Adapter - $($Vserver)"
+ List = $false
+ ColumnWidths = 30, 17, 17, 20, 16
+
+ }
+ if ($Report.ShowTableCaptions) {
+ $TableParams['Caption'] = "- $($TableParams.Name)"
+ }
+ $VserverObj | Table @TableParams
+ }
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
+ }
+ }
+
+ end {}
+
+}
\ No newline at end of file
diff --git a/Src/Private/Get-AbrOntapVserverS3Bucket.ps1 b/Src/Private/Get-AbrOntapVserverS3Bucket.ps1
index 5979ea4..799cc1d 100755
--- a/Src/Private/Get-AbrOntapVserverS3Bucket.ps1
+++ b/Src/Private/Get-AbrOntapVserverS3Bucket.ps1
@@ -5,7 +5,7 @@ function Get-AbrOntapVserverS3Bucket {
.DESCRIPTION
.NOTES
- Version: 0.6.3
+ Version: 0.6.7
Author: Jonathan Colon
Twitter: @jcolonfzenpr
Github: rebelinux
@@ -18,12 +18,12 @@ function Get-AbrOntapVserverS3Bucket {
[Parameter (
Position = 0,
Mandatory)]
- [string]
- $Vserver
+ [string]
+ $Vserver
)
begin {
- Write-PscriboMessage "Collecting ONTAP Vserver S3 bucket information."
+ Write-PScriboMessage "Collecting ONTAP Vserver S3 bucket information."
}
process {
@@ -40,9 +40,8 @@ function Get-AbrOntapVserverS3Bucket {
'Used' = $Item.logical_used_size | ConvertTo-FormattedNumber -Type Datasize -ErrorAction SilentlyContinue
}
$VserverObj += [pscustomobject]$inobj
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
@@ -56,9 +55,8 @@ function Get-AbrOntapVserverS3Bucket {
}
$VserverObj | Table @TableParams
}
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
diff --git a/Src/Private/Get-AbrOntapVserverS3Summary.ps1 b/Src/Private/Get-AbrOntapVserverS3Summary.ps1
index 534fb43..25b1c07 100755
--- a/Src/Private/Get-AbrOntapVserverS3Summary.ps1
+++ b/Src/Private/Get-AbrOntapVserverS3Summary.ps1
@@ -5,7 +5,7 @@ function Get-AbrOntapVserverS3Summary {
.DESCRIPTION
.NOTES
- Version: 0.6.3
+ Version: 0.6.7
Author: Jonathan Colon
Twitter: @jcolonfzenpr
Github: rebelinux
@@ -18,12 +18,12 @@ function Get-AbrOntapVserverS3Summary {
[Parameter (
Position = 0,
Mandatory)]
- [string]
- $Vserver
+ [string]
+ $Vserver
)
begin {
- Write-PscriboMessage "Collecting ONTAP Vserver S3 information."
+ Write-PScriboMessage "Collecting ONTAP Vserver S3 information."
}
process {
@@ -45,9 +45,8 @@ function Get-AbrOntapVserverS3Summary {
}
}
$VserverObj += [pscustomobject]$inobj
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
@@ -61,9 +60,8 @@ function Get-AbrOntapVserverS3Summary {
}
$VserverObj | Table @TableParams
}
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
diff --git a/Src/Private/Get-AbrOntapVserverSubsystem.ps1 b/Src/Private/Get-AbrOntapVserverSubsystem.ps1
new file mode 100755
index 0000000..1b90ff6
--- /dev/null
+++ b/Src/Private/Get-AbrOntapVserverSubsystem.ps1
@@ -0,0 +1,82 @@
+function Get-AbrOntapVserverSubsystem {
+ <#
+ .SYNOPSIS
+ Used by As Built Report to retrieve NetApp ONTAP vserver subsystem information from the Cluster Management Network
+ .DESCRIPTION
+
+ .NOTES
+ Version: 0.6.7
+ Author: Jonathan Colon
+ Twitter: @jcolonfzenpr
+ Github: rebelinux
+ .EXAMPLE
+
+ .LINK
+
+ #>
+ param (
+ [Parameter (
+ Position = 0,
+ Mandatory)]
+ [string]
+ $Vserver
+ )
+
+ begin {
+ Write-PScriboMessage "Collecting ONTAP Vserver Subsystem information."
+ }
+
+ process {
+ try {
+ $VserverSubsystem = Get-NcNvmeSubsystem -VserverContext $Vserver -Controller $Array
+ $VserverObj = @()
+ if ($VserverSubsystem) {
+ foreach ($Item in $VserverSubsystem) {
+ try {
+ $namespacemap = Get-NcNvmeSubsystemMap -Controller $Array | Where-Object { $_.Subsystem -eq $Item.Subsystem } | Select-Object -ExpandProperty Path
+ $MappedNamespace = @()
+ foreach ($namespace in $namespacemap) {
+ try {
+ $namespacename = $namespace.split('/')
+ $MappedNamespace += $namespacename[3]
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
+ }
+ }
+ $inObj = [ordered] @{
+ 'Subsystem Name' = $Item.Subsystem
+ 'Type' = $Item.Ostype
+ 'Target NQN' = $Item.TargetNqn
+ 'Host NQN' = $Item.Hosts.Nqn
+ 'Mapped Namespace' = Switch (($MappedNamespace).count) {
+ 0 { "None" }
+ default { $MappedNamespace }
+ }
+ }
+ $VserverObj = [pscustomobject]$inobj
+ if ($Healthcheck.Vserver.Status) {
+ $VserverObj | Where-Object { ($_.'Mapped Namespace').count -eq 0 } | Set-Style -Style Warning -Property 'Mapped Namespace'
+ }
+
+ $TableParams = @{
+ Name = "Subsystem - $($Item.Subsystem)"
+ List = $true
+ ColumnWidths = 25, 75
+ }
+ if ($Report.ShowTableCaptions) {
+ $TableParams['Caption'] = "- $($TableParams.Name)"
+ }
+ $VserverObj | Table @TableParams
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
+ }
+ }
+ }
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
+ }
+ }
+
+ end {}
+
+}
\ No newline at end of file
diff --git a/Src/Private/Get-AbrOntapVserverSummary.ps1 b/Src/Private/Get-AbrOntapVserverSummary.ps1
index bd9c71a..e2d7cb3 100755
--- a/Src/Private/Get-AbrOntapVserverSummary.ps1
+++ b/Src/Private/Get-AbrOntapVserverSummary.ps1
@@ -5,7 +5,7 @@ function Get-AbrOntapVserverSummary {
.DESCRIPTION
.NOTES
- Version: 0.6.3
+ Version: 0.6.7
Author: Jonathan Colon
Twitter: @jcolonfzenpr
Github: rebelinux
@@ -18,17 +18,17 @@ function Get-AbrOntapVserverSummary {
[Parameter (
Position = 0,
Mandatory)]
- [string]
- $Vserver
+ [string]
+ $Vserver
)
begin {
- Write-PscriboMessage "Collecting ONTAP Vserver information."
+ Write-PScriboMessage "Collecting ONTAP Vserver information."
}
process {
try {
- $VserverData = Get-NcVserver -VserverContext $Vserver| Where-Object { $_.VserverType -eq "data" }
+ $VserverData = Get-NcVserver -VserverContext $Vserver | Where-Object { $_.VserverType -eq "data" }
$VserverObj = @()
if ($VserverData) {
foreach ($Item in $VserverData) {
@@ -41,9 +41,8 @@ function Get-AbrOntapVserverSummary {
'Status' = $Item.State
}
$VserverObj += [pscustomobject]$inobj
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
if ($Healthcheck.Vserver.Status) {
@@ -62,7 +61,7 @@ function Get-AbrOntapVserverSummary {
}
try {
Section -Style Heading4 'Root Volume' {
- $VserverRootVol = Get-NcVol -VserverContext $Vserver| Where-Object {$_.JunctionPath -eq '/'}
+ $VserverRootVol = Get-NcVol -VserverContext $Vserver | Where-Object { $_.JunctionPath -eq '/' }
$VserverObj = @()
if ($VserverRootVol) {
foreach ($Item in $VserverRootVol) {
@@ -77,9 +76,8 @@ function Get-AbrOntapVserverSummary {
'Aggregate' = $Item.Aggregate
}
$VserverObj += [pscustomobject]$inobj
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
if ($Healthcheck.Vserver.Status) {
@@ -98,9 +96,8 @@ function Get-AbrOntapVserverSummary {
$VserverObj | Table @TableParams
}
}
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
try {
if (Get-NcVserverAggr) {
@@ -117,9 +114,8 @@ function Get-AbrOntapVserverSummary {
'Available' = $Item.AvailableSize | ConvertTo-FormattedNumber -Type Datasize -ErrorAction SilentlyContinue
}
$VserverObj += [pscustomobject]$inobj
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
@@ -135,13 +131,11 @@ function Get-AbrOntapVserverSummary {
}
}
}
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
- }
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
diff --git a/Src/Private/Get-AbrOntapVserverVolumeSnapshot.ps1 b/Src/Private/Get-AbrOntapVserverVolumeSnapshot.ps1
index bb4ea45..aef488a 100755
--- a/Src/Private/Get-AbrOntapVserverVolumeSnapshot.ps1
+++ b/Src/Private/Get-AbrOntapVserverVolumeSnapshot.ps1
@@ -5,7 +5,7 @@ function Get-AbrOntapVserverVolumeSnapshot {
.DESCRIPTION
.NOTES
- Version: 0.6.3
+ Version: 0.6.7
Author: Jonathan Colon
Twitter: @jcolonfzenpr
Github: rebelinux
@@ -18,17 +18,17 @@ function Get-AbrOntapVserverVolumeSnapshot {
[Parameter (
Position = 0,
Mandatory)]
- [string]
- $Vserver
+ [string]
+ $Vserver
)
begin {
- Write-PscriboMessage "Collecting ONTAP Vserver volumes snapshot information."
+ Write-PScriboMessage "Collecting ONTAP Vserver volumes snapshot information."
}
process {
try {
- $VolumeFilter = Get-NcVol -VserverContext $Vserver -Controller $Array | Where-Object {$_.JunctionPath -ne '/' -and $_.Name -ne 'vol0'}
+ $VolumeFilter = Get-NcVol -VserverContext $Vserver -Controller $Array | Where-Object { $_.JunctionPath -ne '/' -and $_.Name -ne 'vol0' }
$VserverObj = @()
if ($VolumeFilter) {
foreach ($Item in $VolumeFilter) {
@@ -45,13 +45,12 @@ function Get-AbrOntapVserverVolumeSnapshot {
}
$VserverObj += [pscustomobject]$inobj
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
if ($Healthcheck.Vserver.Snapshot) {
- $VserverObj | Where-Object { $_.'Snapshot Enabled' -eq 'True' -and $_.'Reserve Available' -eq 0 } | Set-Style -Style Warning -Property 'Reserve Size','Reserve Available','Used'
+ $VserverObj | Where-Object { $_.'Snapshot Enabled' -eq 'True' -and $_.'Reserve Available' -eq 0 } | Set-Style -Style Warning -Property 'Reserve Size', 'Reserve Available', 'Used'
}
$TableParams = @{
@@ -66,9 +65,8 @@ function Get-AbrOntapVserverVolumeSnapshot {
$VserverObj | Table @TableParams
}
}
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
diff --git a/Src/Private/Get-AbrOntapVserverVolumeSnapshotHealth.ps1 b/Src/Private/Get-AbrOntapVserverVolumeSnapshotHealth.ps1
index f30c1fd..ffe01be 100755
--- a/Src/Private/Get-AbrOntapVserverVolumeSnapshotHealth.ps1
+++ b/Src/Private/Get-AbrOntapVserverVolumeSnapshotHealth.ps1
@@ -5,7 +5,7 @@ function Get-AbrOntapVserverVolumeSnapshotHealth {
.DESCRIPTION
.NOTES
- Version: 0.6.3
+ Version: 0.6.7
Author: Jonathan Colon
Twitter: @jcolonfzenpr
Github: rebelinux
@@ -18,20 +18,20 @@ function Get-AbrOntapVserverVolumeSnapshotHealth {
[Parameter (
Position = 0,
Mandatory)]
- [string]
- $Vserver
+ [string]
+ $Vserver
)
begin {
- Write-PscriboMessage "Collecting ONTAP Vserver volumes snapshot healthcheck information."
+ Write-PScriboMessage "Collecting ONTAP Vserver volumes snapshot healthcheck information."
}
process {
try {
$SnapshotDays = 7
$Now = Get-Date
- $VserverFilter = Get-NcVol -VserverContext $Vserver -Controller $Array | Where-Object {$_.JunctionPath -ne '/' -and $_.Name -ne 'vol0'}
- $SnapShotData = get-ncsnapshot -Volume $VserverFilter -Controller $Array | Where-Object {$_.Name -notmatch "snapmirror.*" -and $_.Created -le $Now.AddDays(-$SnapshotDays)}
+ $VserverFilter = Get-NcVol -VserverContext $Vserver -Controller $Array | Where-Object { $_.JunctionPath -ne '/' -and $_.Name -ne 'vol0' }
+ $SnapShotData = Get-NcSnapshot -Volume $VserverFilter -Controller $Array | Where-Object { $_.Name -notmatch "snapmirror.*" -and $_.Created -le $Now.AddDays(-$SnapshotDays) }
if ($SnapShotData) {
Section -Style Heading4 "HealthCheck - Volumes Snapshot" {
Paragraph "The following section provides the Vserver Volumes Snapshot HealthCheck on $($SVM)."
@@ -46,9 +46,8 @@ function Get-AbrOntapVserverVolumeSnapshotHealth {
'Used' = $Item.Total | ConvertTo-FormattedNumber -Type Datasize -ErrorAction SilentlyContinue
}
$VserverObj += [pscustomobject]$inobj
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
@@ -64,8 +63,7 @@ function Get-AbrOntapVserverVolumeSnapshotHealth {
$VserverObj | Table @TableParams
}
}
- }
- catch {
+ } catch {
Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
diff --git a/Src/Private/Get-AbrOntapVserverVolumes.ps1 b/Src/Private/Get-AbrOntapVserverVolumes.ps1
index 7611a7f..94357d0 100755
--- a/Src/Private/Get-AbrOntapVserverVolumes.ps1
+++ b/Src/Private/Get-AbrOntapVserverVolumes.ps1
@@ -5,7 +5,7 @@ function Get-AbrOntapVserverVolume {
.DESCRIPTION
.NOTES
- Version: 0.6.3
+ Version: 0.6.7
Author: Jonathan Colon
Twitter: @jcolonfzenpr
Github: rebelinux
@@ -18,17 +18,17 @@ function Get-AbrOntapVserverVolume {
[Parameter (
Position = 0,
Mandatory)]
- [string]
- $Vserver
+ [string]
+ $Vserver
)
begin {
- Write-PscriboMessage "Collecting ONTAP Vserver volumes information."
+ Write-PScriboMessage "Collecting ONTAP Vserver volumes information."
}
process {
try {
- $VserverRootVol = Get-NcVol -VserverContext $Vserver -Controller $Array | Where-Object {$_.JunctionPath -ne '/' -and $_.Name -ne 'vol0'}
+ $VserverRootVol = Get-NcVol -VserverContext $Vserver -Controller $Array | Where-Object { $_.JunctionPath -ne '/' -and $_.Name -ne 'vol0' }
$VserverObj = @()
if ($VserverRootVol) {
foreach ($Item in $VserverRootVol) {
@@ -42,9 +42,8 @@ function Get-AbrOntapVserverVolume {
'Aggregate' = $Item.Aggregate
}
$VserverObj += [pscustomobject]$inobj
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
if ($Healthcheck.Vserver.Status) {
@@ -62,9 +61,8 @@ function Get-AbrOntapVserverVolume {
}
$VserverObj | Table @TableParams
}
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
diff --git a/Src/Private/Get-AbrOntapVserverVolumesExportPolicy.ps1 b/Src/Private/Get-AbrOntapVserverVolumesExportPolicy.ps1
index 71a9047..d0a2554 100755
--- a/Src/Private/Get-AbrOntapVserverVolumesExportPolicy.ps1
+++ b/Src/Private/Get-AbrOntapVserverVolumesExportPolicy.ps1
@@ -5,7 +5,7 @@ function Get-AbrOntapVserverVolumesExportPolicy {
.DESCRIPTION
.NOTES
- Version: 0.6.3
+ Version: 0.6.7
Author: Jonathan Colon
Twitter: @jcolonfzenpr
Github: rebelinux
@@ -18,12 +18,12 @@ function Get-AbrOntapVserverVolumesExportPolicy {
[Parameter (
Position = 0,
Mandatory)]
- [string]
- $Vserver
+ [string]
+ $Vserver
)
begin {
- Write-PscriboMessage "Collecting ONTAP Vserver volumes export policy information."
+ Write-PScriboMessage "Collecting ONTAP Vserver volumes export policy information."
}
process {
@@ -42,9 +42,8 @@ function Get-AbrOntapVserverVolumesExportPolicy {
'Rw Rule' = $Item.RwRule
}
$VserverObj += [pscustomobject]$inobj
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
@@ -58,9 +57,8 @@ function Get-AbrOntapVserverVolumesExportPolicy {
}
$VserverObj | Table @TableParams
}
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
diff --git a/Src/Private/Get-AbrOntapVserverVolumesFlexcache.ps1 b/Src/Private/Get-AbrOntapVserverVolumesFlexcache.ps1
index 63411e3..3ff0c21 100755
--- a/Src/Private/Get-AbrOntapVserverVolumesFlexcache.ps1
+++ b/Src/Private/Get-AbrOntapVserverVolumesFlexcache.ps1
@@ -5,7 +5,7 @@ function Get-AbrOntapVserverVolumesFlexcache {
.DESCRIPTION
.NOTES
- Version: 0.6.3
+ Version: 0.6.7
Author: Jonathan Colon
Twitter: @jcolonfzenpr
Github: rebelinux
@@ -18,12 +18,12 @@ function Get-AbrOntapVserverVolumesFlexcache {
[Parameter (
Position = 0,
Mandatory)]
- [string]
- $Vserver
+ [string]
+ $Vserver
)
begin {
- Write-PscriboMessage "Collecting ONTAP Vserver flexcache volumes information."
+ Write-PScriboMessage "Collecting ONTAP Vserver flexcache volumes information."
}
process {
@@ -44,9 +44,8 @@ function Get-AbrOntapVserverVolumesFlexcache {
'Capacity' = $VolumeUsage.TotalSize | ConvertTo-FormattedNumber -Type Datasize -ErrorAction SilentlyContinue
}
$OutObj += [pscustomobject]$inobj
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
@@ -76,9 +75,8 @@ function Get-AbrOntapVserverVolumesFlexcache {
'Capacity' = $Item.Size | ConvertTo-FormattedNumber -Type Datasize -ErrorAction SilentlyContinue
}
$OutObj += [pscustomobject]$inobj
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
@@ -92,13 +90,11 @@ function Get-AbrOntapVserverVolumesFlexcache {
}
$OutObj | Table @TableParams
}
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
- }
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
diff --git a/Src/Private/Get-AbrOntapVserverVolumesFlexclone.ps1 b/Src/Private/Get-AbrOntapVserverVolumesFlexclone.ps1
index b61843b..21131c1 100755
--- a/Src/Private/Get-AbrOntapVserverVolumesFlexclone.ps1
+++ b/Src/Private/Get-AbrOntapVserverVolumesFlexclone.ps1
@@ -5,7 +5,7 @@ function Get-AbrOntapVserverVolumesFlexclone {
.DESCRIPTION
.NOTES
- Version: 0.6.3
+ Version: 0.6.7
Author: Jonathan Colon
Twitter: @jcolonfzenpr
Github: rebelinux
@@ -18,12 +18,12 @@ function Get-AbrOntapVserverVolumesFlexclone {
[Parameter (
Position = 0,
Mandatory)]
- [string]
- $Vserver
+ [string]
+ $Vserver
)
begin {
- Write-PscriboMessage "Collecting ONTAP Vserver volumes flexclone information."
+ Write-PScriboMessage "Collecting ONTAP Vserver volumes flexclone information."
}
process {
@@ -59,15 +59,13 @@ function Get-AbrOntapVserverVolumesFlexclone {
$TableParams['Caption'] = "- $($TableParams.Name)"
}
$VserverObj | Table @TableParams
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
}
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
diff --git a/Src/Private/Get-AbrOntapVserverVolumesFlexgroup.ps1 b/Src/Private/Get-AbrOntapVserverVolumesFlexgroup.ps1
index e6435a2..37724da 100755
--- a/Src/Private/Get-AbrOntapVserverVolumesFlexgroup.ps1
+++ b/Src/Private/Get-AbrOntapVserverVolumesFlexgroup.ps1
@@ -5,7 +5,7 @@ function Get-AbrOntapVserverVolumesFlexgroup {
.DESCRIPTION
.NOTES
- Version: 0.6.3
+ Version: 0.6.7
Author: Jonathan Colon
Twitter: @jcolonfzenpr
Github: rebelinux
diff --git a/Src/Private/Get-AbrOntapVserverVolumesQos.ps1 b/Src/Private/Get-AbrOntapVserverVolumesQos.ps1
index 5ef26d9..fb4d293 100755
--- a/Src/Private/Get-AbrOntapVserverVolumesQos.ps1
+++ b/Src/Private/Get-AbrOntapVserverVolumesQos.ps1
@@ -5,7 +5,7 @@ function Get-AbrOntapVserverVolumesQosSetting {
.DESCRIPTION
.NOTES
- Version: 0.6.3
+ Version: 0.6.7
Author: Jonathan Colon
Twitter: @jcolonfzenpr
Github: rebelinux
@@ -18,17 +18,17 @@ function Get-AbrOntapVserverVolumesQosSetting {
[Parameter (
Position = 0,
Mandatory)]
- [string]
- $Vserver
+ [string]
+ $Vserver
)
begin {
- Write-PscriboMessage "Collecting ONTAP Vserver volumes qos information."
+ Write-PScriboMessage "Collecting ONTAP Vserver volumes qos information."
}
process {
try {
- $VolumeFilter = Get-NcVol -VserverContext $Vserver -Controller $Array | Where-Object {$_.JunctionPath -ne '/' -and $_.Name -ne 'vol0' -and $_.VolumeStateAttributes.IsConstituent -ne "True"}
+ $VolumeFilter = Get-NcVol -VserverContext $Vserver -Controller $Array | Where-Object { $_.JunctionPath -ne '/' -and $_.Name -ne 'vol0' -and $_.VolumeStateAttributes.IsConstituent -ne "True" }
$OutObj = @()
if ($VolumeFilter) {
foreach ($Item in $VolumeFilter) {
@@ -46,9 +46,8 @@ function Get-AbrOntapVserverVolumesQosSetting {
}
}
$OutObj += [pscustomobject]$inobj
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
@@ -62,9 +61,8 @@ function Get-AbrOntapVserverVolumesQosSetting {
}
$OutObj | Table @TableParams
}
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
diff --git a/Src/Private/Get-AbrOntapVserverVolumesQosGPAdaptive.ps1 b/Src/Private/Get-AbrOntapVserverVolumesQosGPAdaptive.ps1
index d159cf8..e0143db 100755
--- a/Src/Private/Get-AbrOntapVserverVolumesQosGPAdaptive.ps1
+++ b/Src/Private/Get-AbrOntapVserverVolumesQosGPAdaptive.ps1
@@ -5,7 +5,7 @@ function Get-AbrOntapVserverVolumesQosGPAdaptive {
.DESCRIPTION
.NOTES
- Version: 0.6.3
+ Version: 0.6.7
Author: Jonathan Colon
Twitter: @jcolonfzenpr
Github: rebelinux
@@ -19,7 +19,7 @@ function Get-AbrOntapVserverVolumesQosGPAdaptive {
)
begin {
- Write-PscriboMessage "Collecting ONTAP Vserver volumes qos group adaptive information."
+ Write-PScriboMessage "Collecting ONTAP Vserver volumes qos group adaptive information."
}
process {
@@ -29,7 +29,6 @@ function Get-AbrOntapVserverVolumesQosGPAdaptive {
if ($QoSFilter) {
foreach ($Item in $QoSFilter) {
try {
- $VolQoS = Get-NcVol $Item.Name -Controller $Array | Select-Object -ExpandProperty VolumeQosAttributes
$inObj = [ordered] @{
'Policy Name' = $Item.PolicyGroup
'Peak Iops' = $Item.PeakIops
@@ -38,9 +37,8 @@ function Get-AbrOntapVserverVolumesQosGPAdaptive {
'Vserver' = $Item.Vserver
}
$OutObj += [pscustomobject]$inobj
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
@@ -54,12 +52,11 @@ function Get-AbrOntapVserverVolumesQosGPAdaptive {
}
$OutObj | Table @TableParams
}
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
end {}
-}
\ No newline at end of file
+}
diff --git a/Src/Private/Get-AbrOntapVserverVolumesQosGPFixed.ps1 b/Src/Private/Get-AbrOntapVserverVolumesQosGPFixed.ps1
index 8a86b53..9e631cb 100755
--- a/Src/Private/Get-AbrOntapVserverVolumesQosGPFixed.ps1
+++ b/Src/Private/Get-AbrOntapVserverVolumesQosGPFixed.ps1
@@ -5,7 +5,7 @@ function Get-AbrOntapVserverVolumesQosGPFixed {
.DESCRIPTION
.NOTES
- Version: 0.6.3
+ Version: 0.6.7
Author: Jonathan Colon
Twitter: @jcolonfzenpr
Github: rebelinux
@@ -19,17 +19,16 @@ function Get-AbrOntapVserverVolumesQosGPFixed {
)
begin {
- Write-PscriboMessage "Collecting ONTAP Vserver volumes qos group fixed information."
+ Write-PScriboMessage "Collecting ONTAP Vserver volumes qos group fixed information."
}
process {
try {
- $QoSFilter = Get-NcQosPolicyGroup -Controller $Array | Where-Object {$_.PolicyGroupClass -eq "user_defined"}
+ $QoSFilter = Get-NcQosPolicyGroup -Controller $Array | Where-Object { $_.PolicyGroupClass -eq "user_defined" }
$OutObj = @()
if ($QoSFilter) {
foreach ($Item in $QoSFilter) {
try {
- $VolQoS = Get-NcVol $Item.Name -Controller $Array | Select-Object -ExpandProperty VolumeQosAttributes
$inObj = [ordered] @{
'Policy Name' = $Item.PolicyGroup
'Max Throughput' = $Item.MaxThroughput
@@ -38,9 +37,8 @@ function Get-AbrOntapVserverVolumesQosGPFixed {
'Vserver' = $Item.Vserver
}
$OutObj += [pscustomobject]$inobj
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
@@ -54,12 +52,11 @@ function Get-AbrOntapVserverVolumesQosGPFixed {
}
$OutObj | Table @TableParams
}
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
end {}
-}
\ No newline at end of file
+}
diff --git a/Src/Private/Get-AbrOntapVserverVolumesQtree.ps1 b/Src/Private/Get-AbrOntapVserverVolumesQtree.ps1
index 1e30d5c..9e353e6 100755
--- a/Src/Private/Get-AbrOntapVserverVolumesQtree.ps1
+++ b/Src/Private/Get-AbrOntapVserverVolumesQtree.ps1
@@ -5,7 +5,7 @@ function Get-AbrOntapVserverVolumesQtree {
.DESCRIPTION
.NOTES
- Version: 0.6.3
+ Version: 0.6.7
Author: Jonathan Colon
Twitter: @jcolonfzenpr
Github: rebelinux
@@ -18,17 +18,17 @@ function Get-AbrOntapVserverVolumesQtree {
[Parameter (
Position = 0,
Mandatory)]
- [string]
- $Vserver
+ [string]
+ $Vserver
)
begin {
- Write-PscriboMessage "Collecting ONTAP Vserver volumes qtree information."
+ Write-PScriboMessage "Collecting ONTAP Vserver volumes qtree information."
}
process {
try {
- $VserverQtree = Get-NcQtree -VserverContext $Vserver -Controller $Array | Where-Object {$NULL -ne $_.Qtree}
+ $VserverQtree = Get-NcQtree -VserverContext $Vserver -Controller $Array | Where-Object { $NULL -ne $_.Qtree }
$VserverObj = @()
if ($VserverQtree) {
foreach ($Item in $VserverQtree) {
@@ -41,9 +41,8 @@ function Get-AbrOntapVserverVolumesQtree {
'Export Policy' = $Item.ExportPolicy
}
$VserverObj += [pscustomobject]$inobj
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
if ($Healthcheck.Vserver.Status) {
@@ -60,9 +59,8 @@ function Get-AbrOntapVserverVolumesQtree {
}
$VserverObj | Table @TableParams
}
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
diff --git a/Src/Private/Get-AbrOntapVserverVolumesQuota.ps1 b/Src/Private/Get-AbrOntapVserverVolumesQuota.ps1
index 6d91e3b..6c606fd 100755
--- a/Src/Private/Get-AbrOntapVserverVolumesQuota.ps1
+++ b/Src/Private/Get-AbrOntapVserverVolumesQuota.ps1
@@ -5,7 +5,7 @@ function Get-AbrOntapVserverVolumesQuota {
.DESCRIPTION
.NOTES
- Version: 0.6.6
+ Version: 0.6.7
Author: Jonathan Colon
Twitter: @jcolonfzenpr
Github: rebelinux
@@ -18,12 +18,12 @@ function Get-AbrOntapVserverVolumesQuota {
[Parameter (
Position = 0,
Mandatory)]
- [string]
- $Vserver
+ [string]
+ $Vserver
)
begin {
- Write-PscriboMessage "Collecting ONTAP Vserver volumes quota information."
+ Write-PScriboMessage "Collecting ONTAP Vserver volumes quota information."
}
process {
@@ -45,9 +45,8 @@ function Get-AbrOntapVserverVolumesQuota {
if ($null -ne $Item.QuotaErrorMsgs) {
$VserverObj.Add('Quota Error', $Item.QuotaErrorMsgs)
}
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
if ($Healthcheck.Vserver.Quota) {
@@ -65,9 +64,8 @@ function Get-AbrOntapVserverVolumesQuota {
$VserverObj | Table @TableParams
}
}
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
try {
if ($InfoLevel.Vserver -ge 2) {
@@ -105,9 +103,8 @@ function Get-AbrOntapVserverVolumesQuota {
if ($null -ne $Item.QuotaError) {
$VserverObj.Add('Quota Error', $Item.QuotaError)
}
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
@@ -126,9 +123,8 @@ function Get-AbrOntapVserverVolumesQuota {
$VserverObj | Table @TableParams
}
}
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
try {
Section -ExcludeFromTOC -Style Heading6 "$Vserver Vserver Volume Quota Report (Disk)" {
@@ -154,9 +150,8 @@ function Get-AbrOntapVserverVolumesQuota {
'Disk Used' = $Item.DiskUsed | ConvertTo-FormattedNumber -Type DataSize -ErrorAction SilentlyContinue
}
$VserverObj += [pscustomobject]$inobj
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
if ($null -ne $Item.QuotaError) {
@@ -177,9 +172,8 @@ function Get-AbrOntapVserverVolumesQuota {
$VserverObj | Table @TableParams
}
}
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
try {
Section -ExcludeFromTOC -Style Heading6 "$Vserver Vserver Volume Quota Report (File)" {
@@ -205,9 +199,8 @@ function Get-AbrOntapVserverVolumesQuota {
'Files Used' = $Item.FilesUsed | ConvertTo-FormattedNumber -Type Count -ErrorAction SilentlyContinue
}
$VserverObj += [pscustomobject]$inobj
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
@@ -222,14 +215,12 @@ function Get-AbrOntapVserverVolumesQuota {
$VserverObj | Table @TableParams
}
}
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
- }
- catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
+ } catch {
+ Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
diff --git a/Src/Private/Get-NetAppOntapAPI.ps1 b/Src/Private/Get-NetAppOntapAPI.ps1
index dac17bf..591acab 100644
--- a/Src/Private/Get-NetAppOntapAPI.ps1
+++ b/Src/Private/Get-NetAppOntapAPI.ps1
@@ -5,7 +5,7 @@ function Get-NetAppOntapAPI {
.DESCRIPTION
.NOTES
- Version: 0.5.0
+ Version: 0.6.7
Author: Tim Carman
Editor: Jonathan Colon
Twitter: @jcolonfzenpr
@@ -26,9 +26,9 @@ function Get-NetAppOntapAPI {
)
begin {
- #region Workaround for SelfSigned Cert an force TLS 1.2
- if (-not ([System.Management.Automation.PSTypeName]'ServerCertificateValidationCallback').Type) {
- $certCallback = @"
+ #region Workaround for SelfSigned Cert an force TLS 1.2
+ if (-not ([System.Management.Automation.PSTypeName]'ServerCertificateValidationCallback').Type) {
+ $certCallback = @"
using System;
using System.Net;
using System.Net.Security;
@@ -54,11 +54,11 @@ function Get-NetAppOntapAPI {
}
}
"@
- Add-Type $certCallback
- }
- [ServerCertificateValidationCallback]::Ignore()
- [Net.ServicePointManager]::SecurityProtocol = "tls12, tls11, tls"
- #endregion Workaround for SelfSigned Cert an force TLS 1.2
+ Add-Type $certCallback
+ }
+ [ServerCertificateValidationCallback]::Ignore()
+ [Net.ServicePointManager]::SecurityProtocol = "tls12, tls11, tls"
+ #endregion Workaround for SelfSigned Cert an force TLS 1.2
$username = $Credential.UserName
$password = $Credential.GetNetworkCredential().Password
@@ -67,15 +67,20 @@ function Get-NetAppOntapAPI {
#$fields = 'fields=*&return_records=true&return_timeout=15'
$api = "https://" + $($ClusterIP)
$headers = @{
- 'Accept' = 'application/json'
+ 'Accept' = 'application/json'
'Authorization' = "Basic $auth"
- 'Content-Type' = 'application/json'
+ 'Content-Type' = 'application/json'
}
}
Process {
Try {
- $response = Invoke-RestMethod -Method Get -Uri ($api + $uri) -Headers $headers -SkipCertificateCheck
+ if ($PSVersionTable.PSEdition -eq 'Core') {
+ $response = Invoke-RestMethod -Method Get -Uri ($api + $uri) -Headers $headers -SkipCertificateCheck
+
+ } else {
+ $response = Invoke-RestMethod -Method Get -Uri ($api + $uri) -Headers $headers
+ }
$response.records
} Catch {
Write-Verbose -Message $_
diff --git a/Src/Private/SharedUtilsFunctions.ps1 b/Src/Private/SharedUtilsFunctions.ps1
index 65a09c6..edfd4d9 100644
--- a/Src/Private/SharedUtilsFunctions.ps1
+++ b/Src/Private/SharedUtilsFunctions.ps1
@@ -16,31 +16,29 @@ function ConvertTo-TextYN {
[CmdletBinding()]
[OutputType([String])]
Param
- (
+ (
[Parameter (
Position = 0,
Mandatory)]
- [AllowEmptyString()]
- [string]
- $TEXT
- )
+ [AllowEmptyString()]
+ [string]
+ $TEXT
+ )
- switch ([string]::IsNullOrEmpty($TEXT))
- {
- $true {'-'}
+ switch ([string]::IsNullOrEmpty($TEXT)) {
+ $true { '-' }
$false {
- switch ($TEXT)
- {
- "True" {"Yes"; break}
- "False" {"No"; break}
- default {$TEXT}
+ switch ($TEXT) {
+ "True" { "Yes"; break }
+ "False" { "No"; break }
+ default { $TEXT }
}
}
- default {'-'}
+ default { '-' }
}
} # end
function Get-UnixDate ($UnixDate) {
- <#
+ <#
.SYNOPSIS
Used by As Built Report to convert Date to a more nice format.
.DESCRIPTION
@@ -74,18 +72,18 @@ function ConvertTo-EmptyToFiller {
[CmdletBinding()]
[OutputType([String])]
Param
- (
+ (
[Parameter (
Position = 0,
Mandatory)]
- [AllowEmptyString()]
- [string]
- $TEXT
- )
+ [AllowEmptyString()]
+ [string]
+ $TEXT
+ )
switch ([string]::IsNullOrEmpty($TEXT)) {
- $true {"-"; break}
- $false {$TEXT; break}
- default {'-'}
- }
- } # end
\ No newline at end of file
+ $true { "-"; break }
+ $false { $TEXT; break }
+ default { '-' }
+ }
+} # end
\ No newline at end of file
diff --git a/Src/Public/Invoke-AsBuiltReport.NetApp.ONTAP.ps1 b/Src/Public/Invoke-AsBuiltReport.NetApp.ONTAP.ps1
index 1018637..a3a2f2b 100755
--- a/Src/Public/Invoke-AsBuiltReport.NetApp.ONTAP.ps1
+++ b/Src/Public/Invoke-AsBuiltReport.NetApp.ONTAP.ps1
@@ -5,7 +5,7 @@ function Invoke-AsBuiltReport.NetApp.ONTAP {
.DESCRIPTION
Documents the configuration of NetApp ONTAP in Word/HTML/Text formats using PScribo.
.NOTES
- Version: 0.6.6
+ Version: 0.6.7
Author: Jonathan Colon Feliciano
Twitter: @jcolonfzenpr
Github: rebelinux
@@ -39,16 +39,16 @@ function Invoke-AsBuiltReport.NetApp.ONTAP {
}
}
} Catch {
- Write-PscriboMessage -IsWarning $_.Exception.Message
- }
+ Write-PScriboMessage -IsWarning $_.Exception.Message
+ }
# Import Report Configuration
- $Report = $ReportConfig.Report
- $InfoLevel = $ReportConfig.InfoLevel
- $Options = $ReportConfig.Options
+ $script:Report = $ReportConfig.Report
+ $script:InfoLevel = $ReportConfig.InfoLevel
+ $script:Options = $ReportConfig.Options
# General information
- $TextInfo = (Get-Culture).TextInfo
+ $script:TextInfo = (Get-Culture).TextInfo
#Connect to Ontap Storage Array using supplied credentials
foreach ($OntapArray in $Target) {
@@ -69,6 +69,13 @@ function Invoke-AsBuiltReport.NetApp.ONTAP {
}
$ClusterInfo = Get-NcCluster -Controller $Array
+ #If metrocluster option remove all -mc vserver
+ if ($Options.Exclude.MetroCluster) {
+ $Options.Exclude.Vserver = $Options.Exclude.Vserver + (Get-NcVserver | Where-Object { $_ -like '*-mc' }).Vserver
+ $exclude_vserver = $Options.Exclude.Vserver
+ Write-PScriboMessage "exclude vserver = $exclude_vserver"
+ }
+
#---------------------------------------------------------------------------------------------#
# Cluster Section #
#---------------------------------------------------------------------------------------------#
@@ -113,7 +120,7 @@ function Invoke-AsBuiltReport.NetApp.ONTAP {
Get-AbrOntapNodesHW
}
}
- if (Get-NcServiceProcessor -Controller $Array | Where-Object {$NULL -ne $_.IpAddress -and $NULL -ne $_.MacAddress}) {
+ if (Get-NcServiceProcessor -Controller $Array | Where-Object { $NULL -ne $_.IpAddress -and $NULL -ne $_.MacAddress }) {
Section -Style Heading4 'Node Service-Processor Inventory' {
Get-AbrOntapNodesSP
}
@@ -166,7 +173,7 @@ function Invoke-AsBuiltReport.NetApp.ONTAP {
Section -Style Heading4 'Disk Container Type' {
Get-AbrOntapDiskType
}
- if (Get-NcDisk -Controller $Array | Where-Object{ $_.DiskRaidInfo.ContainerType -eq "broken" }) {
+ if (Get-NcDisk -Controller $Array | Where-Object { $_.DiskRaidInfo.ContainerType -eq "broken" }) {
Section -Style Heading4 'Failed Disk' {
Get-AbrOntapDiskBroken
}
@@ -261,7 +268,7 @@ function Invoke-AsBuiltReport.NetApp.ONTAP {
Get-AbrOntapNetworkSubnet
}
}
- $Vservers = Get-NcVserver -Controller $Array | Where-Object { $_.VserverType -ne "node" -and $_.VserverType -ne "system" -and $_.Vserver -notin $Options.Exclude.Vserver} | Select-Object -ExpandProperty Vserver
+ $Vservers = Get-NcVserver -Controller $Array | Where-Object { $_.VserverType -ne "node" -and $_.VserverType -ne "system" -and $_.Vserver -notin $Options.Exclude.Vserver } | Select-Object -ExpandProperty Vserver
foreach ($SVM in $Vservers) {
if (Get-NcNetRoute -VserverContext $SVM -Controller $Array) {
Section -Style Heading4 "$SVM Vserver Routes" {
@@ -290,11 +297,11 @@ function Invoke-AsBuiltReport.NetApp.ONTAP {
#---------------------------------------------------------------------------------------------#
Write-PScriboMessage "Vserver InfoLevel set at $($InfoLevel.Vserver)."
if ($InfoLevel.Vserver -gt 0) {
- if (Get-NcVserver -Controller $Array | Where-Object { $_.VserverType -eq "data"}) {
+ if (Get-NcVserver -Controller $Array | Where-Object { $_.VserverType -eq "data" }) {
Section -Style Heading2 'Vserver Information' {
Paragraph "The following section provides a summary of the vserver information on $($ClusterInfo.ClusterName)."
BlankLine
- $Vservers = Get-NcVserver -Controller $Array | Where-Object { $_.VserverType -eq "data" -and $_.Vserver -notin $Options.Exclude.Vserver} | Select-Object -ExpandProperty Vserver
+ $Vservers = Get-NcVserver -Controller $Array | Where-Object { $_.VserverType -eq "data" -and $_.Vserver -notin $Options.Exclude.Vserver } | Select-Object -ExpandProperty Vserver
foreach ($SVM in $Vservers) {
Section -Style Heading3 "$SVM Vserver Configuration" {
Paragraph "The following section provides the configuration of the vserver $($SVM)."
@@ -313,7 +320,7 @@ function Invoke-AsBuiltReport.NetApp.ONTAP {
}
}
}
- if (Get-NcVol -VserverContext $SVM -Controller $Array | Where-Object {$_.JunctionPath -ne '/' -and $_.Name -ne 'vol0'}) {
+ if (Get-NcVol -VserverContext $SVM -Controller $Array | Where-Object { $_.JunctionPath -ne '/' -and $_.Name -ne 'vol0' }) {
Section -Style Heading4 "Storage Volumes" {
Get-AbrOntapVserverVolume -Vserver $SVM
if ($InfoLevel.Vserver -ge 2) {
@@ -323,7 +330,7 @@ function Invoke-AsBuiltReport.NetApp.ONTAP {
}
}
}
- if (Get-NcVol -VserverContext $SVM -Controller $Array | Where-Object {$_.JunctionPath -ne '/' -and $_.Name -ne 'vol0' -and $_.VolumeStateAttributes.IsFlexgroup -eq "True"}) {
+ if (Get-NcVol -VserverContext $SVM -Controller $Array | Where-Object { $_.JunctionPath -ne '/' -and $_.Name -ne 'vol0' -and $_.VolumeStateAttributes.IsFlexgroup -eq "True" }) {
Section -Style Heading4 "FlexGroup Volumes" {
Get-AbrOntapVserverVolumesFlexgroup -Vserver $SVM
}
@@ -339,7 +346,7 @@ function Invoke-AsBuiltReport.NetApp.ONTAP {
}
}
}
- if (Get-NcVol -VserverContext $SVM -Controller $Array | Where-Object {$_.JunctionPath -ne '/' -and $_.Name -ne 'vol0'} | Get-NcSnapshot -Controller $Array) {
+ if (Get-NcVol -VserverContext $SVM -Controller $Array | Where-Object { $_.JunctionPath -ne '/' -and $_.Name -ne 'vol0' } | Get-NcSnapshot -Controller $Array) {
Section -Style Heading4 "Volumes Snapshot Configuration" {
Get-AbrOntapVserverVolumeSnapshot -Vserver $SVM
if ($HealthCheck.Vserver.Snapshot) {
@@ -352,7 +359,7 @@ function Invoke-AsBuiltReport.NetApp.ONTAP {
Get-AbrOntapVserverVolumesExportPolicy -Vserver $SVM
}
}
- if (Get-NcQtree -VserverContext $SVM -Controller $Array | Where-Object {$NULL -ne $_.Qtree}) {
+ if (Get-NcQtree -VserverContext $SVM -Controller $Array | Where-Object { $NULL -ne $_.Qtree }) {
Section -Style Heading4 "Qtrees" {
Get-AbrOntapVserverVolumesQtree -Vserver $SVM
}
@@ -362,158 +369,211 @@ function Invoke-AsBuiltReport.NetApp.ONTAP {
Get-AbrOntapVserverVolumesQuota -Vserver $SVM
}
}
- Section -Style Heading4 "Protocol Information" {
- Paragraph "The following section provides a summary of the Vserver protocol information on $($SVM)."
- BlankLine
- #---------------------------------------------------------------------------------------------#
- # NFS Section #
- #---------------------------------------------------------------------------------------------#
- if (Get-NcNfsService -VserverContext $SVM -Controller $Array) {
- Section -Style Heading5 "NFS Services" {
- Paragraph "The following section provides the NFS Service Information on $($SVM)."
- BlankLine
- Get-AbrOntapVserverNFSSummary -Vserver $SVM
- if ($InfoLevel.Vserver -ge 2) {
- Section -ExcludeFromTOC -Style Heading6 "NFS Options" {
- Get-AbrOntapVserverNFSOption -Vserver $SVM
- }
+ }
+ Section -Style Heading4 "Protocol Information" {
+ Paragraph "The following section provides a summary of the Vserver protocol information on $($SVM)."
+ BlankLine
+ #---------------------------------------------------------------------------------------------#
+ # NFS Section #
+ #---------------------------------------------------------------------------------------------#
+ if (Get-NcNfsService -VserverContext $SVM -Controller $Array) {
+ Section -Style Heading5 "NFS Services" {
+ Paragraph "The following section provides the NFS Service Information on $($SVM)."
+ BlankLine
+ Get-AbrOntapVserverNFSSummary -Vserver $SVM
+ if ($InfoLevel.Vserver -ge 2) {
+ Section -ExcludeFromTOC -Style Heading6 "NFS Options" {
+ Get-AbrOntapVserverNFSOption -Vserver $SVM
}
- if (Get-NcVserver -VserverContext $SVM -Controller $Array | Where-Object { $_.VserverType -eq 'data' -and $_.AllowedProtocols -eq 'nfs' -and $_.State -eq 'running' } | Get-NcNfsExport) {
- Section -ExcludeFromTOC -Style Heading6 "NFS Volume Export" {
- Get-AbrOntapVserverNFSExport -Vserver $SVM
- }
+ }
+ if (Get-NcVserver -VserverContext $SVM -Controller $Array | Where-Object { $_.VserverType -eq 'data' -and $_.AllowedProtocols -eq 'nfs' -and $_.State -eq 'running' } | Get-NcNfsExport) {
+ Section -ExcludeFromTOC -Style Heading6 "NFS Volume Export" {
+ Get-AbrOntapVserverNFSExport -Vserver $SVM
}
}
}
- #---------------------------------------------------------------------------------------------#
- # CIFS Section #
- #---------------------------------------------------------------------------------------------#
- if (Get-NcVserver -VserverContext $SVM -Controller $Array | Where-Object { $_.VserverType -eq 'data' -and $_.AllowedProtocols -eq 'cifs' -and $_.State -eq 'running' } | Get-NcCifsServerStatus -Controller $Array -ErrorAction SilentlyContinue) {
- Section -Style Heading5 "CIFS Services Information" {
- Paragraph "The following section provides the CIFS Service Information on $($SVM)."
- BlankLine
- Get-AbrOntapVserverCIFSSummary -Vserver $SVM
- if ($InfoLevel.Vserver -ge 2) {
- Section -ExcludeFromTOC -Style Heading6 'CIFS Service Configuration' {
- Get-AbrOntapVserverCIFSSecurity -Vserver $SVM
- }
- Section -ExcludeFromTOC -Style Heading6 'CIFS Domain Controller' {
- Get-AbrOntapVserverCIFSDC -Vserver $SVM
- }
+ }
+ #---------------------------------------------------------------------------------------------#
+ # CIFS Section #
+ #---------------------------------------------------------------------------------------------#
+ if (Get-NcVserver -VserverContext $SVM -Controller $Array | Where-Object { $_.VserverType -eq 'data' -and $_.AllowedProtocols -eq 'cifs' -and $_.State -eq 'running' } | Get-NcCifsServerStatus -Controller $Array -ErrorAction SilentlyContinue) {
+ Section -Style Heading5 "CIFS Services Information" {
+ Paragraph "The following section provides the CIFS Service Information on $($SVM)."
+ BlankLine
+ Get-AbrOntapVserverCIFSSummary -Vserver $SVM
+ if ($InfoLevel.Vserver -ge 2) {
+ Section -ExcludeFromTOC -Style Heading6 'CIFS Service Configuration' {
+ Get-AbrOntapVserverCIFSSecurity -Vserver $SVM
}
- Section -ExcludeFromTOC -Style Heading6 'CIFS Local Group' {
- Get-AbrOntapVserverCIFSLocalGroup -Vserver $SVM
+ Section -ExcludeFromTOC -Style Heading6 'CIFS Domain Controller' {
+ Get-AbrOntapVserverCIFSDC -Vserver $SVM
}
- Section -ExcludeFromTOC -Style Heading6 'CIFS Local Group Members' {
- Get-AbrOntapVserverCIFSLGMember -Vserver $SVM
+ }
+ Section -ExcludeFromTOC -Style Heading6 'CIFS Local Group' {
+ Get-AbrOntapVserverCIFSLocalGroup -Vserver $SVM
+ }
+ Section -ExcludeFromTOC -Style Heading6 'CIFS Local Group Members' {
+ Get-AbrOntapVserverCIFSLGMember -Vserver $SVM
+ }
+ if ($InfoLevel.Vserver -ge 2) {
+ Section -ExcludeFromTOC -Style Heading6 'CIFS Options' {
+ Get-AbrOntapVserverCIFSOption -Vserver $SVM
}
- if ($InfoLevel.Vserver -ge 2) {
- Section -ExcludeFromTOC -Style Heading6 'CIFS Options' {
- Get-AbrOntapVserverCIFSOption -Vserver $SVM
+ }
+ Section -ExcludeFromTOC -Style Heading6 'CIFS Share' {
+ Get-AbrOntapVserverCIFSShare -Vserver $SVM
+ }
+ Section -ExcludeFromTOC -Style Heading6 'CIFS Share Configuration' {
+ Get-AbrOntapVserverCIFSShareProp -Vserver $SVM
+ }
+ if ($InfoLevel.Vserver -ge 2) {
+ if (Get-NcCifsSession -VserverContext $SVM -Controller $Array) {
+ Section -ExcludeFromTOC -Style Heading6 'CIFS Sessions' {
+ Get-AbrOntapVserverCIFSSession -Vserver $SVM
}
}
- Section -ExcludeFromTOC -Style Heading6 'CIFS Share' {
- Get-AbrOntapVserverCIFSShare -Vserver $SVM
- }
- Section -ExcludeFromTOC -Style Heading6 'CIFS Share Configuration' {
- Get-AbrOntapVserverCIFSShareProp -Vserver $SVM
+ }
+ }
+ }
+ #---------------------------------------------------------------------------------------------#
+ # NVME Section #
+ #---------------------------------------------------------------------------------------------#
+ if ( Get-NcNvme -Controller $Array | Where-Object { $_.Vserver -eq $SVM } ) {
+ Section -Style Heading5 'Nvme Services Information' {
+ Paragraph "The following section provides the Nvme Service Information on $($SVM)."
+ BlankLine
+ # Get-AbrOntapVserverNvmeSummary -Vserver $SVM
+ if (Get-NcNvmeInterface -VserverContext $Vserver -Controller $Array | Where-Object { $_.PhysicalProtocol -eq 'fibre_channel' }) {
+ Section -ExcludeFromTOC -Style Heading6 'Nvme FC Physical Adapter' {
+ Get-AbrOntapVserverNvmeFcAdapter -Vserver $SVM
}
- if ($InfoLevel.Vserver -ge 2) {
- if (Get-NcCifsSession -VserverContext $SVM -Controller $Array) {
- Section -ExcludeFromTOC -Style Heading6 'CIFS Sessions' {
- Get-AbrOntapVserverCIFSSession -Vserver $SVM
- }
- }
+ }
+ if (Get-NcNvmeInterface -VserverContext $Vserver -Controller $Array | Where-Object { $_.PhysicalProtocol -eq 'ethernet' }) {
+ Section -ExcludeFromTOC -Style Heading6 'Nvme TCP Physical Adapter' {
+ Get-AbrOntapVserverNvmeTcpAdapter -Vserver $SVM
}
}
+ Section -ExcludeFromTOC -Style Heading6 'NVME Interfaces' {
+ Get-AbrOntapVserverNvmeInterface -Vserver $SVM
+ }
}
- #---------------------------------------------------------------------------------------------#
- # ISCSI Section #
- #---------------------------------------------------------------------------------------------#
- if ( Get-NcIscsiService -Controller $Array| Where-Object {$_.Vserver -eq $SVM} ) {
- Section -Style Heading5 "ISCSI Services" {
- Paragraph "The following section provides the ISCSI Service Information on $($SVM)."
- BlankLine
- Get-AbrOntapVserverIscsiSummary -Vserver $SVM
- Section -ExcludeFromTOC -Style Heading6 "ISCSI Interfaces" {
- Get-AbrOntapVserverIscsiInterface -Vserver $SVM
- }
+ }
+ #---------------------------------------------------------------------------------------------#
+ # ISCSI Section #
+ #---------------------------------------------------------------------------------------------#
+ if ( Get-NcIscsiService -Controller $Array | Where-Object { $_.Vserver -eq $SVM } ) {
+ Section -Style Heading5 "ISCSI Services" {
+ Paragraph "The following section provides the ISCSI Service Information on $($SVM)."
+ BlankLine
+ Get-AbrOntapVserverIscsiSummary -Vserver $SVM
+ Section -ExcludeFromTOC -Style Heading6 "ISCSI Interfaces" {
+ Get-AbrOntapVserverIscsiInterface -Vserver $SVM
+ }
- $ISCSIClientInitiators = Get-AbrOntapVserverIscsiInitiator -Vserver $SVM
- if ($ISCSIClientInitiators) {
- Section -ExcludeFromTOC -Style Heading6 "ISCSI Client Initiators" {
- $ISCSIClientInitiators
- }
+ $ISCSIClientInitiators = Get-AbrOntapVserverIscsiInitiator -Vserver $SVM
+ if ($ISCSIClientInitiators) {
+ Section -ExcludeFromTOC -Style Heading6 "ISCSI Client Initiators" {
+ $ISCSIClientInitiators
}
}
}
- #---------------------------------------------------------------------------------------------#
- # FCP Section #
- #---------------------------------------------------------------------------------------------#
- if ( Get-NcFcpService -Controller $Array | Where-Object {$_.Vserver -eq $SVM} ) {
- Section -Style Heading5 'FCP Services Information' {
- Paragraph "The following section provides the FCP Service Information on $($SVM)."
- BlankLine
- Get-AbrOntapVserverFcpSummary -Vserver $SVM
- Section -ExcludeFromTOC -Style Heading6 'FCP Physical Adapter' {
- Get-AbrOntapVserverFcpAdapter
+ }
+ #---------------------------------------------------------------------------------------------#
+ # FCP Section #
+ #---------------------------------------------------------------------------------------------#
+ if ( Get-NcFcpService -Controller $Array | Where-Object { $_.Vserver -eq $SVM } ) {
+ Section -Style Heading5 'FCP Services Information' {
+ Paragraph "The following section provides the FCP Service Information on $($SVM)."
+ BlankLine
+ Get-AbrOntapVserverFcpSummary -Vserver $SVM
+ Section -ExcludeFromTOC -Style Heading6 'FCP Physical Adapter' {
+ Get-AbrOntapVserverFcpAdapter
+ }
+ Section -ExcludeFromTOC -Style Heading6 'FCP Interfaces' {
+ Get-AbrOntapVserverFcpInterface -Vserver $SVM
+ }
+ }
+ }
+ #---------------------------------------------------------------------------------------------#
+ # Lun Storage Section #
+ #---------------------------------------------------------------------------------------------#
+ if (Get-NcLun -Controller $Array | Where-Object { $_.Vserver -eq $SVM }) {
+ Section -Style Heading5 'Lun Storage' {
+ Paragraph "The following section provides the Lun Storage Information on $($SVM)."
+ BlankLine
+ Get-AbrOntapVserverLunStorage -Vserver $SVM
+ if (Get-NcIgroup -Vserver $SVM -Controller $Array) {
+ Section -ExcludeFromTOC -Style Heading6 'Igroup Mapping' {
+ Get-AbrOntapVserverLunIgroup -Vserver $SVM
}
- Section -ExcludeFromTOC -Style Heading6 'FCP Interfaces' {
- Get-AbrOntapVserverFcpInterface -Vserver $SVM
+ $NonMappedLun = Get-AbrOntapVserverNonMappedLun -Vserver $SVM
+ if ($Healthcheck.Vserver.Status -and $NonMappedLun) {
+ Section -ExcludeFromTOC -Style Heading6 'HealthCheck - Non-Mapped Lun Information' {
+ Paragraph "The following section provides information of Non Mapped Lun on $($SVM)."
+ BlankLine
+ $NonMappedLun
+ }
}
}
}
- #---------------------------------------------------------------------------------------------#
- # Lun Storage Section #
- #---------------------------------------------------------------------------------------------#
- if (Get-NcLun -Controller $Array | Where-Object {$_.Vserver -eq $SVM}) {
- Section -Style Heading5 'Lun Storage' {
- Paragraph "The following section provides the Lun Storage Information on $($SVM)."
- BlankLine
- Get-AbrOntapVserverLunStorage -Vserver $SVM
- if (Get-NcIgroup -Vserver $SVM -Controller $Array) {
- Section -ExcludeFromTOC -Style Heading6 'Igroup Mapping' {
- Get-AbrOntapVserverLunIgroup -Vserver $SVM
- }
- $NonMappedLun = Get-AbrOntapVserverNonMappedLun -Vserver $SVM
- if ($Healthcheck.Vserver.Status -and $NonMappedLunFCP) {
- Section -ExcludeFromTOC -Style Heading6 'HealthCheck - Non-Mapped Lun Information' {
- Paragraph "The following section provides information of Non Mapped Lun on $($SVM)."
- BlankLine
- $NonMappedLun
- }
+ }
+ #---------------------------------------------------------------------------------------------#
+ # NameSpace & Subsystem Storage Section #
+ #---------------------------------------------------------------------------------------------#
+ if (Get-NcNvmeNamespace -Controller $Array | Where-Object { $_.Vserver -eq $SVM }) {
+ Section -Style Heading5 'Namespace Storage' {
+ Paragraph "The following section provides the Namespace Storage Information on $($SVM)."
+ BlankLine
+ Get-AbrOntapVserverNamespaceStorage -Vserver $SVM
+ if (Get-NcNvmeSubsystem -Vserver $SVM -Controller $Array) {
+ Section -ExcludeFromTOC -Style Heading6 'Subsystem Mapping' {
+ Get-AbrOntapVserverSubsystem -Vserver $SVM
+ }
+ $NonMappedNamespace = Get-AbrOntapVserverNonMappedNamespace -Vserver $SVM
+ if ($Healthcheck.Vserver.Status -and $NonMappedNamespace) {
+ Section -ExcludeFromTOC -Style Heading6 'HealthCheck - Non-Mapped Namespace Information' {
+ Paragraph "The following table provides information about Non Mapped Namespace on $($SVM)."
+ BlankLine
+ $NonMappedNamespace
}
}
}
}
- #---------------------------------------------------------------------------------------------#
- # Consistency Groups Section #
- #---------------------------------------------------------------------------------------------#
- $CGs = Get-NetAppOntapAPI -uri "/api/application/consistency-groups?svm=$SVM&fields=**&return_records=true&return_timeout=15"
- if ($CGs) {
- Section -Style Heading5 'Consistency Groups' {
- Paragraph "The following section provides Consistency Group Information on $($SVM)."
- BlankLine
- Get-AbrOntapVserverCGSummary -Vserver $SVM
- foreach ($CG in $CGs) {
+ }
+ #---------------------------------------------------------------------------------------------#
+ # Consistency Groups Section #
+ #---------------------------------------------------------------------------------------------#
+ $CGs = Get-NetAppOntapAPI -uri "/api/application/consistency-groups?svm=$SVM&fields=**&return_records=true&return_timeout=15"
+ if ($CGs) {
+ Section -Style Heading5 'Consistency Groups' {
+ Paragraph "The following section provides Consistency Group Information on $($SVM)."
+ BlankLine
+ Get-AbrOntapVserverCGSummary -Vserver $SVM
+ foreach ($CG in $CGs) {
+ if ($CG.luns) {
Section -ExcludeFromTOC -Style Heading6 "$($CG.name) Luns" {
Get-AbrOntapVserverCGLun -CGObj $CG
}
}
+ if ($CG.namespaces) {
+ Section -ExcludeFromTOC -Style Heading6 "$($CG.name) Namespaces" {
+ Get-AbrOntapVserverCGNamespace -CGObj $CG
+ }
+ }
}
}
- #---------------------------------------------------------------------------------------------#
- # S3 Section #
- #---------------------------------------------------------------------------------------------#
- $S3Data = Get-NetAppOntapAPI -uri "/api/protocols/s3/services?svm=$SVM&fields=*&return_records=true&return_timeout=15"
- if ($S3Data) {
- Section -Style Heading5 'S3 Services Configuration Information' {
- Paragraph "The following section provides the S3 Service Information on $($SVM)."
- BlankLine
- Get-AbrOntapVserverS3Summary -Vserver $SVM
- Section -ExcludeFromTOC -Style Heading6 'S3 Buckets' {
- Get-AbrOntapVserverS3Bucket -Vserver $SVM
- }
+ }
+ #---------------------------------------------------------------------------------------------#
+ # S3 Section #
+ #---------------------------------------------------------------------------------------------#
+ $S3Data = Get-NetAppOntapAPI -uri "/api/protocols/s3/services?svm=$SVM&fields=*&return_records=true&return_timeout=15"
+ if ($S3Data) {
+ Section -Style Heading5 'S3 Services Configuration Information' {
+ Paragraph "The following section provides the S3 Service Information on $($SVM)."
+ BlankLine
+ Get-AbrOntapVserverS3Summary -Vserver $SVM
+ Section -ExcludeFromTOC -Style Heading6 'S3 Buckets' {
+ Get-AbrOntapVserverS3Bucket -Vserver $SVM
}
}
}
@@ -570,7 +630,7 @@ function Invoke-AsBuiltReport.NetApp.ONTAP {
#---------------------------------------------------------------------------------------------y
Write-PScriboMessage "Efficiency InfoLevel set at $($InfoLevel.Efficiency)."
if ($InfoLevel.Efficiency -gt 0) {
- $Vservers = Get-NcVserver -Controller $Array | Where-Object { $_.VserverType -eq "data" -and $_.Vserver -notin $Options.Exclude.Vserver} | Select-Object -ExpandProperty Vserver
+ $Vservers = Get-NcVserver -Controller $Array | Where-Object { $_.VserverType -eq "data" -and $_.Vserver -notin $Options.Exclude.Vserver } | Select-Object -ExpandProperty Vserver
if (Get-NcAggrEfficiency -Controller $Array) {
Section -Style Heading2 'Efficiency Information' {
Paragraph "The following section provides the Storage Efficiency Saving information on $($ClusterInfo.ClusterName)."
@@ -581,8 +641,8 @@ function Invoke-AsBuiltReport.NetApp.ONTAP {
BlankLine
Get-AbrOntapEfficiencyAggr
foreach ($SVM in $Vservers) {
- $VolFilter = Get-NcVol -VserverContext $SVM -Controller $Array | Where-Object {$_.State -eq "online"}
- if (Get-NcEfficiency -Volume $VolFilter.Name -Controller $Array | Where-Object {$_.Name -ne "vol0"}) {
+ $VolFilter = Get-NcVol -VserverContext $SVM -Controller $Array | Where-Object { $_.State -eq "online" }
+ if (Get-NcEfficiency -Volume $VolFilter.Name -Controller $Array | Where-Object { $_.Name -ne "vol0" }) {
Section -Style Heading4 "$SVM Vserver Volume Deduplication" {
Get-AbrOntapEfficiencyVolSisStatus -Vserver $SVM
Section -Style Heading5 "Volume Efficiency" {
@@ -606,7 +666,7 @@ function Invoke-AsBuiltReport.NetApp.ONTAP {
#---------------------------------------------------------------------------------------------#
Write-PScriboMessage "Security InfoLevel set at $($InfoLevel.Security)."
if ($InfoLevel.Security -gt 0) {
- $Vservers = Get-NcVserver -Controller $Array | Where-Object { $_.VserverType -eq "data" -and $_.Vserver -notin $Options.Exclude.Vserver} | Select-Object -ExpandProperty Vserver
+ $Vservers = Get-NcVserver -Controller $Array | Where-Object { $_.VserverType -eq "data" -or $_.VserverType -eq "admin" -and $_.Vserver -notin $Options.Exclude.Vserver } | Select-Object -ExpandProperty Vserver
Section -Style Heading2 'Security Information' {
Paragraph "The following section provides the Security related information on $($ClusterInfo.ClusterName)."
BlankLine
@@ -674,7 +734,7 @@ function Invoke-AsBuiltReport.NetApp.ONTAP {
Section -Style Heading5 'Volume Snaplock Type' {
Get-AbrOntapSecuritySnapLockVol
if ($InfoLevel.Security -ge 2) {
- if (Get-Ncvol -Controller $Array | Where-Object {$_.VolumeSnaplockAttributes.SnaplockType -in "enterprise","compliance"}) {
+ if (Get-NcVol -Controller $Array | Where-Object { $_.VolumeSnaplockAttributes.SnaplockType -in "enterprise", "compliance" }) {
Section -ExcludeFromTOC -Style Heading6 'Snaplock Volume Attributes' {
Get-AbrOntapSecuritySnapLockVollAttr
}
@@ -705,12 +765,12 @@ function Invoke-AsBuiltReport.NetApp.ONTAP {
Get-AbrOntapSysConfigWebStatus
}
}
- if (Get-NcNetDns -Controller $Array | Where-Object {$_.Vserver -notin $Options.Exclude.Vserver}) {
+ if (Get-NcNetDns -Controller $Array | Where-Object { $_.Vserver -notin $Options.Exclude.Vserver }) {
Section -Style Heading3 'DNS Configuration' {
Get-AbrOntapSysConfigDNS
}
}
- if (Get-NcSnmp -Controller $Array | Where-Object { $Null -ne $_.Communities -and ($_.IsTrapEnabled -or $_.IsSnmpEnabled)}) {
+ if (Get-NcSnmp -Controller $Array | Where-Object { $Null -ne $_.Communities -and ($_.IsTrapEnabled -or $_.IsSnmpEnabled) }) {
Section -Style Heading3 'SNMP Configuration' {
Get-AbrOntapSysConfigSNMP
}
@@ -738,7 +798,7 @@ function Invoke-AsBuiltReport.NetApp.ONTAP {
if ($InfoLevel.System -ge 2) {
$Nodes = Get-NcNode -Controller $Array
foreach ($Node in $Nodes) {
- if ($HealthCheck.System.EMS -and (Get-NcEmsMessage -Node $Node -Severity "emergency","alert" -Controller $Array | Select-Object -First 30)) {
+ if ($HealthCheck.System.EMS -and (Get-NcEmsMessage -Node $Node -Severity "emergency", "alert" -Controller $Array | Select-Object -First 30)) {
Section -Style Heading4 "$Node Emergency and Alert Messages" {
Get-AbrOntapSysConfigEMS -Node $Node
}
@@ -770,4 +830,4 @@ function Invoke-AsBuiltReport.NetApp.ONTAP {
}
}
#$global:CurrentNcController = $null
-}
\ No newline at end of file
+}