Scripting Tools for Windows PowerShell User Guide

Similar documents
HP Scripting Tools for Windows PowerShell User Guide

UEFI System Utilities User Guide for HPE ProLiant Gen9 Servers and HPE Synergy

UEFI Settings Quick Reference Guide for HPE ProLiant Gen10 Servers and HPE Synergy

HPE VMware ESXi and vsphere 5.x, 6.x and Updates Getting Started Guide

HP VMware ESXi and vsphere 5.x and Updates Getting Started Guide

HPE ilo Federation User Guide for ilo 5

Intelligent Provisioning 3.10 Release Notes

Intelligent Provisioning 3.00 Release Notes

Intelligent Provisioning User Guide for HPE ProLiant Gen10 Servers and HPE Synergy

HPE Knowledge Article

HP Intelligent Provisioning 2.20 Release Notes

Installing the Operating System or Hypervisor

Best Practices When Deploying Microsoft Windows Server 2008 R2 or Microsoft Windows Server 2008 SP2 on HP ProLiant DL980 G7 Servers

HPE ProLiant DL580 Gen10 Server

HPE ProLiant Gen10. Franz Weberberger Presales Consultant Server

BIOS Parameters by Server Model

Server Utilities. Enabling Or Disabling Smart Access USB. This chapter includes the following sections:

BL ProLiant ML DL Admin HP ProLiant ProLiant agent HPE. HP ProLiant Gen8/9

Introduction to HPE ProLiant Servers HE643S

HPE OneView for VMware vcenter Release Notes (8.2 and 8.2.1)

Installing Cisco StadiumVision Director Software from a DVD

Post-Installation and Maintenance Tasks

QuickSpecs. Overview. HPE Ethernet 10Gb 2-port 535 Adapter. HPE Ethernet 10Gb 2-port 535 Adapter. 1. Product description. 2.

Installing the Server Operating System or Hypervisor

Getting Started with ESX Server 3i Installable Update 2 and later for ESX Server 3i version 3.5 Installable and VirtualCenter 2.5

Document Number ECX-Exchange2010-Migration-QSG, Version 1, May 2015 Copyright 2015 NEC Corporation.

HPE ilo mobile app for ios

BIOS Parameters by Server Model

HPE ProLiant SCCM 2012 Integration Kit (v ) User Guide

Sidewinder. Hardware Guide Models S1104, S2008, S3008. Revision E

Using UCS-Server Configuration Utility

Dell PowerEdge T130 Owner's Manual

Integrated Smart Update Tools for Windows and Linux User Guide

vcenter CapacityIQ Installation Guide

Intelligent Provisioning 2.70 Release Notes

Understanding UCS Server Configuration Utility User Interface

Dell PowerEdge R620. Owner's Manual. Regulatory Model: E16S Series Regulatory Type: E16S001

HPE Synergy Image Streamer 3.1 User Guide

Lenovo XClarity Administrator Quick Start Guide Configuring Servers Using Lenovo XClarity Administrator

vcenter CapacityIQ Installation Guide

BitLocker: How to enable Network Unlock

HP Manageability Integration Kit HP Client Management Solutions

HP ProLiant SCCM 2012 Integration Kit (v ) User Guide

HPE OneView SCVMM Integration Kit (v 3.2) User Guide

Clearswift SECURE Exchange Gateway Installation & Setup Guide. Version 1.0

HP StorageWorks SmartStart EVA Storage 3.2 Release Notes

Microsoft Windows on HPE ProLiant WS460c Gen8 Workstation Blade with WS460c Graphics Expansion Blade Administrator Guide

vsphere Installation and Setup Update 2 Modified on 10 JULY 2018 VMware vsphere 6.5 VMware ESXi 6.5 vcenter Server 6.5

ilo Amplifier Pack User Guide

Microsoft Windows PowerShell v2 For Administrators

BIOS Parameters by Server Model

Lenovo Deployment Pack for Microsoft System Center Configuration Manager Installation and User's Guide

Dell PowerEdge R920 System Owner's Manual

Dell Lifecycle Controller Integration Version for Microsoft System Center 2012 Virtual Machine Manager Installation Guide

Dell PowerEdge R230 Owner's Manual

Dell PowerEdge R320 Systems Owner's Manual

HP solutions for mission critical SQL Server Data Management environments

HPE OneView for Microsoft System Center Release Notes (v 8.2 and 8.2.1)

Document Number ECX-Exchange2010-HD-QMG, Version 1, December 2015 Copyright 2015 NEC Corporation.

IBM Endpoint Manager. OS Deployment V3.8 User's Guide - DRAFT for Beta V.1.0 (do not distribute)

Click Studios. Passwordstate. Password Discovery, Reset and Validation. Requirements

HPE ilo User Guide

Dell PowerEdge T420 Systems Owner's Manual

HPE ProLiant DL360 Gen P 16GB-R P408i-a 8SFF 500W PS Performance Server (P06453-B21)

Boot and Network Configuration Deployment using Server Template with Dell EMC OpenManage Essentials (OME)

IBM Deployment Pack for Microsoft System Center Configuration Manager 2007 Installation and User s Guide

Hewlett Packard Enterprise StoreOnce 3100, 3500 and 5100 System Installation and Configuration Guide

Intelligent Provisioning User Guide for HPE ProLiant Gen9 Servers and HPE Synergy

ThinkSystem SR650 Messages and Codes Reference

Getting Started with ESX Server 3i Embedded ESX Server 3i version 3.5 Embedded and VirtualCenter 2.5

HPE 3PAR StoreServ File Controller WSS2016 v3 Release Notes a

Dell PowerEdge R520 Owner's Manual

Automated Out-of-Band management with Ansible and Redfish

Installing DPM 2012 R2

Upgrading from TrafficShield 3.2.X to Application Security Module 9.2.3

Dell Lifecycle Controller Integration Version 1.1 for Microsoft System Center 2012 Virtual Machine Manager Installation Guide

HPE OneView SCVMM Integration Kit (v 3.0) User Guide

HP ProLiant Firmware Maintenance CD User Guide

Installing and Configuring VMware Identity Manager Connector (Windows) OCT 2018 VMware Identity Manager VMware Identity Manager 3.

Dell Lifecycle Controller Integration Version 3.0 For Microsoft System Center Configuration Manager User's Guide

HP Intelligent Provisioning User Guide for HP ProLiant Gen9 Servers

Automating Administration with Windows PowerShell 2.0

Automation Anywhere Enterprise 10 LTS

Dell OpenManage Deployment Toolkit 5.5 for Microsoft Windows Preinstallation Environment Release Notes

BIOS Setup. RenderCube Rack GPU Gen2

IBM Endpoint Manager. OS Deployment V3.5 User's Guide

HP ProLiant Server OS Deployment for System Center Configuration Manager 2007 Troubleshooting Assistant

HPE Gen10 Security Reference Guide

HPE ProLiant Gen9 Troubleshooting Guide

D Using HP SIM and vmedia for Provisioning OpenVMS

SCHOOL OF PHYSICAL, CHEMICAL AND APPLIED SCIENCES

SmartPath EMS VMA Virtual Appliance Quick Start Guide

Dell License Manager Version 1.2 User s Guide

HP Enterprise SQL Optimizer (HP ESO) 3.5 User Guide

Intelligent Provisioning 1.64(B) Release Notes

Mediant VE SBC. Session Border Controller. Virtual Edition. Installation Manual. Version 6.8. June 2015 Document #: LTRT-10352

HP SCOM Management Packs User Guide

PASS4TEST. IT Certification Guaranteed, The Easy Way! We offer free update service for one year

Question: 1 Which methods can an administrator implement to provide higher security within a management network? (Select two.)

