Tramite il comando
Get-SPServer di
PowerShell è possibile elencare i
server che compongono una
farm SharePoint OnPrem# Add-PSSnapin Microsoft.SharePoint.PowerShell
Get-SPServer | Select Name, Version, Role, Status, CanUpgrade, NeedsUpgrade, NeedsUpgradeIncludeChildren, @{Label="IP";Expression={[System.Net.Dns]::GetHostByName($_.Name).AddressList[0].IPAddressToString}} | Format-Table -AutoSize
da un risultato simile al seguente
Name Version Role Status CanUpgrade NeedsUpgrade NeedsUpgradeIncludeChildren IP
---- ------- ---- ------ ---------- ------------ --------------------------- --
smtp.sgart.local 167495 Invalid Online False True True 10.0.129.124
SharePointDB 7085403 Invalid Online False True True 10.0.128.127
SP2010-IDX 13963885 Application Online False True True 10.0.128.70
SP2010-FEA 13963891 Application Online False True True 10.0.128.71
SP2010-FEB 13963889 Application Online False True True 10.0.128.72
Dove si può vedere, nella colonna
Version (con
Role diverso da
Invalid) che i server della farm
non sono tutti allineati alla stessa versione di
patch (13963885, 13963891 e 13963889).
Anche nella colonna
NeedsUpgrade, viene indicato esplicitamente, che la farm
richiede un upgrade.
Quindi è necessario eseguire lo
SharePoint 2010 Products Configuration Wizard, su
ogni server che compone la farm.
Con "server che compone la farm" si intendo i server di
Front-End (SP2010-FEA e SP2010-FEB) e quelli di application (SP2010-IDX). Più in generale tutti quelli che nella colonna
Role hanno un valore diverso da
Invalid. Escludendo quindi i server
SQL e gli
SMTP che hanno una loro gestione delle patch indipendente dalla farm
SharePoint.
Per visualizzare solo i server della farm
SharePoint si può filtrare la query per
$_.Role -ne "Invalid"Get-SPServer | Where-Object {$_.Role -ne "Invalid"} | Select Name, Version, Role, Status, CanUpgrade, NeedsUpgrade, NeedsUpgradeIncludeChildren, @{Label="IP";Expression={[System.Net.Dns]::GetHostByName($_.Name).AddressList[0].IPAddressToString}} | Format-Table -AutoSize
Name Version Role Status CanUpgrade NeedsUpgrade NeedsUpgradeIncludeChildren IP
---- ------- ---- ------ ---------- ------------ --------------------------- --
SP2010-IDX 13963885 Application Online False True True 10.0.128.70
SP2010-FEA 13963891 Application Online False True True 10.0.128.71
SP2010-FEB 13963889 Application Online False True True 10.0.128.72
Nota: lo
script usa il metodo statico
[System.Net.Dns]::GetHostByName() per ottenere l'indirizzo
IP del server
# prende solo il primo indirizzo IP
[System.Net.Dns]::GetHostByName("nomeServer").AddressList[0].IPAddressToString