Job-Powershell pour SharePoint
Bonjour,
je cherche actuellement à écrire un script powershell qui exécute une requête SQL sur un serveur SQL-Server pour faire le backup des fichiers de log d'une ferme SharePoint.
Je vous mets en copie le script complet :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| C:\Program` Files\Common` Files\Microsoft` Shared\Web` Server` Extensions\14\CONFIG\POWERSHELL\Registration\\sharepoint.ps1 2>$null
Get-SPDatabase | foreach {
$cmd1 = "DECLARE @time varchar(2)
DECLARE @name varchar(256)
DECLARE @dbname varchar(256)
SET @dbname = '"
$cmd2 = $_.name
$cmd3 ="'
SET @time = replace(convert(varchar, getdate(), 108), ':', '.')
SET @name = 'E:\Backup\H'+@time+'_'+@dbname+'_log'
BACKUP LOG @dbname
TO DISK = @name
"
sqlcmd -s localhost -Q "$cmd1$cmd2$cmd3"
} |
Au début je n'avais que sqlcmd -s localhost -Q "la requête" et faisait '$($_.name)' dans la requête (au niveau de cmd2). Ce qui marchait bien en ISE et invite de commande, mais retournait une erreur de nom sur SQL-Server.
Le script tourne très bien sur PS ISE, tout aussi bien sur PS.
MAIS, quand il tourne en job sur SQL-Server, il me dit que Get-SPDatabase n'est pas reconnu...
Et j'avoue ne pas du tout comprendre pourquoi alors que le script tourne très bien sur un invite PS standard.