#$server = $args[0]
#$name = $args[1]
#$password = $args[2]
$Day = Get-Date
$Day = $Day.ToString('yyyyMMddHHmmss')
$server = "192.168.100.100"
$name = "cycle"
$password = "cycle"
$artifactDIR = "bin"
$appPoolName = "SelfFundingKeyUserAPI"
$ArtifactDirSrc = ".\Back\1.UserInterface\SelfFunding.BaseSystem.API\bin"
$websitePath = "C:\Applications\KeyUser\API"
#Write-Host ready to deploy to: $server under folder: $websitePath
$pass = ConvertTo-SecureString -String $password -AsPlainText -Force
$cre = New-Object pscredential($name, $pass)
$session = New-PSSession -ComputerName $server -Credential $cre
# stop app pool
Write-Host [begin] stop app pool
Invoke-Command -Session $session -Scriptblock{
Stop-WebAppPool $args[0]
} -argumentlist $appPoolName
Write-Host [end] stop app pool
#Bakcup last version by Move-Item
Write-Host [begin] Bakcup Last Version
Invoke-Command -Session $session -Scriptblock{
param($websitePath,$artifactDIR,$Day)
cd $websitePath
Move-Item $artifactDIR Backup\Version-$Day
} -argumentlist $websitePath,$artifactDIR,$Day
Write-Host [end] Bakcup Last Version
# backup artifact by Copy-Item
Write-Host [begin] backup Artifact from $destinationPath to $backupPath\$filename-$Day
Invoke-Command -Session $session -Scriptblock{
param($destinationPath,$backupPath,$filename,$Day)
Copy-Item -Path $destinationPath -Destination $backupPath\$filename-$Day -Recurse
} -ArgumentList $destinationPath,$backupPath,$filename,$Day
Write-Host [end] backup Artifact
# copy artifact
Write-Host [begin] copy artifact
cp $ArtifactDirSrc -Destination $websitePath -ToSession $session -Recurse -Force
Write-Host [end] copy artifact
# start app pool
Write-Host [begin] start app pool
Invoke-Command -Session $session -Scriptblock{
Start-WebAppPool $args[0]
} -argumentlist $appPoolName
Write-Host [end] start app pool
Remove-PSSession $session
Powershell 傳參數
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.