Configuring and Using AMT on TS130. Lenovo ThinkServer

Transcription:

Scripting Tools for Windows PowerShell User Guide BIOS cmdlets v2.0 Abstract This document contains instructions for using Scripting Tools for Windows PowerShell to manage the BIOS on HPE ProLiant servers. It is intended for system administrators who use the Scripting Tools for Windows PowerShell to manage their IT infrastructure. The BIOS cmdlets support both Legacy and UEFI (Unified Extensible Firmware Interface) boot modes. Part Number: P00578-001 Published: August 2017 Edition: 1

Contents Introduction to Scripting Tools for Windows PowerShell...4 Windows PowerShell... 4 Features...4 Installation... 6 Operating environment... 6 Supported operating systems... 6 Installing the BIOS cmdlets...6 Uninstalling the BIOS cmdlets... 7 Repairing the BIOS cmdlets...7 Using the BIOS cmdlets... 8 Descriptions of the BIOS cmdlets... 8 Establishing a BIOS connection...16 Establishing a connection to a Gen8 server...16 Connecting to a bare metal server using an ilo IP address...16 Connecting to a Windows host using a server IP address... 19 Connecting to localhost... 20 Establishing a connection to a Gen9 server...21 Establishing a connection to a Gen10 server...22 IPv6 support...23 Connecting to multiple target servers... 24 Piping output from one command to another...26 Using the Get-HPEBIOSModuleVersion and Update-HPEBIOSModuleVersion cmdlets... 26 Managing BIOS using BIOS cmdlets... 27 Get and Set BIOS cmdlets... 28 Enable and Disable BIOS cmdlets... 28 Set cmdlets for features that have dependencies... 29 Set parameter that is not supported on target server...30 Set parameter value that is not supported on the target server... 31 Executing a cmdlet that is not supported on the target server... 31 Executing Get BIOS cmdlets OutputType as raw text...32 Using the Disconnect-HPEBIOS cmdlet... 33 Typical BIOS cmdlets with examples... 33 Enable-HPEBIOSEmbeddedLOMPort and Disable-HPEBIOSEmbeddedLOMPort... 33 Set and Get PCI Device configuration for Gen10 servers...35 Enum Provided by BIOS cmdlets module...37 Cmdlet, parameter, and parameter value supportability on target servers... 37 Get BIOS base configuration, current configuration, and pending configuration... 39 Using parameters from a file...39 CSV file input...39 Script writing methodology...40 Understanding the operating process... 41 Connect-HPEBIOS process flow...41 Disconnect-HPEBIOS process flow... 42 New-HPEBIOSCustomWinPEImage execution... 43 2 Contents

BIOS cmdlets and server security...44 Troubleshooting... 45 General issues... 45 A disk error occurs when managing BIOS in WinPE on Gen8 servers...45 IP address details not listed in WinPE on Gen8 servers...45 Connect-HPEBIOS for Gen8 servers returns RPC server is unavailable error message... 45 Verifying BIOS cmdlet version...45 Error executing New-HPEBIOSCustomWinPEImage... 46 User closes PowerShell without disconnecting the session...46 Remote server returns (401) Unauthorized...46 Parameter supportability and supported values...46 Usage tips... 46 Websites... 48 Support and other resources...49 Accessing Hewlett Packard Enterprise Support... 49 Accessing updates...49 Customer self repair...50 Remote support... 50 Warranty information...50 Regulatory information...51 Documentation feedback... 51 Contents 3

