23-03-2014 12-09-39

Microsoft Project – livrable – fichiers srchui.dll et jscript.dll

0

Depuis Microsoft Project 2010 et 2013, en utilisant le menu de gestion des livrables, vous obtenez:

23-03-2014 12-09-39Ce message qui semble venir d’outre tombe de la version 2003 apparaît au lieu du panneau latéral.

Inutile de les chercher sur votre machine, vous ne les avez certainement pas.

C’est en fait un problème avec la zone « Internet » de internet explorer, même si votre serveur Project est dans la zone « intranet ».

La zone internet ne doit pas être avec le curseur au maximum en haut, sinon les livrables Project ne fonctionnent plus.

26-03-2014 07-43-13

Le tout même sur Windows Server 2012 R2 + Project 2013 SP1 + IE 11 complètement à jour…

 

 

29-03-2014 12-55-19

SharePoint/Project 2013 SP1 – Configuration wizard

0

Après avoir déployé le Service Pack 1 de SharePoint/Project 2013, il faut passer le configuration wizard. Dans le cas présent, il échouait sur tous les noeuds avec la même erreur dans le log:

SyncUpgradeTimerJob: sleeping for 10 seconds
SyncUpgradeTimerJob: sleeping for 10 seconds
SyncUpgradeTimerJob: Upgrade timer job failed. Return -1.
The exclusive inplace upgrader timer job failed.

 

Etape 1 – autre log

Un autre log est beaucoup plus utile, au même endroit, il porte le nom upgrade-date-blahblah-error.log:

Exception: The operation cannot be performed on database "WSS_UsageApplication" because it is involved in a database mirroring session or an availability group. Some operations are not allowed on a database that is participating in a database mirroring session or in an availability group.  ALTER DATABASE statement failed

Ou alors en utilisant la commande upgrade-spfarm:

29-03-2014 12-55-19

 

Solution

Supprimer le miroir ou always-on le temps de l’upgrade sur cette base.

 

 

rdp2012_session_profile_disk_800391163

RDP 2012(R2) – session collection – profile disk – 800391163

0

En créant une collection de session sous Windows 2012/2012R2, et en spécifiant un partage pour stocker les profils, vous rencontrez l’erreur 800391163:

rdp2012_session_profile_disk_800391163

Lors de la configuration, un des serveurs RDP va créer le modèle de profil avec sont compte local système:

rdp2012_session_profile_disk_procmon

En détail:

rdp2012_session_profile_disk_procmon2

Bien que vous ayez donné les droits NTFS aux comptes ordinateurs, cela ne passe toujours pas.

Il faut donner « everyone » en « full control » au niveau du partage, « change » ne suffit pas:

rdp2012_session_profile_disk_share

Et voilà une affaire de résolue ^^

event_5586

SharePoint – User profile – ResetSynchronizationDatabase : Operation is not valid due to the current state of the object

0

Problème

En voulant faire un reset de la base de synchronisation UPS de SharePoint, j’ai eu le message d’erreur suivant:

PS C:\> $upa.ResetSynchronizationDatabase()
 Exception calling "ResetSynchronizationDatabase" with "0" argument(s):
 "Operation is not valid due to the current state of the object."
 At line:1 char:1
 + $upa.ResetSynchronizationDatabase()
 + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 + CategoryInfo : NotSpecified: (:) [], MethodInvocationException
 + FullyQualifiedErrorId : InvalidOperationException

Solution

La base est en fait en miroir SQL. Au même moment, dans les journaux du serveur SharePoint:

event_5586

Il faut d’abord supprimer le miroir puis recommencer.

 

 

sql_server_setup_failed_setup_account_privileges

SQL Server 2012 : Setup account privileges failed – HasSecurityBackupAndDebugPrivilegesCheck

0

en voulant déployer SQL Server 2012, j’ai eu l’erreur suivante au setup:

sql_server_setup_failed_setup_account_privileges

 

En cliquant sur failed:

