Power Tools

59.4.10.4 Common Scripts

Here are listed some of the most common scripts executed on PowerShell:

Write-output [all input variables]
Output all available input variables. This script is useful to view the values of available variables.

Write-Output "`$DestFilename=$DestFilename"
Write-Output "`$Log=$Log"
Write-Output "`$EtereSrcFile0          = `"$EtereSrcFile0`""
Write-Output "`$EtereDstPath0          = `"$EtereDstPath0`""
Write-Output "`$EtereSqlServerInstance = `"$EtereSqlServerInstance`""
Write-Output "`$EtereSqlDatabase       = `"$EtereSqlDatabase`""
Write-Output "`$EtereSqlAuthentication = $EtereSqlAuthentication"
Write-Output "`$EtereSqlLoginName      = `"$EtereSqlLoginName`""
Write-Output "`$EtereSqlLoginPass      = `"$EtereSqlLoginPass`""
Write-Output "`$EtereJobId             = $EtereJobId"
Write-Output "`$EtereJobLogPath        = `"$EtereJobLogPath`""
Write-Output "`$EtereJobLogFilePrefix  = `"$EtereJobLogFilePrefix`""
Write-Output "`$EtereUniqueName        = `"$EtereUniqueName`""
Write-Output "`$EtereAssetId           = $EtereAssetId"
Write-Output "`$EtereAssetNewtype      = `"$EtereAssetNewtype`""
Write-Output "`$EtereAssetCode         = `"$EtereAssetCode`""
Write-Output "`$EtereSrcMetafileId     = $EtereSrcMetafileId"
Write-Output "`$EtereSrcMetafileFileID = `"$EtereSrcMetafileFileID`""
Write-Output "`$EtereSrcCodecId        = $EtereSrcCodecId"
Write-Output "`$EtereSrcFile0          = `"$EtereSrcFile0`""
Write-Output "`$EtereSrcFileList       = `"$EtereSrcFileList`""
Write-Output "`$EtereSrcPath0          = `"$EtereSrcPath0`""
Write-Output "`$EtereSrcPathList       = `"$EtereSrcPathList`""
Write-Output "`$EtereDstMetafileId     = $EtereDstMetafileId"
Write-Output "`$EtereDstCodecId        = $EtereDstCodecId"
Write-Output "`$EtereDstPath0          = `"$EtereDstPath0`""
Write-Output "`$EtereDstPathList       = `"$EtereDstPathList`""

Create connection and SQL query db
Connect to an SQL Server and execute a query to retrieve the code of the asset.

$ConnectionTimeout=5
$QueryTimeout=10
$conn=new-object System.Data.SqlClient.SQLConnection
$ConnectionString = "Server={0};Database={1};Integrated Security=True;Connect Timeout={2}" -f $EtereSqlServerInstance,$EtereSqlDatabase,$ConnectionTimeout
$conn.ConnectionString=$ConnectionString
$conn.Open()
$Query = "select cod_progra from filmati where id_filmati = {0}" -f $EtereAssetId
$Query
$cmd=new-object system.Data.SqlClient.SqlCommand
$cmd.CommandTimeout=$QueryTimeout
$cmd.CommandText=$Query
$cmd.Connection=$conn
$fcode=$cmd.ExecuteScalar()
$conn.Close()
Write-Output $fcode

Access a web service
Connect to a web service and execute a function to request information.

$URI = "http://www.holidaywebservice.com/HolidayService_v2/HolidayService2.asmx"
$proxy = New-WebServiceProxy -Uri $URI -Class holiday -Namespace webservice
$proxy.GetCountriesAvailable()

Copy a file
Copy the source file into the destination device. This script is useful to, for instance, mirror files between two servers (e.g. MTX1 and MTX2), putting a file copied in the first server (MTX1) also in the second one (e.g. MTX2).

Write-Output "`$EtereSrcFile0          = `"$EtereSrcFile0`""
Write-Output "`$EtereDstPath0          = `"$EtereDstPath0`""
$DestFilename = ([io.fileinfo]$EtereSrcFile0).Name
Copy-Item $EtereSrcFile0 $EtereDstPath0
$Log = "Operation performed by poweshell: Copy-Item $EtereSrcFile0 to $EtereDstPath0"
Write-Output "`$DestFilename=$DestFilename"
Write-Output "`$Log=$Log"

For more scripts see chapter: "How to..."
Here is one of the most common scripts executed on SQL Server:

Update asset fields data
Writes into the "season1" property (i.e. note_a field) of the asset a brief text containing a certain variable.

update filmati set NOTE_A = 'Copied file @???' where ID_FILMATI = @EtereAssetId