import { AzureArcStatusEnum } from '../../azure/models/azureArcStatusEnum'; import { PowerShellSessionRequestOptions } from '../../data/powershell'; /** * Server Inventory query parameters. */ export interface ServerInventoryParams { /** * name of server node. */ name: string; /** * options for PowerShell session request. */ requestOptions?: PowerShellSessionRequestOptions; } /** * Windows Operating Systems */ export declare enum WindowsOperatingSystem { Unknown = 0, Legacy = 1, WindowsVista = 2, Windows7 = 3, WindowsServer2008 = 4, WindowsServer2008R2 = 5, Windows8 = 6, WindowsServer2012 = 7, Windows8Point1 = 8, WindowsServer2012R2 = 9, Windows10 = 10, WindowsServer2016 = 11, WindowsServer2019 = 12 } /** * Windows Product Types */ export declare enum WindowsProductType { Workstation = 1, DomainController = 2, Server = 3 } /** * Smbios Info */ export interface SmbiosData { /** * indicator of the Serial Number assigned from Company and is accessible on exterior of device. */ serialNumber: string; /** * identifies the company brand name under which the device is marketed to the end user. */ manufacturer: string; /** * This is a unique value and is intended to be associated with this specific machine. * This can be null depending on the machine */ uuid: string; /** * identifies the baseboard and should accurately reflect * variances in baseboards across different devices in the same family and product name. * This can be null depending on the machine */ baseBoardProduct: string; /** * physical frames or structures of a machine */ chassis: string[]; /** * Types of Chassis defined in the specification. */ chassisTypes: string[]; /** * identifies the company sub-brand name, specific to a grouping of similar devices known as a product line, * under which the device is marketed to end users */ systemFamily: string; /** * identifies the device in a format that can be determined by Company. */ systemSkuNumber: string; /** * Asset tag number of the system enclosure */ smBiosAssetTag: string; } /** * The address entry for address list. */ export interface ServerInventoryAddressEntry { ipAddress: string; addressFamily: 'InterNetwork' | 'InterNetworkV6'; } /** * Server Inventory data interface. */ export interface ServerInventoryData { /** * The server name. */ serverName: string; /** * The name of server. (CSName/OperatingSystem) */ name: string; /** * The domain name of server. (Domain/ComputerSystem) */ domainName: string; /** * The workgroup name of server if any. (Workgroup/ComputerSystem) */ workgroupName: string; /** * The FQDN of server if any. (ComputerSystem) */ fullyQualifiedDomainName: string; /** * The FQDN of server if any. (ComputerSystem) Not lower cased. */ fullyQualifiedDomainNameRaw: string; /** * The hostname of computer which was configured on the computer. */ hostname: string; /** * The hostname of computer which was configured on the computer. Not lower cased. */ hostnameRaw: string; /** * The NetBios name which might be trimmed by 15 characters. */ netBios: string; /** * The IP address list. */ addressList: ServerInventoryAddressEntry[]; /** * The operating system name of server. (Caption/OperatingSystem) */ operatingSystemName: string; /** * The operating system name of server. (SKU/OperatingSystem) */ operatingSystemSKU: number; /** * The operating system version of server. (Version/OperatingSystem) */ operatingSystemVersion: string; /** * The total size of physical memory. */ totalPhysicalMemory: number; /** * The domain role. */ domainRole: number; /** * The windows product type. */ productType: WindowsProductType; /** * The computer manufacturer. */ computerManufacturer: string; /** * The computer model. */ computerModel: string; /** * The number of logical processors. */ totalLogicalProcessors: number; /** * Indicating if the server has ManagementTools namespace to support TaskManager provider. */ isManagementToolsAvailable: boolean; /** * Indicating if the computer has ServerManager namespace to support ServerManager provider. */ isServerManagerAvailable: boolean; /** * Whether or not Windows Management Framework v5.0 or higher is installed. */ isWmfInstalled: boolean; /** * Indicating if the server node is a part of Microsoft Cluster. */ isCluster: boolean; /** * The FQDN of Microsoft Cluster if it's a part of Microsoft Cluster. */ clusterFqdn: string; /** * Indicating if current user is a member of administrators group. */ isAdministrator: boolean; /** * Indicates if the node has S2D enabled */ isS2dEnabled: boolean; /** * Indicates if the node has Britannica enabled */ isBritannicaEnabled: boolean; /** * Indicates if the hyper-v role is installed */ isHyperVRoleInstalled: boolean; /** * Indicates if the hyper-v powershell feature is installed */ isHyperVPowershellInstalled: boolean; /** * Indicates if CredSSP is enabled. */ isCredSSPEnabled: boolean; /** * Indicating if remote app enabled. */ isRemoteAppEnabled: boolean; /** * SMBIOS Data */ smbiosData: SmbiosData; /** * The system lockdown policy enforcement mode. */ systemLockdownPolicy: string; /** * Type of operating system value */ osType: string; /** * Product name that a manufacturer gives to a computer */ model: string; /** * Last reboot time */ lastBootUpTime: string; /** * The status of the azure arc in the server * i.e connectioned, disconnected etc */ azureArcStatus: AzureArcStatusEnum; /** * The operating system build number */ buildNumber: string; /** * The operating system update build revision */ updateBuildRevision: number; /** * The operating system display version eg: 22H2 */ operatingSystemDisplayVersion: string; /** * The installation type of the operating system */ installationType: string; /** * Indicating if the server is HCI. */ isHciServer: boolean; } /** * Server Inventory class. */ export declare class ServerInventory implements ServerInventoryData { serverName: string; private static nanoDisplayFormat; private static server19PreviewBuildNumber; private static nanoServerSkus; /** * The name of server. (CSName/OperatingSystem) */ name: string; /** * The domain name of server. (Domain/ComputerSystem) */ domainName: string; /** * The workgroup name of server if any. (Workgroup/ComputerSystem) */ workgroupName: string; /** * The FQDN of server if any. (ComputerSystem) */ fullyQualifiedDomainName: string; /** * The FQDN of server if any. (ComputerSystem) Not lower cased. */ fullyQualifiedDomainNameRaw: string; /** * The hostname of computer which was configured on the computer. */ hostname: string; /** * The hostname of computer which was configured on the computer. Not lower cased. */ hostnameRaw: string; /** * The NetBios name which might be trimmed by 15 characters. */ netBios: string; /** * The IP address list. */ addressList: ServerInventoryAddressEntry[]; /** * The operating system name of server. (Caption/OperatingSystem) */ operatingSystemName: string; /** * The operating system name of server. (SKU/OperatingSystem) */ operatingSystemSKU: number; /** * The operating system version of server. (Version/OperatingSystem) */ operatingSystemVersion: string; /** * The total size of physical memory. */ totalPhysicalMemory: number; /** * The domain role. */ domainRole: number; /** * The windows product type. */ productType: WindowsProductType; /** * The computer manufacturer. */ computerManufacturer: string; /** * The computer model. */ computerModel: string; /** * The number of logical processors. */ totalLogicalProcessors: number; /** * Indicating if the server has ManagementTools namespace to support TaskManager provider. */ isManagementToolsAvailable: boolean; /** * Indicating if the computer has ServerManager namespace to support ServerManager provider. */ isServerManagerAvailable: boolean; /** * Whether or not Windows Management Framework v5.0 or higher is installed. */ isWmfInstalled: boolean; /** * Indicating if the server node is a part of Microsoft Cluster. */ isCluster: boolean; /** * The FQDN of Microsoft Cluster if it's a part of Microsoft Cluster. */ clusterFqdn: string; /** * Indicating if current user is a member of administrators group. */ isAdministrator: boolean; /** * Indicates if the node has S2D enabled */ isS2dEnabled: boolean; /** * Indicates if the node has Britannica enabled */ isBritannicaEnabled: boolean; /** * Indicates if the hyper-v role is installed */ isHyperVRoleInstalled: boolean; /** * Indicates if the hyper-v powershell feature is installed */ isHyperVPowershellInstalled: boolean; /** * Indicates if CredSSP is enabled. */ isCredSSPEnabled: boolean; /** * Indicating if remote app enabled. */ isRemoteAppEnabled: boolean; /** * SMBIOS Data */ smbiosData: SmbiosData; /** * The system lockdown policy enforcement mode. */ systemLockdownPolicy: string; /** * Type of operating system value */ osType: string; /** * Product name that a manufacturer gives to a computer */ model: string; /** * Last reboot time */ lastBootUpTime: string; /** * The status of the azure arc in the server * i.e connectioned, disconnected etc */ azureArcStatus: AzureArcStatusEnum; osSerialNumber: string; /** * The operating system build number */ buildNumber: string; /** * The operating system update build revision */ updateBuildRevision: number; /** * The operating system display version eg: 22H2 */ operatingSystemDisplayVersion: string; /** * The installation type of the operating system */ installationType: string; /** * Indicating if the server is HCI. */ isHciServer: boolean; /** * Initializes a new instance of the ServerInventory Class. * * @param serverName the server name to query. * @param data the server inventory recovered data. */ constructor(serverName: string, data?: ServerInventoryData); /** * Gets the sku number indicating whether the computer is Nano server. * * @return boolean true if nano */ get isNano(): boolean; /** * Gets a value indicating if this is a windows server * * @return boolean true if this is a server */ get isServer(): boolean; /** * Gets a value indicating if this is a windows client * * @return boolean true if this is a client */ get isClient(): boolean; /** * Indicates whether the computer is domain controller or not. * * @return boolean true if domain controller */ get isDomainController(): boolean; /** * Gets the display name of operating system. */ get operatingSystemDisplayName(): string; /** * Gets the display name of total physical memory. */ get totalPhysicalMemoryDisplayName(): string; /** * Gets the operating system enumb of the machine * see: https://msdn.microsoft.com/en-us/library/windows/desktop/ms724832(v=vs.85).aspx for operating system version mapping. */ get operatingSystem(): WindowsOperatingSystem; }