sql_server_setup_failed_HasSecurityBackupAndDebugPrivilegesCheck

 

Solution

Une GPO modifiait les membres de ce privilège et n’incluait pas le compte utilisé pendant l’installation. Il a suffit de l’ajouter pour corriger le problème.

gpo

Spécialiste Microsoft, un avenir sombre ?

0

Cet article fait partie d’une série. Voici le premier !

 

J’imagine que l’actualité Microsoft ne vous aura pas échappée depuis quelques mois, et que Microsoft n’est plus seulement un « éditeur de logiciel ».

Bien que cet article porte particulièrement sur l’offre phare Office 365 de Microsoft, quelques nouvelles inquiétantes :

  • Microsoft soucieux d’apprendre comment Yammer (qui ne fait que du SaaS) fait pour livrer aussi souvent des nouveautés. L’intégration complète avec SharePoint et pour la version office365 pour l’instant.
  • Fin des abonnements Technet. Le « remplacement » proposé est d’utiliser les versions d’évaluations. On a tous le temps de réinstaller toute notre plateforme de test à intervalle régulière, c’est sûr. Sinon y a toujours MSDN, mais l’abonnement est autour de 6000€ pour avoir les mêmes droits. Pétition ici.
  • Windows 8.1/2012R2 est RTM mais n’est accessible qu’aux fabricants de matériels. Exit les Technet (qui l’ont encore), les MSDN et autres. Tout ce beau monde l’aura…en même temps que tout le monde.
  • Doublement du stockage sur Office 365 pour le même prix.
  • Fin des certifications MCM. Microsoft ne reconnaitra plus de « gourous » sur ses produits.

Microsoft a bien saisi les avantages de fournir du SaaS plutôt que de vendre ses solutions. Sauf que ce dernier a toujours reposé sur des partenaires pour compléter leurs offres et promouvoir leurs produits… Et des ingénieurs pour les déployer.

Bien que tout cela mette du temps avant d’impacter les admins/ingénieurs/experts/architectes utilisant fortement les technologies Microsoft, il vaut peut-être mieux anticiper un plan B « au cas où ».

Nagios: Superviser la santé Hyper-V 2012 – BPA & VM

0

Ce plugin Nagios vérifie la santé d’un serveur Hyper-V via un script PowerShell + NRPE (nsclient++):

  • Exécute et récupère le résultat du scan BPA (Best Practice Analyzer)
  • Vérifie que toutes les VM sont en cours d’exécution
  • Vérifie qu’aucune VM n’a un état de fonctionnement autre que normal

Les états avertissements et critiques sont déclenchés par la somme des:

  • Quantité d’alertes BPA
  • Nombre de VM dans un état autre que sain

Certaines VM (modèles…) peuvent être ignorées via un argument

Un nouveau scan BPA est lancé à chaque exécution, mais le résultat n’est récupéré que la fois suivante (async) (prend trop de temps).

Les données de performances suivantes sont fournies:

  • # VM arrêtées,
  • # VM avec problème de santé,
  • # Erreurs BPA
  • # Avertissements BPA

Configuration testée

Linux:

  • Centos 6.4 x64
  • Nagios 3.4.4
  • check_nrpe 2.13
  • Centreon 2.4.2

Windows:

  • Windows Server 2012 (nécessaire pour avoir le module PowerShell Hyper-V)
  • nsclient++ 0.4.1 x64

Arguments du script

  • excludeVM (séparées par des virgules)
  • maxWarn (Avertissement si supérieur) (1 par défaut)
  • maxError (Critique si supérieur) (5 par défaut)

maxWarn et maxCrit doivent être des entiers

Exemples d’utilisation

Exemple en exécution directe PowerShell:

PS C:\Program Files\NSClient++\scripts>. .\lotp_check_hyper-v.ps1
WARNING: 'VM Not Running:'2 'VM issues:'0 BPA Error:1 BPA Warning:12|VM_Not_Running=2 VM_issues=0 BPA_Error=1 BPA_Warning=12
PS C:\Program Files\NSClient++\scripts>