Introduction to Scripting Tools for Windows PowerShell The Scripting Tools for Windows PowerShell provides a simplified and consistent infrastructure management experience. These sets of PowerShell utilities provide comprehensive Hewlett Packard Enterprise integration tools. These tools are designed for IT experts with experience in PowerShell scripting and configuring HPE ProLiant server hardware. The Scripting Tools for Windows PowerShell includes sets of PowerShell cmdlets for configuring Hewlett Packard Enterprise ProLiant servers using familiar PowerShell syntax. Documentation describing how to apply these new tools to configure HPE ProLiant servers is also included. This guide is intended for system administrators who use the Scripting Tools for Windows PowerShell to manage their IT infrastructure. Users must be familiar with Windows PowerShell and the system ROM of ProLiant servers. For more information about configuring the system ROM options, see the guide applicable to your ProLiant server: For Gen8: HPE ROM-Based Setup Utility User Guide and other related RBSU documents on the RBSU information library (http://www.hpe.com/info/rbsu/docs) For Gen9 and Gen10: HPE UEFI System Utilities User Guide for your ProLiant server and other related UEFI documents on the UEFI System Utilities information library (http://www.hpe.com/info/ ProLiantUEFI/docs) Major changes included in the BIOS 2.x cmdlets The following changes have been made from version 1.x to 2.x. The BIOS cmdlets module name has changed from HPBIOSCmdlets to HPEBIOSCmdlets. All cmdlet names have been changed from HPBIOS to HPEBIOS (for example, Get- HPBIOSBootMode is Get-HPEBIOSBootMode in version 2.x). Spaces and underscores have been removed from parameter values. Parameter values now use medial capitals (CamelCase). The StatusType output property has been changed to Status. The StatusMessage output property for errors and warnings has been changed to StatusInfo. It provides detailed information for errors and warnings. If you have scripts to be migrated from 1.x to 2.x, you will need to edit them due to these changes. For migration advice, use the HPEMigrationAdvisoryTool module, which is available at: Github (https://github.com/hewlettpackard/powershell-proliant-sdk/tree/master/hpebios) PowerShell gallery (https://www.powershellgallery.com/packages/hpemigrationadvisorytool) Windows PowerShell Windows PowerShell is the Microsoft task automation framework, consisting of a command-line shell and associated scripting language built on a.net Framework. Businesses face the need to configure large numbers of servers in a quick and reliable fashion. Scripting Tools for Windows PowerShell is a powerful set of utilities that can be used to perform various configuration tasks on Hewlett Packard Enterprise ProLiant servers. These cmdlets follow the standard PowerShell syntax and scripting model, making it easy for you to incorporate these functions into your administrative scripts. Features Scripting Tools for Windows PowerShell: BIOS Cmdlets v2.0 provides the following features: 4 Introduction to Scripting Tools for Windows PowerShell

The module and cmdlets have been rebranded. Cmdlet output has been redesigned for easier use. A new error handling mechanism has been added. The WinPE connection has been improved. BIOS cmdlets can be used to manage HPE Gen10 ProLiant servers. NVDIMM cmdlets are provided for Gen9 servers. Introduction to Scripting Tools for Windows PowerShell 5

Installation Before installation, ensure that your system meets all requirements for supported operating systems, environments, and hardware. For more information, see the Scripting Tools for Windows PowerShell Release Notes. Operating environment Install the following before installing Scripting Tools for Windows PowerShell: BIOS Cmdlets. The following links provide access to the Microsoft download sites for these applications. Make sure that you read and understand the system requirements and other information provided. Microsoft.NET Framework 4.5 or later. NOTE: Microsoft.NET Framework must be installed before installing Windows Management Framework. Windows Management Framework 3.0 or later (which includes PowerShell 3.0 or later): Windows Management Framework 3.0 Windows Management Framework 4.0 Windows Management Framework 5.0 Windows Management Framework 5.1 Windows Assessment and Deployment Kit NOTE: The Windows Assessment and Deployment Kit is only required to create a customized WinPE image. Supported operating systems The BIOS cmdlets are supported on the following operating system versions: Microsoft Windows 7 SP1 Microsoft Windows 8.1 Microsoft Windows 10 Microsoft Windows Server 2012 Microsoft Windows Server 2012 R2 Microsoft Windows Server 2016 Installing the BIOS cmdlets Procedure 1. Download the Scripting Tools for Windows PowerShell: BIOS Cmdlets installer from the following website:http://www.hpe.com/servers/powershell. 2. Close all PowerShell windows before the installation. 3. Run the installer from an account with administrative privileges using any standard method of execution (command line or double-click). 6 Installation

It might be necessary to change the execution policy for PowerShell. In PowerShell, type the following command to get more information and to help you to decide what to select: help about_execution_policies Use the following command to see your current execution policy settings: Get-ExecutionPolicy -list You can use the following PowerShell command until you determine if it meets your needs: Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned The installation will halt and not complete successfully if any of the following conditions are detected: Attempting to install the X86 package on a 64-bit operating system Attempting to install without.net 4.5 or above Attempting to install without PowerShell 3.0 or above NOTE: You can have both the Scripting Tools for Windows PowerShell: BIOS Cmdlets versions 1.x and 2.0 installed on the same system. Uninstalling the BIOS cmdlets Procedure To uninstall Scripting Tools for Windows PowerShell: BIOS Cmdlets: 1. Open Windows Control Panel. 2. Under Programs, click Uninstall a program. 3. Select Scripting Tools for Windows PowerShell: BIOS Cmdlets from the list of programs. 4. Click Uninstall. Repairing the BIOS cmdlets Procedure Use the installer repair option for the following scenarios: The BIOS cmdlets module is installed, but PowerShell is not able to import the BIOS cmdlets module. BIOS cmdlets module files, dependent files, or registry entries are corrupted. 1. Open Windows Control Panel. 2. Select Programs and Features. 3. Select Scripting Tools for Windows PowerShell: BIOS cmdlets. 4. Click Repair. Uninstalling the BIOS cmdlets 7

Using the BIOS cmdlets The following topics provide information about how to use the BIOS cmdlets. Descriptions of the BIOS cmdlets Establishing a BIOS connection IPv6 support Connecting to multiple target servers Piping output from one command to another Using the Get-HPEBIOSModuleVersion and Update-HPEBIOSModuleVersion cmdlets Managing BIOS using BIOS cmdlets Using the Disconnect-HPEBIOS cmdlet Typical BIOS cmdlets with examples Enum Provided by HPEBIOSCmdlets module Cmdlet, parameter, and parameter value supportability on target servers Get BIOS base configuration, current configuration, and pending configuration Using parameters from a file Script writing methodology Understanding the operating process Descriptions of the BIOS cmdlets The following table provides a list and brief description of all the BIOS cmdlets. Cmdlet help Help is available with the BIOS cmdlets and is supported in the same way as other PowerShell cmdlets. To display a complete list of the BIOS cmdlets in PowerShell, type: help *hpebios* NOTE: You can also use the following command to display the BIOS cmdlets: Get-Command Module HPEBIOSCmdlets To display complete help for a specific cmdlet, type: help <cmdlet> -Full where <cmdlet> is the name of the BIOS cmdlet. The BIOS cmdlets support the PowerShell Update-Help feature. When you execute this command, it retrieves the most current help files from an HPE website and puts them in the correct location on your system. Table 1: BIOS cmdlets Cmdlet Clear-HPEBIOSLog Clear-HPEBIOSUserDefault Description Clears any logs created by the BIOS cmdlets module. Clears the user default configuration. Table Continued 8 Using the BIOS cmdlets

Cmdlet Connect-HPEBIOS Disable-HPEBIOSEmbeddedLOMPort Disable-HPEBIOSLog Disable-HPEBIOSNVDIMMErase Disable-HPEBIOSPCIDeviceOption Disable-HPEBIOSPCIeSlotNetworkBootOption Disconnect-HPEBIOS Enable-HPEBIOSEmbeddedLOMPort Enable-HPEBIOSLog Enable-HPEBIOSNVDIMMErase Enable-HPEBIOSPCIDeviceOption Enable-HPEBIOSPCIeSlotNetworkBootOption Get-HPEBIOSACPI_SLIT Get-HPEBIOSAdminInfo Get-HPEBIOSAdvancedDebugOption Get-HPEBIOSAdvancedMemoryProtection Get- HPEBIOSAdvancedPerformanceTuningOption Get-HPEBIOSAdvancedSecurityOption Get-HPEBIOSAdvancedSystemROMOption Get-HPEBIOSBootBrowserConfiguration Get-HPEBIOSBootControllerOrder Description Creates connections to one or multiple BIOS targets. Disables the network boot for the installed network interface card (NIC). Disables BIOS cmdlets logging for the current PowerShell session. Disables the BIOS NVDIMM erase. Sets the status of the embedded and add-in BIOS PCI devices for the target server. Disables the UEFI PXE boot status for the installed NIC in PCIe slots. Closes the connection. Enables the network boot for the installed NIC. Enables BIOS cmdlets logging for the current PowerShell session. Enables the BIOS NVDIMM erase. Enables the embedded and add-in BIOS PCI devices for the target server. Enables the UEFI PXE boot status for the installed NIC in PCIe slots on the target server. Gets BIOS ACPI SLIT preferences information. Gets the reference information for the server administrator. Gets the BIOS advanced debug option. Gets BIOS advanced memory protection options information. Gets the BIOS advanced performance tuning options. Gets the BIOS advanced security configuration. Gets BIOS advanced system ROM options. Gets the BIOS boot browser settings. Gets the current Boot Controller Order. Table Continued Using the BIOS cmdlets 9

Cmdlet Get-HPEBIOSBootMode Get-HPEBIOSBootOrderPolicy Get-HPEBIOSBootTimeMemoryOptimization Get-HPEBIOSCmdletInfo Get-HPEBIOSCustomPostMessage Get-HPEBIOSDataDirectIO Get-HPEBIOSDateTimeOption Get-HPEBIOSEmbeddedDiagnostics Get-HPEBIOSEmbeddedLOMPort Get-HPEBIOSEmbeddedUEFIShell Get-HPEBIOSEmbeddedUserPartition Get-HPEBIOSEMSConsole Get-HPEBIOSFanOption Get-HPEBIOSHyperTransport Get-HPEBIOSIntelNICDMAChannel Get-HPEBIOSIntelTurboBoost Get-HPEBIOSInterfaceMode Get-HPEBIOSInternalSDCardSlot Get-HPEBIOSIPLOrder Get-HPEBIOSMemoryChannel Get-HPEBIOSMemoryConfiguration Get-HPEBIOSMemoryPower Description Gets the current Boot Mode for the systems that support UEFI. Gets the current Boot Order Policy in UEFI systems. Gets the BIOS boot time optimization settings. Gets the list of cmdlets which are supported on the target server. Gets BIOS custom post message. Gets BIOS Data Direct I/O information. Obtains the BIOS daylight-saving time, time format, and time zone settings. Obtains the embedded diagnostics settings for the BIOS. Obtains the network boot status for the installed NIC. Gets BIOS Embedded UEFI Shell information. Gets the Embedded User Partition settings. Gets the EMS console configuration. Gets the BIOS system fan installation and policy configurations. Gets the current HyperTransport Frequency. Gets BIOS Intel DMA Channels information. Gets BIOS Intel Turbo Boost information. Gets the interface mode displayed for ROM-based utilities. Obtains the BIOS internal Secure Digital (SD) card slot configuration. Gets the current Standard Boot Order (IPL) configuration. Gets BIOS memory channel mode information. Gets the BIOS memory configurations. Gets the current settings of memory-related power management. Table Continued 10 Using the BIOS cmdlets

Cmdlet Get-HPEBIOSMemoryProximityReportingForIO Get-HPEBIOSModuleVersion Get-HPEBIOSNetworkBootOption Get-HPEBIOSNodeInterleaving Get-HPEBIOSNUMLOCK Get-HPEBIOSNVDIMMConfiguration Get-HPEBIOSNVDIMMErase Get-HPEBIOSOneTerabyteMemoryLimit Get-HPEBIOSPCIDeviceConfiguration Get-HPEBIOSPCIDeviceOption Get-HPEBIOSPCIePower Get-HPEBIOSPCIeSlotNetworkBootOption Get-HPEBIOSPersistentMemoryConfiguration Get-HPEBIOSPowerCapping Get-HPEBIOSPowerProfile Get-HPEBIOSPowerRegulator Get-HPEBIOSPrefetcher Get-HPEBIOSProcessorOption Get-HPEBIOSProcessorPower Get-HPEBIOSQPI Get-HPEBIOSQPILinkPower Get-HPEBIOSRedundantPowerSupplyMode Description Gets BIOS Memory Proximity Reporting for I/O information. Gets the module details for the BIOS cmdlets. Obtains the BIOS network boot and preboot network options. Gets BIOS Node Interleaving information. Obtains the BIOS NUMLOCK power-on state. Gets the BIOS NVDIMM configuration. Gets the BIOS NVDIMM-N sanitize/erase status. Gets BIOS 1 Terabyte Memory Limit information. Gets the BIOS PCI device configuration. Gets the status of the embedded and add-in PCI devices. Gets the current PCIe related configuration, which may impact system power usage. Obtains the UEFI PXE boot status for NIC installed in PCIe slots. Gets the persistent memory configuration. Gets the status of Memory Power Capping and Dynamic Power Capping Functionality. Gets the level of power versus performance for the system. Gets the current HPE Power Regulator. Gets BIOS HW prefetcher, Adjacent Sector prefetch, DCU prefetcher, and DCUIP prefetcher information. Gets the current settings of processor options. Gets the current settings of processor-related power management. Gets BIOS QPI snoop configuration, QPI bandwidth optimization information. Gets the current Intel QPI Link Power Management and Frequency. Gets the current redundant power supply configuration. Table Continued Using the BIOS cmdlets 11

Cmdlet Get- HPEBIOSRemovableFlashMediaBootSequence Get-HPEBIOSSATAControllerOption Get-HPEBIOSSecureBootState Get-HPEBIOSSerialConsole Get-HPEBIOSSerialPort Get-HPEBIOSServerAvailability Get-HPEBIOSServerInfo Get-HPEBIOSServerSecurity Get-HPEBIOSServiceContact Get-HPEBIOSSetting Get-HPEBIOSStorageOption Get-HPEBIOSTPMChipInfo Get-HPEBIOSUPILinkPower Get-HPEBIOSSystemInfo Get-HPEBIOSThermalOption Get-HPEBIOSTPMConfiguration Get-HPEBIOSUEFIBootOrder Get-HPEBIOSUEFIDevicePriority Get-HPEBIOSUEFIOptimizedBoot Get-HPEBIOSUSBOption Get-HPEBIOSUserDefaultState Get-HPEBIOSUtilityLanguage Get-HPEBIOSVideoOption Get-HPEBIOSVirtualization Description Obtains the BIOS removable flash media boot sequence. Obtains the BIOS SATA controller configuration. Obtains the Secure Boot option settings. Gets the serial console configuration. Gets the serial port configuration. Gets BIOS server availability information. Gets the reference information for the server administrator. Gets BIOS server security information. Gets the reference information for the server service. Gets the base configuration, current settings, and pending settings of BIOS. Gets the available storage options of the target server. Gets the TPM (Trusted Platform Module) information. Gets the current Intel UPI link power configuration. Obtains the BIOS system information. Obtains the fan cooling solution for the system. Obtains the TPM (Trusted Platform Module) configurations. Gets the current advanced UEFI boot order list. Obtains the BIOS UEFI device priority. Gets the current UEFI Optimized Boot configuration. Obtains BIOS USB options. Gets the current user default state of the system. Gets BIOS system utility language. Gets BIOS video options information. Gets the hardware virtualization configuration. Table Continued 12 Using the BIOS cmdlets

Cmdlet Get-HPEBIOSVLANConfiguration Get-HPEBIOSWorkloadProfile New-HPEBIOSCustomWinPEImage Reset-HPEBIOSAdminPassword Reset-HPEBIOSDefaultManufacturingSetting Reset-HPEBIOSPowerOnPassword Reset-HPEBIOSUserDefault Set-HPEBIOSACPI_SLIT Set-HPEBIOSAdminInfo Set-HPEBIOSAdminPassword Set-HPEBIOSAdvancedDebugOption Set-HPEBIOSAdvancedMemoryProtection Set- HPEBIOSAdvancedPerformanceTuningOption Set-HPEBIOSAdvancedSecurityOption Set-HPEBIOSAdvancedSystemROMOption Set-HPEBIOSBootBrowserConfiguration Set-HPEBIOSBootControllerOrder Set-HPEBIOSBootMode Set-HPEBIOSBootOrderPolicy Set-HPEBIOSBootTimeMemoryOptimization Set-HPEBIOSCustomPostMessage Set-HPEBIOSDataDirectIO Set-HPEBIOSDateTimeOption Description Obtains the details of global VLAN configuration for all enabled network interfaces. Gets the BIOS workload profile configuration. Creates HPE WinPE image. Resets the BIOS Administrator Password Resets all BIOS configuration settings to default manufacturing values. Resets the Power On Password. Resets all BIOS configuration settings to saved default user values. Sets BIOS ACPI SLIT preferences. Sets the reference information for the server administrator. Sets the BIOS Administrator Password. Sets the BIOS advanced debug option. Sets the BIOS advanced memory protection method. Sets the BIOS advanced performance tuning options. Sets the BIOS advanced security configuration. Sets BIOS system ROM options. Sets the BIOS boot browser settings. Sets the Boot Controller Order. Sets the Boot Mode for the systems that support UEFI. Sets the Boot Order Policy in UEFI systems. Sets the boot time optimization options. Sets a custom post message. Sets BIOS Data Direct I/O. Sets the BIOS daylight-saving time, time format, and time zone settings. Table Continued Using the BIOS cmdlets 13

Cmdlet Set-HPEBIOSEmbeddedDiagnostics Set-HPEBIOSEmbeddedUEFIShell Set-HPEBIOSEmbeddedUserPartition Set-HPEBIOSEMSConsole Set-HPEBIOSFanOption Set-HPEBIOSHyperTransport Set-HPEBIOSIntelNICDMAChannel Set-HPEBIOSIntelTurboBoost Set-HPEBIOSInterfaceMode Set-HPEBIOSInternalSDCardSlot Set-HPEBIOSIPLOrder Set-HPEBIOSMemoryChannel Set-HPEBIOSMemoryConfiguration Set-HPEBIOSMemoryPower Set-HPEBIOSMemoryProximityReportingForIO Set-HPEBIOSNetworkBootOption Set-HPEBIOSNodeInterleaving Set-HPEBIOSNUMLOCK Set-HPEBIOSNVDIMMConfiguration Set-HPEBIOSOneTerabyteMemoryLimit Set-HPEBIOSPCIDeviceConfiguration Set-HPEBIOSPCIePower Set-HPEBIOSPersistentMemoryConfiguration Set-HPEBIOSPowerCapping Description Sets the BIOS Embedded Diagnostics settings. Sets BIOS Embedded UEFI Shell. Sets the Embedded User Partition information. Sets the EMS console configuration. Sets the BIOS system fan installation and policy configurations. Sets the HyperTransport Frequency. Sets BIOS Intel DMA Channels. Sets Intel Turbo Boost. Sets the interface mode displayed for ROM-based utilities. Sets the BIOS internal SD card slot configuration. Sets the Standard Boot Order (IPL). Sets BIOS memory channel mode. Sets the BIOS memory configurations. Sets the memory-related power management. Sets BIOS Memory Proximity Reporting for I/O information. Sets BIOS network boot and preboot network options. Sets BIOS Node Interleaving. Sets the BIOS NUMLOCK power-on state. Sets the BIOS NVDIMM configuration. Configures the BIOS 1 Terabyte Memory Limit. Sets the BIOS PCI device configuration. Sets the current PCIe related configuration, which may impact system power usage. Sets the persistent memory configuration. Sets the status of Memory Power Capping and Dynamic Power Capping Functionality. Table Continued 14 Using the BIOS cmdlets

Cmdlet Set-HPEBIOSPowerOnPassword Set-HPEBIOSPowerProfile Set-HPEBIOSPowerRegulator Set-HPEBIOSPrefetcher Set-HPEBIOSProcessorOption Set-HPEBIOSProcessorPower Set-HPEBIOSQPI Set-HPEBIOSQPILinkPower Set-HPEBIOSRedundantPowerSupplyMode Set- HPEBIOSRemovableFlashMediaBootSequence Set-HPEBIOSSATAControllerOption Set-HPEBIOSSecureBootState Set-HPEBIOSSerialConsole Set-HPEBIOSSerialPort Set-HPEBIOSServerAvailability Set-HPEBIOSServerInfo Set-HPEBIOSServerSecurity Set-HPEBIOSServiceContact Set-HPEBIOSStorageOption Set-HPEBIOSUPILinkPower Set-HPEBIOSSystemInfo Set-HPEBIOSThermalOption Set-HPEBIOSTPMConfiguration Set-HPEBIOSUEFIBootOrder Description Sets the BIOS Power On Password. Sets the level of power versus performance for the system. Sets the Power Regulator. Sets BIOS HW, Adjacent Sector, DCU, and DCUIP prefetcher. Sets the current processor options settings. Sets the processor-related power management. Sets BIOS QPI snoop configuration and QPI bandwidth optimization. Sets the Intel QPI Link Power Management and Frequency. Sets the Redundant Power Supply Mode. Sets the BIOS removable flash media boot sequence. Sets the BIOS SATA controller configuration. Sets the Secure Boot option settings. Sets the serial console configuration. Sets the serial port configuration. Sets BIOS server availability. Sets the reference information for the server administrator. Sets BIOS server security options. Sets the reference information for the server service. Sets the storage options of the target server. Sets the Intel UPI link power configuration. Sets the BIOS system information. Sets the fan cooling solution for the system. Sets the TPM (Trusted Platform Module) configurations. Sets the UEFI Boot Order configuration. Table Continued Using the BIOS cmdlets 15

Cmdlet Set-HPEBIOSUEFIOptimizedBoot Set-HPEBIOSUSBOption Set-HPEBIOSUserDefault Set-HPEBIOSUtilityLanguage Set-HPEBIOSVideoOption Set-HPEBIOSVirtualization Set-HPEBIOSVLANConfiguration Set-HPEBIOSWorkloadProfile Test-HPEBIOSConnection Update-HPEBIOSModuleVersion Description Sets the UEFI Optimized Boot state. Sets the BIOS USB options. Sets the BIOS user default configuration. Selects the language for the system. Sets BIOS video options. Sets the hardware virtualization configuration. Sets the details of global VLAN configuration for all enabled network interfaces. Sets the BIOS workload profile configuration. Checks if the connection to the target is still valid. Determines if an updated version of the BIOS cmdlets is available and returns the link to download this new version. Establishing a BIOS connection Scripting Tools for Windows PowerShell: BIOS Cmdlets supports the following generations of HPE ProLiant servers. Each generation of servers has a different connection mechanism. Gen8 servers (Except Gen8 ProLiant DL580) Gen9 servers Gen10 servers Establishing a connection to a Gen8 server There are three ways to connect to Gen8 servers: Connecting to a bare metal server using an ilo IP address Connecting to a Windows host using a server IP address Connecting to localhost Connecting to a bare metal server using an ilo IP address Prerequisites Procedure Use this mode of connection when the target server has no operating systems installed. Install BIOS cmdlets on the Windows management client. Make sure the target server ilo IP address is able to ping from the management client. The target server must be running a customized WinPE Image. The SSH protocol must be enabled on the target server. 1. On the management client, execute the following command to create a customized WinPE image: 16 Establishing a BIOS connection

New-HPEBIOSCustomWinPEImage Example 1 The following command creates a new WinPE image with.iso file output. OutputImageType values are ISO_File and USB_Drive. In the following example, the OutputImageType is ISO_File. PS C:\> New-HPEBIOSCustomWinPEImage -OutputImage C:\Image\WinPE.ISO -OutputImageType ISO_File -Log Status OutputImageType OutputPath LogPath Example 2 : OK : ISO File : C:\Image\WinPE.ISO : C:\New_HPEBIOSCustomWinPEImage_20170513180835.log The command in this example creates a new WinPE image with USB drive output. PS C:\> New-HPEBIOSCustomWinPEImage -OutputImageType USB_Drive - OutputImage "E:" Log Status : Ok OutputImageType : USB Drive OutputPath : E: LogPath : C:\New_HPEBIOSCustomWinPEImage_20170513182010.log 2. Do one of the following: a. If the customized WinPE image is created using the.iso file option, modify the standard boot order in the server BIOS to boot from CD-ROM. b. If the customized WinPE image is created using the USB drive option, insert the created USB media into the target server. Modify the standard boot order in the server BIOS to boot from the USB drive. The standard boot order can also be modified from the ilo web > Virtual Media > Boot Order page. If the ilo cmdlets are installed, the Set-HPiLOOneTimeBootOrder cmdlet or the Set- HPiLOPersistentBootOrder cmdlet can be used to modify the boot order. 3. Boot up the target server and enter the customized WinPE environment. The target server boots the WinPE image. Booting up the server can be done using the ilo web > Virtual Media > Boot Order page. If the ilo cmdlets are installed, the Reset-HPiLOServer cmdlet can also be used to boot up the server. NOTE: When the server boots up into the customized WinPE environment for the first time, a one-time automatic reboot might occur. After that, it will automatically boot up into WinPE again. 4. Verify that the WinPE console appears on the target server. You can check this from the ilo Integrated Remote Console or by using an SSH client like PuTTY. 5. Before using Connect-HPEBIOS, ping the management client and target server networks to ensure they are both reachable. 6. Ensure that both client and server firewalls are disabled. Using the BIOS cmdlets 17

NOTE: If a firewall is needed, add a firewall exception for remote WMI connections. a. At the command prompt, enter: netsh advfirewall firewall set rule group="windows Remote Management" new enable=yes b. Enter Exit. 7. At the WinPE prompt, ping the management client IP address to ensure it is reachable. Contact your network administrator to resolve any issues. 8. Execute Connect-HPEBIOS with an ilo IP address. A successful connection will return the session object. Example PS C:\> $connection = Connect-HPEBIOS -IP 10.20.30.1 UserName admin Password admin123 -ClientLoggedInUserPassword aduser PS C:\> $connection RCUVersion : 4.7.1.0 LocalSharedFolder : C:\Program Files\Hewlett Packard Enterprise \PowerShell\Modules\HPEBIOSCmdlets\Tools RemoteSharedFolder : \\10.20.30.1\HPEBIOSshare ExecutionTimeString : 2017020912384247 RCUDataFile : C:\Program Files\Hewlett Packard Enterprise \PowerShell\Modules\HPEBIOSCmdlets\Tools \ConfigurationData \rcu_2017020912384247.dat RCUOutputFile : C:\Program Files\Hewlett Packard Enterprise \PowerShell\Modules\HPEBIOSCmdlets\Tools \ConfigurationData \rcu_output_2017020912384247.txt TargetEnvironmentDataFile : C:\Program Files\Hewlett Packard Enterprise \PowerShell\Modules\HPEBIOSCmdlets\Tools \ConfigurationData\env_2017020912384247.txt TargetPCIInfoFile : C:\Program Files\Hewlett Packard Enterprise \PowerShell\Modules\HPEBIOSCmdlets\Tools \ConfigurationData \pci_info_2017020912384247.reg WinPEFlagFile : C:\Program Files\Hewlett Packard Enterprise \PowerShell\Modules\HPEBIOSCmdlets\Tools \ConfigurationData \_2017020912384247.flag.txt ClientIPForWinPE : 10.20.30.40 ClientLoggedInUser : Domain\aduser TargetHostType : WinPE ConnectionType : RCU IP : 10.20.30.1 HostName : abc1.domain.com IsConnected : True UserName : Admin ProductName : ProLiant DL385p Gen8 CurrentROMFamily : A28 CurrentROMDate : 03/07/2016 CurrentROMVersion : BackupROMFamily : BackupROMDate : BackupROMVersion : ProcessorInfo : AMD Opteron(tm) Processor 6320 18 Using the BIOS cmdlets

NOTE: The ClientLoggedInUserPassword parameter is required only for the WinPE connection to create and share the connection resources. 9. Use the session object from the previous step to run BIOS cmdlets. Connecting to a Windows host using a server IP address Prerequisites Procedure Use this mode of connection for a target server with a Windows operating system. It uses the server IP and user credentials to establish the connection. Install BIOS cmdlets on the Windows management client. Ensure that both client and server firewalls are disabled. If a firewall is needed, add a firewall exception for remote WMI connections. 1. At the command prompt, enter: netsh advfirewall firewall set rule group= Windows Remote Management new enable=yes 2. Enter Exit. At the Windows Server, ping the management client IP address to ensure it is reachable. Contact your network administrator to resolve any issues. 1. Verify that the Windows Management Instrumentation service is running on the Windows server. 2. Verify that the File Share service is running on the Windows server. 3. If the File Share service is not running, enter net start "Server" at the command prompt. 4. Verify that the default net share is available using the following procedure. a. Open a command line or PowerShell window. b. Run the net share command and make sure the Windows default shares of C$, IPC$, and ADMIN$ are listed as shown. c:\ >net share Share name Resource Remark --------------------------------------------------------------- IPC$ Remote IPC C$ C:\ Default share ADMIN$ C:\Windows Remote Admin The command completed successfully. c. If these shares are not listed, use the net share command to create them. For detailed help for net share, enter net share /?. 5. Execute Connect-HPEBIOS with the Windows server IP address. A successful connection will return the session object. Example PS C:\> $connection = Connect-HPEBIOS 10.20.30.20 -UserName admin -Password admin123 Connecting to a Windows host using a server IP address 19

PS C:\ > $connection RCUVersion : 4.7.1.0 LocalSharedFolder : \\10.20.30.20\c$\HPEBIOSCmdlets_Tools RemoteSharedFolder : \\10.20.30.20\c$ ExecutionTimeString : 2017070711203937 RCUDataFile : \\10.20.30.20\c$\HPEBIOSCmdlets_Tools \ConfigurationData \rcu_2017070711203937.dat RCUOutputFile : \\10.20.30.20\c$\HPEBIOSCmdlets_Tools \ConfigurationData \rcu_output_2017070711203937.txt TargetEnvironmentDataFile : \\10.20.30.20\c$\HPEBIOSCmdlets_Tools \ConfigurationData TargetPCIInfoFile WinPEFlagFile : ClientIPForWinPE : ClientLoggedInUser : \env_2017070711203667.txt : \\10.20.30.20\c$\HPEBIOSCmdlets_Tools \ConfigurationData \pci_info_2017070711203667.reg TargetHostType : WindowsRemoteHost ConnectionType : RCU IP : 10.20.30.20 HostName : abc2.domain.com IsConnected : True UserName : Admin ProductName : ProLiant BL460c Gen8 CurrentROMFamily : I31 CurrentROMDate : 06/01/2015 CurrentROMVersion : BackupROMFamily : BackupROMDate : BackupROMVersion : ProcessorInfo : Intel(R) Xeon(R) CPU E5-2660 v2 @ 2.20GHz 6. Use the session object from the previous step to run BIOS cmdlets. Connecting to localhost Use this mode of connection to connect to the localhost running on a Windows operating system. It requires administrator credentials to establish the connection. Prerequisites Install the BIOS cmdlets module on the local host. Procedure 1. Execute Connect-HPEBIOS with the Windows server local IP address. A successful connection will return the session object. Example PS C:\> $connection = Connect-HPEBIOS -IP localhost -Username admin -Password admin123 PS C:\> $connection RCUVersion : 4.7.1.0 LocalSharedFolder : C:\Program Files\Hewlett-Packard \PowerShell\Modules\HPEBIOSCmdlets\Tools RemoteSharedFolder : ExecutionTimeString : 2017020912342708 RCUDataFile RCUOutputFile : C:\Program Files\Hewlett-Packard\PowerShell \Modules\HPEBIOSCmdlets\Tools\ConfigurationData \rcu_2017020912342708.dat : C:\Program Files\Hewlett-Packard\PowerShell 20 Connecting to localhost

\Modules\HPEBIOSCmdlets\Tools\ConfigurationData \rcu_output_2017020912342708.txt TargetEnvironmentDataFile : C:\Program Files\Hewlett-Packard\PowerShell \Modules\HPEBIOSCmdlets\Tools\ConfigurationData \env_2017020912342708.txt TargetPCIInfoFile WinPEFlagFile : ClientIPForWinPE : ClientLoggedInUser : TargetHostType : WindowsLocalHost ConnectionType : RCU IP : 10.20.30.2 HostName : abc3.domain.com IsConnected : True UserName : Admin ProductName : ProLiant DL380p Gen8 CurrentROMFamily : P70 CurrentROMDate : 07/01/2015 CurrentROMVersion : BackupROMFamily : BackupROMDate : : C:\Program Files\Hewlett-Packard\PowerShell \Modules\HPEBIOSCmdlets\Tools\ConfigurationData \pci_info_2017020912342708.reg BackupROMVersion : ProcessorInfo : Intel(R) Xeon(R) CPU E5-2690 v2 @ 3.00GHz 2. Use the session object from the previous step to run BIOS cmdlets. Establishing a connection to a Gen9 server Prerequisites Procedure Use this mode of connection for Gen9 servers. It uses the ilo IP address and ilo user credentials. Install BIOS cmdlets on the Windows management client. Make sure the target server ilo IP address is able to ping from the management client where the BIOS cmdlets are installed. If the administrator password has been set for BIOS, the administrator password must be provided through a connection using the AdminPassword parameter. The set cmdlet will not execute if the password has been set but not provided during connection. The target ilo must have a valid server certificate. If a valid certificate is not available, use the DisableCertificateAuthentication switch parameter to establish the connection. 1. Execute Connect-HPEBIOS with the ilo IP address of the Gen9 target server. A successful connection will return the session object. 2. Use the session object from the previous step to run BIOS cmdlets. Example: Connecting to a Gen9 server that does not have a valid server certificate PS C:\ > $connection = Connect-HPEBIOS -IP 10.20.30.15 -Username admin -Password admin123 -DisableCertificateAuthentication PS C:\> $connection DisableServerCertificateAuthenticationFlag : True Location : https://10.20.30.15/rest/v1 /SessionService/Sessions /admin59626bd490a3d70b RootUri : https://10.20.30.15/rest/v1 RootData : @odata.id=/redfish/v1 /SessionService/Sessions /admin59626bd490a3d70b/; @odata.type=#session.1.0.0.session; Establishing a connection to a Gen9 server 21

Description=Manager User Session; Id=admin59626bd490a3d70b; Name=User Session; Oem=; Type=Session.1.0.0; UserName=admin; links=} AttributeRegistry : HpBiosAttributeRegistryP92.1.1.42 ConnectionType : REST IP : 10.20.30.15 Hostname : abc3.domain.com IsConnected : True Username : Admin ProductName : ProLiant ML350 Gen9 CurrentROMFamily : P92 CurrentROMDate : 04/25/2017 CurrentROMVersion : P92 v2.42 (04/25/2017) BackupROMFamily : P92 BackupROMDate : 04/25/2017 BackupROMVersion : P92 v2.42 (04/25/2017) ProcessorInfo : Intel(R) Xeon(R) CPU E5-2603 v3 @ 1.60GHz Establishing a connection to a Gen10 server Prerequisites Procedure Use this method to connect with Gen10 servers. It uses the ilo IP and ilo user credentials to connect. Install BIOS cmdlets on the Windows management client. Make sure the target server ilo IP address is able to ping from the management client where the BIOS cmdlets are installed. The target ilo must have a valid server certificate. If a valid certificate is not available, use the DisableCertificateAuthentication switch parameter to establish the connection. The ilo user must have the "Host BIOS" privilege to change the BIOS features using the BIOS cmdlets. 1. Execute Connect-HPEBIOS with the ilo IP address of the Gen10 target server. A successful connection will return the session object. 2. Use the session object from the previous step to run BIOS cmdlets. Example: Connecting to a Gen10 server that has a valid certificate PS C:\> $connection = Connect-HPEBIOS -IP 10.20.30.40 -Username admin -Password admin123 PS C:\> $connection DisableServerCertificateAuthenticationFlag : False Location : https://10.20.30.40/redfish /v1/sessionservice/sessions /admin000000003a84878000000000/ RootUri : https:// 10.20.30.40/redfish/v1/Sessions/ RootData : @{@odata.context=/redfish/v1 /$metadata#serviceroot; @odata.etag=w/"99f5850d"; @odata.id=/redfish/v1/; @odata.type=#serviceroot.v1_1_0.serviceroot; AccountService=; Chassis=; EventService=; Id=v1; JsonSchemas=; Links=; Managers=; Name=HPE RESTful Root Service; Oem=; RedfishVersion=1.0.0; Registries=; SessionService=; Systems=; UUID=5c14350e-5f1f-5e65-8ae7-22e6dd51055f; UpdateService=} 22 Establishing a connection to a Gen10 server

