[System. reflection. Assembly]: loadwithpartialname ("Microsoft. analysisservices ");
$ Asconnectionstring = "Data Source = Lewis-server; initial catalog = capitaldw; provider = msolap; impersonation level = impersonate ";
$ Asserver = new-object Microsoft. analysisservices. server;
$ Asserver. Connect ($ asconnectionstring );
# Get-Content Variable: asconnectionstring
# Get-Content Variable: asserver
$ Databasename = "capitaldw"
$ Databaseid = $ asserver. Databases. findbyname ($ databasename). tostring ();
# Get-Content Variable: databaseid;
Write-host "databaseid: $ databaseid ";
# Cube
$ Dbname = $ asserver. Databases [$ databaseid];
# Get-Content Variable: dbname
Foreach ($ cube in $ dbname. cubes)
{
# Get-childitem variable: Cube;
Write-host "cube name: $ ($ cube. Name )"
Foreach ($ measuregroup in $ cube. measuregroups ){
Write-host "measuregroup name: $ ($ measuregroup. Name )"
Foreach ($ partition in $ measuregroup. partitions ){
Write-host "partition name: $ ($ partition. Name )"
}
Foreach ($ measuregroupdimenion in $ measuregroup. dimensions)
{
Write-host "measuregroupdimension: $ ($ measuregroupdimension. Name )"
}
}
Foreach ($ cubedimenion in $ cube. dimensions)
{
Write-host "cubedimension: $ ($ cubedimension. Name )";
}
}
Foreach ($ dimension in $ dbname. dimensions)
{
Write-host "dimensions: $ ($ dimension. Name )"
}
Write-host "dimension processing ..."
Foreach ($ dimension in $ dbname. dimensions)
{
Write-host "dimension processing now: $ ($ dimension. Name )"
$ Dimension. Process ("processfull ");
}
Write-host "cube processing ..."
Foreach ($ cube in $ dbname. cubes)
{
Write-host "cube processing now: $ ($ cube. Name )"
$ Cube. Process ("processfull ");
}