Exécution NRPE:

[root~]# /usr/lib64/nagios/plugins/check_nrpe -H myMonitoredServer -n -c check_hyper-v
WARNING: 'VM Not Running:'2 'VM issues:'0 BPA Error:1 BPA Warning:12|VM_Not_Running=2 VM_issues=0 BPA_Error=1 BPA_Warning=12
[root~]#

Installation:

Sur les Windows:

  • Activer l’exécution de scripts PowerShell non signés : Set-ExecutionPolicy RemoteSigned
  • copier le script dans C:\Program Files\NSClient++\scripts
  • Ajouter dans le fichier nsclient.ini:
    • [/settings/external scripts/wrapped scripts]
      check_hyper-v=lotp_check_hyper-v.ps1 -excludeVM $ARG1$ -maxWarn $ARG2$ -maxError $ARG3$

Configuration:

Par exemple, sur Centreon, en ajoutant la commande:

$USER1$/check_nrpe -H $HOSTADDRESS$ -n -t 60 -c check_hyper-v -a $ARG1$ $ARG2$ $ARG3$

Téléchargement

lotp_check_hyper-v.ps1

Code source en direct:

 

/wp-content/uploads/2013/05/lotp_check_hyper-v.ps1_.txt
# ====================================================================
# Ping a list of targets through NRPE
# Author: Mathieu Chateau - LOTP
# mail: mathieu.chateau@lotp.fr
# version 0.1
# ====================================================================
 
#
# Require Set-ExecutionPolicy RemoteSigned.. or sign this script with your PKI 
#
 
# ============================================================
#
#  Do not change anything behind that line!
#
param 
(
	[string]$targets,
	[int]$maxWarn = 1,
	[int]$maxError = 5
)
 
$output=""
$exitcode=2
$countOK=0
$countKO=0
$targetsArray=@()
$targetsArray=$targets -split(' ')
Remove-Job -Name * -Confirm:$false -Force
foreach($t in $targetsArray)
{
	Start-Job -Name $t -ArgumentList $t -ScriptBlock {param($t);if(Test-Connection -ComputerName $t  -Count 2 -Quiet -ErrorAction SilentlyContinue){return $true}else{return $false}} |Out-Null
}
while(Get-Job -State Running)
{
	Start-Sleep -Milliseconds 500
}
foreach ($job in Get-Job)
{
	$temp=Receive-Job -Name $job.Name
	if($temp)
	{
		$countOK++
	}
	else
	{
		$countKO++
		$output+=$job.Name+" - "
	}
}
if ($countKO -gt $maxError)
{
	$state="CRITICAL"
	$exitcode=2
}
elseif ($countKO -gt $maxWarn)
{
	$state="WARNING"
	$exitcode=1
}
else
{
	$state="OK"
	$exitcode=0
}
 
$output=$state+":"+$countOK+" online"+" - "+$countKO+" offline - "+$output
$output+='|'
$output+="online="+$countOK+";"+$maxWarn+";"+$maxError+";"+" "
$output+="offline="+$countKO+";"+$maxWarn+";"+$maxError+";"
Write-Host $output
exit $exitcode

dcdiag – VerifyEnterpriseReferences – msDFSR-ComputerReferenceBL – Q312862

0

En préparant un plugin nagios sur la santé AD, dcdiag /e /c a eu la bonne idée de remonter cette alerte:

Starting test: VerifyEnterpriseReferences

The following problems were found while verifying various important DN

references. Note, that these problems can be reported because of

latency in replication. So follow up to resolve the following

problems, only if the same problem is reported on all DCs for a given

domain or if the problem persists after replication has had

reasonable time to replicate changes. 

 [1] Problem: Missing Expected Value

Base Object: CN=myDC,OU=Domain Controllers,DC=mydomain,DC=net

Base Object Description: "DC Account Object"

Value Object Attribute Name: msDFSR-ComputerReferenceBL