AttributeRegistry : BiosAttributeRegistryU32.v1_1_20 ConnectionType : Redfish IP : 10.20.30.40 Hostname : abc5.domain.com IsConnected : True Username : Admin ProductName : ProLiant DL360 Gen10 CurrentROMFamily : U32 CurrentROMDate : 05/17/2017 CurrentROMVersion : U32 v1.20 (05/17/2017) BackupROMFamily : U32 BackupROMDate : 05/17/2017 BackupROMVersion : U32 v1.20 (05/17/2017) ProcessorInfo : Intel(R) Genuine processor IPv6 support Consider the following when using IPv6. IPv6 is supported and enabled on the system. IPv6 is supported along with IPv4 for network addresses on all cmdlets that have an IP address parameter. The double colon zero subnet format for IPv6 addresses is supported. For example: 1a00::1fe8 equates to: 1a00:0000:0000:0000:0000:0000:0000:1fe8 Address ranges are supported with the dash character. For example: 1a00::1fe8-1fef resolves to eight addresses, from: 1a00::1fe8 through: 1a00::1fef Sets of addresses are supported with the comma character. For example: 1a00,1b00::1fe8 resolves to two addresses: 1a00::1fe8 and: 1b00::1fe8 Example: Connect-HPEBIOS using IPv6 to Gen9 target server PS C:\> $connection = Connect-HPEBIOS -IP FE80::1234:5678:9ABC:DEF0 -Username admin -Password admin123 PS C:\> $connection DisableServerCertificateAuthenticationFlag : True Location : https://[fe80::1234:5678:9abc:def0]/rest /v1/sessionservice/sessions/admin59626bd490a3d70b RootUri : https:// [FE80::1234:5678:9ABC:DEF0] IPv6 support 23

