Bienvenue à Blogs CodeS-SourceS Identification | Inscription | Aide

Blog Technique de Romelard Fabrice

Les dernières Actualités de Romelard Fabrice (Alias fabrice69 ou F___) principalement autour des technologies Microsoft

Actualités

  • Toutes les actualités et informations sur les technologies Microsoft principalement autour de .NET et SQL Server

Archives

PowerShell : Script pour redémarrer le service SPTimer V3 sur tous les serveurs d’une ferme SharePoint

Suite aux différents cas de blocage des alertes SharePoint, comme expliqué ici :

Le petit Script PowerShell permet d’effectuer un redémarrage en force de ce service sur une liste de serveur donné en paramètre

$MyServers = "WebFrontEnd1", "WebFrontEnd2", "WebFrontEnd3", "AppServer1"
$MyServiceName = "SPTimerV3"

foreach($myServer in $MyServers)
{
    Write-Host "Restart of the Service", $MyServiceName, "For the Server", $myServer
    Get-WmiObject -computer $myServer Win32_Service -Filter "Name='$MyServiceName'"| Restart-Service -Force
}

Ce script tout en étant simple permet de résoudre ce soucis dans notre cas avec la ferme MOSS. Il peut être adapté pour de nombreux cas.

Romelard Fabrice [MVP]

Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :
Posted: vendredi 19 novembre 2010 16:28 par ROMELARD Fabrice

Commentaires

lognoulm a dit :

Bonjour Fabrice,

Petite proposition: rendre la liste de serveurs plus "dynamique":

[Void][System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint")

$MyFarm = [Microsoft.SharePoint.Administration.SPfarm]::Local

$MyServers = $MyFarm.Servers|Where {!($_.Role -eq 'Invalid' -and $_.Status -eq 'Online')}|Select Address

$MyServiceName = "SPTimerV3"

foreach($myServer in $MyServers.Address)

{

   Write-Host "Restart of the Service", $MyServiceName, "For the Server", $myServer

   Get-WmiObject -computer $myServer Win32_Service -Filter "Name='$MyServiceName'"| Restart-Service -Force

}

# novembre 22, 2010 10:30

ROMELARD Fabrice a dit :

Bien ca, mais dans ce cas, il rester sur la ferme courante et planifier le script à intervalle régulier

Bien joué quand même

Fab

# novembre 22, 2010 11:04

ROMELARD Fabrice a dit :

Je viens de tester ton script et il provoque un résultat étrange car le serveur SQL est le seul qui ressort de cette requête.

De plus, dans le cas des Alertes bloquée, je ne pense pas que le status soit modifié.

Je vais voir pour adapter le script :D

Fab

# novembre 22, 2010 11:16

lognoulm a dit :

Exact. Il est possible de déterminer la liste des serveurs membres de la ferme à partir d'un serveur non membre mais alors, cela se ferait par query SQL -> donc non supporté.

# novembre 22, 2010 11:29

lognoulm a dit :

J'utilise le filtre {!($_.Role -eq 'Invalid' -and $_.Status -eq 'Online')} pour justement exclure le SQL et le SMTP.

Que donne $MyServers = $MyFarm.Servers donc sans le filtre?

# novembre 22, 2010 11:39

lognoulm a dit :

Non en effet (je viens de vérifier avec un PFE MS), le status ne change pas en cas d'alertes bloquées.

Pour le query SQL (à peaufiner):

SELECT [Name]

FROM [UNIVERSE_INTRA_LAB-LABO_00_Config].[dbo].[Objects]

WHERE ClassId = 'E77AAF47-3CAC-4001-BC6B-5BCCB6486318'

# novembre 22, 2010 11:52

ROMELARD Fabrice a dit :

Bon voilà une fonction en PS permettant d'avoir les détails des Jobs Web App par Web App :

---------

[Void][System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint")

$MyFarm = [Microsoft.SharePoint.Administration.SPfarm]::Local

Write-Host " ------------------------------------------------------------ "

[Microsoft.SharePoint.Administration.SPWebServiceCollection]$mywebServices = new-object Microsoft.SharePoint.Administration.SPWebServiceCollection($MyFarm)

foreach ($mywebService in $mywebServices)

{

$MyWebApplications = $mywebService.WebApplications;

foreach ($myWebApp in $MyWebApplications)

{

if($myWebApp.RunningJobs.Count -gt 0)

{

Write-Host " - Name:", $mywebService.Name, "- WEb Application Name:", $myWebApp.Name

$MyWebAppRunningJobs = $myWebApp.RunningJobs

foreach($myRunningjob in $MyWebAppRunningJobs )

{

Write-Host " - JobDef Title:", $myRunningjob.JobDefinitionTitle, "- ServerName:", $myRunningjob.ServerName "- PercentDone:" $myRunningjob.PercentageDone.ToString(), "- StartTime:", $myRunningjob.StartTime.ToString()

}

}

}

}

Write-Host " ------------------------------------------------------------ "

----

Reste plus qu'à faire une boucle qui va tester l'ancienneté de immediate Alerts :D

Fabrice

# novembre 22, 2010 16:36

ROMELARD Fabrice a dit :

# novembre 25, 2010 15:56
Les commentaires anonymes sont désactivés

Les 10 derniers blogs postés

- Merci par Blog de Jérémy Jeanson le 10-01-2019, 20:47

- Office 365: Script PowerShell pour auditer l’usage des Office Groups de votre tenant par Blog Technique de Romelard Fabrice le 04-26-2019, 11:02

- Office 365: Script PowerShell pour auditer l’usage de Microsoft Teams de votre tenant par Blog Technique de Romelard Fabrice le 04-26-2019, 10:39

- Office 365: Script PowerShell pour auditer l’usage de OneDrive for Business de votre tenant par Blog Technique de Romelard Fabrice le 04-25-2019, 15:13

- Office 365: Script PowerShell pour auditer l’usage de SharePoint Online de votre tenant par Blog Technique de Romelard Fabrice le 02-27-2019, 13:39

- Office 365: Script PowerShell pour auditer l’usage d’Exchange Online de votre tenant par Blog Technique de Romelard Fabrice le 02-25-2019, 15:07

- Office 365: Script PowerShell pour auditer le contenu de son Office 365 Stream Portal par Blog Technique de Romelard Fabrice le 02-21-2019, 17:56

- Office 365: Script PowerShell pour auditer le contenu de son Office 365 Video Portal par Blog Technique de Romelard Fabrice le 02-18-2019, 18:56

- Office 365: Script PowerShell pour extraire les Audit Log basés sur des filtres fournis par Blog Technique de Romelard Fabrice le 01-28-2019, 16:13

- SharePoint Online: Script PowerShell pour désactiver l’Option IRM des sites SPO non autorisés par Blog Technique de Romelard Fabrice le 12-14-2018, 13:01