Value Object Description: "SYSVOL FRS Member Object"

Recommended Action: See Knowledge Base Article: Q312862

 

L’article Q312862 n’est plus vraiment d’actualité, mais le problème sous-jacent est bien réel.

Depuis Windows 2008, la réplication AD est censée se faire via DFS-R et non plus FRS. Cependant, cela implique de n’avoir plus que des DC > Windows Server 2003.

Donc si vos DC sont à jours, il faut utiliser dfsrmig dont les principales commandes sont:

Vérifier l’état global:

PS C:\users\mchateau\Desktop> dfsrmig /GetGlobalState

Current DFSR global state: 'Start'

Succeeded.

Les différents états possibles sont:

0 'Start'
1 'Prepared'
2 'Redirected'
3 'Eliminated'

==>Si vous êtes déjà en DFS-R, l’état est Eliminated.

 

Vérifier l’état de la migration:

PS C:\users\mchateau\Desktop> dfsrmig /GetMigrationState

All domain controllers have migrated successfully to the Global state ('Start').
Migration has reached a consistent state on all domain controllers.
Succeeded.

 

Passer à l’état Prepared:

PS C:\users\mchateau\Desktop> dfsrmig /SetGlobalState 1

Current DFSR global state: 'Start'

New DFSR global state: 'Prepared'

Migration will proceed to 'Prepared' state. DFSR service will copy the contents of SYSVOL to SYSVOL_DFSR folder.
If any domain controller is unable to start migration, try manual polling.
Or run with option /CreateGlobalObjects.
Migration can start anytime between 15 minutes to 1 hour.
Succeeded.

 

Vérifier l’état (en cours):

PS C:\users\mchateau\Desktop> dfsrmig /GetMigrationState

The following domain controllers have not reached Global state ('Prepared'):

Domain Controller (Local Migration State) - DC Type
===================================================

myDC01 ('Start') - Writable DC
myDC02 ('Start') - Writable DC
myDC03 ('Start') - Primary DC
myDC04 ('Start') - Writable DC

Migration has not yet reached a consistent state on all domain controllers.
State information might be stale due to Active Directory Domain Services latency.
PS C:\users\mchateau\Desktop>

 

Il ne reste plus qu’à faire les 2 états suivants tour à tour:

dfsrmig /SetGlobalState 2
dfsrmig /SetGlobalState 3

 

Au final:

PS C:\users\mchateau\Desktop> dfsrmig /GetMigrationState
All domain controllers have migrated successfully to the Global state ('Eliminated').
Migration has reached a consistent state on all domain controllers.
Succeeded.

Nagios: multithreaded multi ping via nrpe

0

L’objectif de ce plugin est tester via ping plusieurs cibles depuis un serveur via nrpe. Ce n’est donc pas le serveur nagios, mais bien un serveur supervisé par celui-ci qui fait le test.

Le plugin est exécuté localement, appelé via NRPE (et donc nsclient++ par exemple).

Etant multi threadé, la vitesse d’exécution est presque constante (1.75s par cible en moyenne).

Configuration testée

Linux:

  • Centos 6.4 x64
  • Nagios 3.4.4
  • check_nrpe 2.13
  • Centreon 2.4.2

Windows:

  • Windows Server 2008 R2 / 2012
  • nsclient++ 0.4.1 x64 et x86
  • Serveurs Core et normaux

Arguments du script

  • targets (séparées par des virgules, obligatoire)
  • maxWarn (Avertissement si le nombre de cible offline est supérieur) (1 par défaut)
  • maxError (Critique si le nombre de cible offline est supérieur) (5 par défaut)

maxWarn et maxCrit doivent être des entiers

Exemples d’utilisation

Exemple en exécution directe PowerShell:

PS C:\Program Files\NSClient++\scripts>. .\lotp_check_multiping.ps1 www.google.com,www.lotp.fr 1 2 
OK:2 online - 0 offline - |online=2;1;2; offline=0;1;2;
PS C:\Program Files\NSClient++\scripts>