/rest/v1 RootData : @odata.id=/redfish/v1/sessionservice/sessions /a dmin59626bd490a3d70b/; @odata.type=#session. 1.0.0.Session; Description=Manager User Session;Id=admin59626bd490a3d70b; Name=User Session; Oem=; Type=Session.1.0.0; UserName=admin; links=} AttributeRegistry : HpBiosAttributeRegistryP92.1.1.42 ConnectionType : REST IP : FE80::1234:5678:9ABC:DEF0 Hostname : abc3.domain.com IsConnected : True Username : Admin ProductName : ProLiant ML350 Gen9 CurrentROMFamily : P92 CurrentROMDate : 04/25/2017 CurrentROMVersion : P92 v2.42 (04/25/2017) BackupROMFamily : P92 BackupROMDate : 04/25/2017 BackupROMVersion : P92 v2.42 (04/25/2017) ProcessorInfo : Intel(R) Xeon(R) CPU E5-2603 v3 @ 1.60GHz NOTE: Other examples in this document use IPv4, but could use IPv6 instead, if supported on the network. Both IPv4 or IPv6 addresses can be used to establish the connection. For more information on IPv6, see the following website or the references it links to: http:// en.wikipedia.org/wiki/ipv6. Connecting to multiple target servers For better performance, multithreading is used when one cmdlet sends data to multiple targets. Performance of the cmdlets depends on factors such as: Current system load Available memory Number of processors Network configuration Other systems in the network Other network traffic To take advantage of multithreading, a single cmdlet is used. However, it is directed to multiple targets in a single invocation by passing parameter values as an array. Establishing a connection to multiple target servers A connection can be established to the multiple target servers by providing the range of IP addresses and the related username and password. Connect-HPEBIOS returns a list of session objects which can be used to execute any BIOS cmdlets. Example In this example, the count of "3" shows that three session objects, each of which corresponds to a server IP address, are returned by the Connect-HPEBIOS cmdlet. PS C:\> $connection = Connect-HPEBIOS -IP 10.20.30.1,10.20.30.2,10.20.30.3 -Username admin -Password admin123 PS C:\> $connection.count 3 24 Connecting to multiple target servers

