顯示具有 PowerShell 標籤的文章。 顯示所有文章
顯示具有 PowerShell 標籤的文章。 顯示所有文章

2011年5月17日 星期二

使用powershell動態產生參數並執行ssis指令

每天晚上都要使用sql agent執行ssis,因為有時間參數的,所以指令是動態的,產生指令後,再使用invoke-expression去執行產生的指令即可。
程式碼如下:
$date = get-date
$yyyyMM = '{0:yyyyMM}' -f $date
$yyyy = '{0:yyyy}' -f $date
$startdate=$yyyy +"01"
$enddate=$yyyyMM
$ssiscmd="dtexec /f """+"C:\Documents and Settings\Administrator\桌面\SSIS\SRQASSIS\SRQASSIS\MasterPackage.dtsx"+""" "+"""/SET \package.Variables[ProjectCode].Value;testproject"" "+"""/SET \package.Variables[SSYMFrom].Value;"+$startdate+""" "+"""/SET \package.Variables[SSYMTo].Value;"+$enddate+""""
invoke-expression $ssiscmd

PowerShell時間格式(yyyyMMdd)

因每天晚上要固定執行ssis,輸入的參數時間格式為 yyyyMMdd,所以try了一下如何改變時間的格式。
發現意外的簡單,程式如下:
$date = get-date
$yyyy = '{0:yyyy}' -f $date
$yyyyMM = '{0:yyyyMM}' -f $date
$yyyyMMdd = '{0:yyyyMMdd}' -f $date
$yyyy
$yyyyMM
$yyyyMMdd

2011年4月10日 星期日

AMO學習-使用PowerShell去讀取Partition的資訊

#載入組件
[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.AnalysisServices")
#新增一個AnalysisServices的server物件
$server = New-Object Microsoft.AnalysisServices.Server
#連到instance
$server.connect("WINXP")
#找出名稱為QACube的database
$database=$server.databases["QACube"]
#找出名稱為QACube的Cube
$cube=$database.cubes["QACube"]
#找出名稱為Fact RYO的measuregroup
$measuregroup=$cube.measuregroups["Fact RYO"]
#找出名稱為Fact RYO的measuregroup
$partition=$measuregroup.partitions
#select所有partition的name,LastProcessed,DataSource,StorageMode
$partition|select-object name,LastProcessed,DataSource,StorageMode

2011年3月30日 星期三

AMO學習-使用POWERSHELL去讀取所有AnalysisServices的資訊

由於也有練習POWERSHELL,之前又在網路上看到有人利用POWERSHELL去執行AMO,
於是臨機一動,乾脆以後都用POWERSHELL去呼叫AMO好了,如此一次兩得。


#載入組件
[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.AnalysisServices")
#新增一個AnalysisServices的server物件
$server = New-Object Microsoft.AnalysisServices.Server
#連到instance
$server.connect("RYO2009")
#把所有的databases傳入參數$database
$database=$server.databases
#select database的name屬性
$database|select-object name



#載入組件
[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.AnalysisServices")
#新增一個AnalysisServices的server物件
$server = New-Object Microsoft.AnalysisServices.Server
#連到instance
$server.connect("RYO2009")
#選擇資料庫
$advdb=$database["Adventure Works DW"]
#新增一個Dimension物件
$dimensions=New-object Microsoft.AnalysisServices.Dimension
#把所有的dimension傳入參數$dimensions
$dimensions=$advdb.dimensions
#select dimensions的name,state,lastprocessed屬性
$dimensions|select name,state,lastprocessed



2011年3月29日 星期二

PowerShell連結

之前在網路上看到微軟很推PowerShell,於是上網找了一下資料,找到一個不錯的教學網站,上面講的簡潔易懂,蠻適合初學者學。

powershell教學連結