Powershell 傳參數

#$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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章