Executing a cmdlet using multiple connections Example 1 The following example executes Get-HPEBIOSBootMode to multiple servers. PS C:\> Get-HPEBIOSBootMode -Connection $connection IP : 10.20.30.1 Hostname : abc1.domain.com Status : OK BootMode : UEFIMode IP : 10.20.30.3 Hostname : abc2.domain.com Status : OK BootMode : LegacyBIOSMode IP : 10.20.30.5 Hostname : abc3.domain.com Status : OK BootMode : UEFIMode Example 2 The following example executes Set-HPEBIOSBootMode on multiple servers. The boot mode will be changed correspondingly on each server. PS C:\> $result = Set-HPEBIOSBootMode -Connection $connection BootMode @( LegacyBIOSMode, UEFIMode, LegacyBIOSMode ) Executing a cmdlet with multiple connections, passing the connection through a pipeline input and other parameters using a named parameter When there are multiple connections being passed as pipeline input, use the comma operator (,) to pass the list of connections as an array. If the comma operator is not used, then the parameter value at index 0 will be set for all the target servers. Example 1 In this example, $connections has three connections that are passed as pipeline input to the Set- HPEBIOSBootMode cmdlet using the comma operator (,). BootMode will be changed in each of the corresponding target servers. PS C:\>,$connections Set-HPEBIOSBootMode BootMode @( LegacyBIOSMode, UEFIMode, LegacyBIOSMode ) Example 2 In this example, $connections has three connections that are passed as pipeline input to the Set- HPEBIOSBootMode cmdlet without the comma operator (,). BootMode at index 0 (LegacyBIOSMode) will be set for all the target servers. PS C:\> $connections Set-HPEBIOSBootMode BootMode @( LegacyBIOSMode, UEFIMode, LegacyBIOSMode ) WARNING: Some values of the command-line parameter Using the BIOS cmdlets 25

