-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathUpdateDataSource.ps1
More file actions
52 lines (34 loc) · 1.96 KB
/
Copy pathUpdateDataSource.ps1
File metadata and controls
52 lines (34 loc) · 1.96 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
$UrlReporting = $env:UrlReporting;
$RutaProyectos =$env:RutaBase;
#Obtenemos todos los proyectos
$Proyectos = Get-ChildItem -Path $env:LocalReportsPath -Name;
#Se recorren proyectos
Foreach ($Proyecto in $Proyectos) {
Write-Output "Update del datasource del proyecto: $Proyecto " ;
$ProyectoCurso = $env:LocalReportsPath + $Proyecto;
$CarpetasProyectos = Get-ChildItem -Path $ProyectoCurso -Name;
Foreach ($CarpetasProyecto in $CarpetasProyectos) {
$PathCarpetas = $ProyectoCurso + "\" + $CarpetasProyecto;
switch ($CarpetasProyecto) {
'Data Sources' {
$DataSources = Get-ChildItem -Path $PathCarpetas -Name;
Foreach ($DataSource in $DataSources) {
Write-Output "Ruta del data source $PathCarpetas\$DataSource";
$nombreDataSourcePorProyecto = [System.IO.Path]::GetFileNameWithoutExtension("$PathCarpetas\$DataSource")
Write-Output "Nombre del data source: $nombreDataSourcePorProyecto ";
$rutaCompletaDataSource = "$RutaProyectos/$Proyecto/Data Sources/$nombreDataSourcePorProyecto"
$ssrsproxy = New-RsWebServiceProxy -ReportServerUri $UrlReporting;
$proxyNameSpace = $ssrsproxy.gettype().Namespace;
$datasourceDef = New-Object("$proxyNameSpace.DataSourceDefinition");
$datasourceDef.CredentialRetrieval = 'STORE';
$datasourceDef.Extension = 'SQL';
$datasourceDef.ConnectString = $env:SqlCadena;
$datasourceDef.username = $env:SqlUsuario;
$datasourceDef.password = '$(SqlContrasenia)'
Set-RsDataSource -ReportServerUri $UrlReporting -RsItem $rutaCompletaDataSource -DataSourceDefinition $datasourceDef;
}
}
}
}
}
Write-Output "Se termina deploy general";