Exécution NRPE:

[root~]# /usr/lib64/nagios/plugins/check_nrpe -H myMonitoredServer -n -c check_multiping -a www.google.com,www.lotp.fr 1 2
OK:2 online - 0 offline - |'online'=2;1;2 'offline'=0;1;2
[root~]#

Installation:

Sur les Windows:

  • Activer l’exécution de scripts PowerShell non signés : Set-ExecutionPolicy RemoteSigned
  • copier le script dans C:\Program Files\NSClient++\scripts
  • Ajouter dans le fichier nsclient.ini:
    • [/settings/external scripts/wrapped scripts]
      check_multiping=lotp_check_multiping.ps1 -targets $ARG1$ -maxWarn $ARG2$ -maxError $ARG3$

Configuration:

Par exemple, sur Centreon, en ajoutant la commande:

$USER1$/check_nrpe -H $HOSTADDRESS$ -n -t 60 -c check_multiping -a $ARG1$ $ARG2$ $ARG3$

Téléchargement

lotp_check_multiping.ps1

(enlever le .txt à la fin)

code source en direct:

/wp-content/uploads/2013/05/lotp_check_multiping.ps1_.txt
# ====================================================================
# Ping a list of targets through NRPE
# Author: Mathieu Chateau - LOTP
# mail: mathieu.chateau@lotp.fr
# version 0.1
# ====================================================================
 
#
# Require Set-ExecutionPolicy RemoteSigned.. or sign this script with your PKI 
#
 
# ============================================================
#
#  Do not change anything behind that line!
#
param 
(
	[string]$targets,
	[int]$maxWarn = 1,
	[int]$maxError = 5
)
 
$output=""
$exitcode=2
$countOK=0
$countKO=0
$targetsArray=@()
$targetsArray=$targets -split(' ')
Remove-Job -Name * -Confirm:$false -Force
foreach($t in $targetsArray)
{
	Start-Job -Name $t -ArgumentList $t -ScriptBlock {param($t);if(Test-Connection -ComputerName $t  -Count 2 -Quiet -ErrorAction SilentlyContinue){return $true}else{return $false}} |Out-Null
}
while(Get-Job -State Running)
{
	Start-Sleep -Milliseconds 500
}
foreach ($job in Get-Job)
{
	$temp=Receive-Job -Name $job.Name
	if($temp)
	{
		$countOK++
	}
	else
	{
		$countKO++
		$output+=$job.Name+" - "
	}
}
if ($countKO -gt $maxError)
{
	$state="CRITICAL"
	$exitcode=2
}
elseif ($countKO -gt $maxWarn)
{
	$state="WARNING"
	$exitcode=1
}
else
{
	$state="OK"
	$exitcode=0
}
 
$output=$state+":"+$countOK+" online"+" - "+$countKO+" offline - "+$output
$output+='|'
$output+="online="+$countOK+";"+$maxWarn+";"+$maxError+";"+" "
$output+="offline="+$countKO+";"+$maxWarn+";"+$maxError+";"
Write-Host $output
exit $exitcode
06-05-2013 22-52-21

SharePoint: The local farm is not accessible. Cmdlets with FeatureDependencyId are not registered

0

Top des possibilités:

  • le prompt Powershell n’est pas lancé en mode administrateur (prompt UAC)
  • Vous n’êtes pas administrateur local
  • Vous n’avez pas accès aux bases SQL. Le snapin doit se connecter à la base de configuration de la ferme.

Histoire de ne pas faire le post le plus court de l’année, vous pouvez vérifier avec Process Explorer si vous êtes vraiment administrateur (aka UAC elevated):

  • Deny : vous êtes membres mais UAC vous bloque. Il faut relancer en run as administrator
  • Owner: vous êtes bien administrateur avec UAC elevated. Donc c’est SQL le problème ;)

06-05-2013 22-52-21

06-05-2013 22-53-32

 

Haut de page