NOTE: 'BootMode' have been ignored for the pipeline object(s) at index: [0],[1],[2]. You must reboot the server to apply the configuration changes to BIOS. Piping output from one command to another A useful feature of PowerShell is the ability to pipe output from one command to another. The following example shows piping output from Connect-HPEBIOS to Get-HPEBIOSPowerProfile to produce the power profile information of those connected servers. The Verbose parameter is used to view more information. PowerShell script: $PowerProfile= Connect-HPEBIOS -IP 192.168.243.100-102 -Username "username" -Password "password" -DisableCertitificateAuthentication Get- HPEBIOSPowerProfile Script output: $PowerProfile IP : 192.168.243.100 Hostname : server1.company.net Status : OK PowerProfile : MaximumPerformance IP : 192.168.243.101 Hostname : server2.company.net Status : OK PowerProfile : BalancedPowerAndPerformance IP : 192.168.243.102 Hostname : server3.company.net Status : OK PowerProfile : Custom The verbose output indicates that three threads are being used for Get-HPEBIOSPowerProfile. This threading enables multiple commands to multiple servers to be sent at the same time. Connect-HPEBIOS makes the connection object array of the three servers. Those are in turn passed through to Get- HPEBIOSPowerProfile, which uses those connections and requests the power profile information from each server. The final results are the power profile information for the three servers connected. Using the Get-HPEBIOSModuleVersion and Update- HPEBIOSModuleVersion cmdlets The Get-HPEBIOSModuleVersion and Update-HPEBIOSModuleVersion cmdlets are used to determine the current version of the BIOS cmdlets module installed. They will also update the module if necessary. 26 Piping output from one command to another

The Get-HPEBIOSModuleVersion cmdlet has no parameters. It accesses the installed module file and help files and displays information about them including version numbers. The following is typical Get- HPEBIOSModuleVersion cmdlet output. PS C:\> Get-HPEBIOSModuleVersion Name Path Description GUID CurrentUICultureName CurrentUICultureVersion : 2.0.0.0 Version : 2.0.0.0 DotNetVersion : 4.6.1 PSVersion OSVersion CCGVersion : 2.0.0.0 AvailableUICulture : HPEBIOSCmdlets : C:\Program Files\Hewlett Packard Enterprise\PowerShell \Modules\HPEBIOSCmdlets\HPEBIOSCmdlets.dll : Scripting Tools for Windows PowerShell : BIOS Cmdlets creates an interface to HPE BIOS ROM-Based Setup Utilty (RBSU) or UEFI System Utilities. These cmdlets can be used to configure the BIOS settings on HPE ProLiant servers. : b37fea1c-1be5-42a6-bbc9-a453018b2a0f : en-us : @{PSVersion=5.1.14409.1005; PSEdition=Desktop; PSCompatibleVersions=System.Version[]; BuildVersion=10.0.14409.1005; CLRVersion=4.0.30319.42000; WSManStackVersion=3.0; PSRemotingProtocolVersion=2.3; SerializationVersion=1.1.0.1} : @{Caption=Microsoft Windows 8.1 Enterprise; CSDVersion=; Version=6.3.9600; BuildNumber=9600} : {@{UICultureName=en-US; UICultureVersion=2.0.0.0}, @{UICultureName=zh-CN; UICultureVersion=2.0.0.0}, @{UICultureName=ja-JP; UICultureVersion=2.0.0.0}} The Update-HPEBIOSModuleVersion cmdlet has no parameters. This cmdlet checks the version number of the installed cmdlets against the version number available for download. If the local version is the most recent, it will be stated in the output. PS C:\Users\Username> Update-HPEBIOSModuleVersion The currently installed version 2.0.0.0 is the most current. If a newer version is available, you are given the option to download the latest version. PS C:\Users\Username> Update-HPEBIOSModuleVersion There is a newer version of HPBIOSCmdlets available at http://www.hpe.com/servers/powershell. Do you want to go there to download the new version?(y/n): Y If you respond Yes to the download prompt, a browser window opens and you can download and install the newer version. Managing BIOS using BIOS cmdlets Examples in this section assume that a connection has been made with Connect-HPEBIOS and is in the $connection variable. The $connection variable contains a single connection object. After a connection to the target server is established, you can use cmdlets to manage the BIOS. This section contains examples of how these cmdlets are used. Get and Set BIOS cmdlets Enable and Disable BIOS cmdlets Set cmdlets for features that have dependencies Set parameter that is not supported on target server Set parameter value that is not supported on the target server Managing BIOS using BIOS cmdlets 27

Executing a cmdlet that is not supported on the target server Executing Get BIOS cmdlets OutputType as raw text Get and Set BIOS cmdlets Example: retrieve thermal-related configuration The Get- HPEBIOSThermalOption cmdlet can be used to retrieve thermal-related configuration as shown in the following example. PS C:\>Get- HPEBIOSThermalOption -Connection $connection IP : 10.20.30.15 Hostname : abc.domain.com Status : OK ThermalConfiguration : MaximumCooling ThermalShutdown : Enabled ExtendedAmbientTemperatureSupport : ASHRAE3 Example: change the BIOS thermal-related configuration Other cmdlets can be used to set or update BIOS settings. For example, the Set-HPEBIOSThermalOption cmdlet can be used to change the BIOS thermal-related configuration as shown in the following example. PS C:\> $setresult = $connection Set-HPEBIOSThermalOption -ThermalConfiguration IncreasedCooling -ThermalShutdown Disabled If the set cmdlet is successful, it returns null. The following example shows a check of a successful cmdlet execution. PS C:\> $setresult -eq $null True Enable and Disable BIOS cmdlets The Enable and Disable cmdlets in BIOS have a special implementation in which parameter values represent the feature, and the parameters themselves are the feature values from the RBSU context. This reduces the number of cmdlets and avoids redundant types of cmdlets. Example: get status of the LOM port In the following example, the Get-HPEEmbeddedLOMPort cmdlet gets the status of the LOM port which is enabled or disabled. The Enable-HPEBIOSEmbeddedLOMPort cmdlet is used to enable the LOM port and Disable-HPEBIOSEmbeddedLOMPort cmdlet is used to disable the LOM port. Get the current EmbeddedLOMPort configuration PS C:\> $returnobj = Get-HPEBIOSEmbeddedLOMPort -Connection $connection PS C:\> $returnobj IP : 10.20.30.20 Hostname : abc.domain.com Status StatusInfo : Warning : @{Category=PropertySupportability; Message=The property or properties listed in AffectedAttribute are not supported on the target server ProLiant DL380 Gen10. For more details about supported properties, 28 Get and Set BIOS cmdlets