FileMaker Server を監視して停止していたら起動する。
OS:Windows
タスク スケジューラ 設定
名前:サービスを監視|FileMaker Server
powershell -Command "$SN='FileMaker Server';$S=Get-Service -Name $SN;$S.Status;if($S.Status -eq 'Stopped'){Start-Service -Name $SN -PassThru;}"
2018年4月13日金曜日
2018年3月8日木曜日
PowerShellでメールを受信|Receive email with PowerShell,OpenPop.NET
<#
OpenPOP.NET code repository http://hpop.sourceforge.net/
OpenPop.NET 日本語情報トップページ - OSDN : https://ja.osdn.net/projects/sfnet_hpop/
#>
Add-Type -Path "C:\OpenPop.NET 2.0.5\binaries\unsigned\OpenPop.dll" ;
$hostname="POP_Server";
$port=110;
$useSsl=$False;
$username="POP_Account";
$password="POP_Password";
$client = New-Object OpenPop.Pop3.Pop3Client
$client.Connect($hostname, $port, $useSsl);
$client.Authenticate($username, $password);
$messageCount = $client.GetMessageCount();
#$client.GetMessageUids();
$Message=$client.GetMessage(1);
$textVersions=$Message.FindAllTextVersions();
$TEXT= New-Object System.Text.StringBuilder;
$HTML= New-Object System.Text.StringBuilder;
foreach ($textVersion in $textVersions)
{
$MediaType=$textVersion.ContentType.MediaType;
$IsAttachment=$textVersion.IsAttachment;
IF($MediaType -eq "text/plain" -And $IsAttachment -eq $False ){
$TEXT.Append($textVersion.GetBodyAsText())| Out-Null;
}elseif($MediaType -eq "text/html" -And $IsAttachment -eq $False){
$HTML.Append($textVersion.GetBodyAsText())| Out-Null;
}
}
$PATH_LIST= New-Object System.Collections.ArrayList;
$attachments=$Message.FindAllAttachments();
foreach ($attachment in $attachments)
{
$PATH="C:\Users\USER\Desktop\attachment\" + $attachment.FileName;
$attachment.Save($PATH);
$PATH_LIST.Add($PATH)| Out-Null;
}
$Message.Headers.Subject;
$Message.Headers.From.Address;
$Message.Headers.From.DisplayName;
$Message.Headers.To.Address;
$Message.Headers.To.DisplayName;
$Message.Headers.Date;
$Message.Headers.DateSent;
$TEXT.ToString();
$HTML.ToString();
$PATH_LIST;
OpenPOP.NET code repository http://hpop.sourceforge.net/
OpenPop.NET 日本語情報トップページ - OSDN : https://ja.osdn.net/projects/sfnet_hpop/
#>
Add-Type -Path "C:\OpenPop.NET 2.0.5\binaries\unsigned\OpenPop.dll" ;
$hostname="POP_Server";
$port=110;
$useSsl=$False;
$username="POP_Account";
$password="POP_Password";
$client = New-Object OpenPop.Pop3.Pop3Client
$client.Connect($hostname, $port, $useSsl);
$client.Authenticate($username, $password);
$messageCount = $client.GetMessageCount();
#$client.GetMessageUids();
$Message=$client.GetMessage(1);
$textVersions=$Message.FindAllTextVersions();
$TEXT= New-Object System.Text.StringBuilder;
$HTML= New-Object System.Text.StringBuilder;
foreach ($textVersion in $textVersions)
{
$MediaType=$textVersion.ContentType.MediaType;
$IsAttachment=$textVersion.IsAttachment;
IF($MediaType -eq "text/plain" -And $IsAttachment -eq $False ){
$TEXT.Append($textVersion.GetBodyAsText())| Out-Null;
}elseif($MediaType -eq "text/html" -And $IsAttachment -eq $False){
$HTML.Append($textVersion.GetBodyAsText())| Out-Null;
}
}
$PATH_LIST= New-Object System.Collections.ArrayList;
$attachments=$Message.FindAllAttachments();
foreach ($attachment in $attachments)
{
$PATH="C:\Users\USER\Desktop\attachment\" + $attachment.FileName;
$attachment.Save($PATH);
$PATH_LIST.Add($PATH)| Out-Null;
}
$Message.Headers.Subject;
$Message.Headers.From.Address;
$Message.Headers.From.DisplayName;
$Message.Headers.To.Address;
$Message.Headers.To.DisplayName;
$Message.Headers.Date;
$Message.Headers.DateSent;
$TEXT.ToString();
$HTML.ToString();
$PATH_LIST;
2018年2月17日土曜日
FileMaker Go や FileMaker Server 上のスクリプトのデバッグ。|Debugging scripts on FileMaker Go and FileMaker Server.
FileMaker Go や FileMaker Server 上のスクリプトのデバッグって中々困難です。
以下の方法を使えば、FileMaker Go や FileMaker Server 上で動作しているスクリプトを一時停止し、その時のフィールドや変数の値をPC上で確認することが出来ます。
動作検証
FileMaker Go 16
Windows 10
スクリプト 例:
変数を設定 [$n; 値:1]
Loop
Exit Loop If [$n>10]
/*何らかの処理*/
変数を設定 [$n; 値:$n+1]
End Loop
デバッグ用ファイル。
以下の方法を使えば、FileMaker Go や FileMaker Server 上で動作しているスクリプトを一時停止し、その時のフィールドや変数の値をPC上で確認することが出来ます。
動作検証
FileMaker Go 16
Windows 10
スクリプト 例:
変数を設定 [$n; 値:1]
Loop
Exit Loop If [$n>10]
/*何らかの処理*/
変数を設定 [$n; 値:$n+1]
End Loop
上記例の「/*何らかの処理*/」の所で一時停止し、変数 $n の値をPCで確認する事ができます。
スクリプトを実行すると、FileMaker Go のスクリプトが一時停止状態となり、
PC上で、変数 $n の値が確認出来ます。
[はい(Y)]をクリックすると、FileMaker Go のスクリプトが再開されます。
それでは、デバッグするための準備をしていきましょう。
この処理を行うには、
ダウンロードし、展開した「ProcessMakerTL.exe 」を任意の場所に保存。
例では、C:ドライブとします。
Windowsの「ファイル名を指定して実行」(Windowsキー + R)で以下のようにして「ProcessMakerTL.exe」を起動します。
"C:\ProcessMakerTL.exe" "address=*" "port=8081"
「ProcessMakerTL.exe」が起動します。
「ProcessMakerTL.exe」が起動しない場合は、ProcessMakerTL.exe のファイルプロパティーを確認し、ブロックされている場合は、[ブロックの解除]をおこなって下さい。
「Windowsファイヤーウォールを介したアプリまたは機能を許可」に「ProcessMakerTL.exe」を追加して下さい。
※その他、セキュリティーソフトで通信を止められる場合があります。
セキュリティーソフトで「ProcessMakerTL.exe」の通信を許可して下さい。
デバッグ用ファイル。
FMDebugger.fmp12 : https://sites.google.com/site/processmakertl/example/debugging-scripts-on-filemaker-go-and-filemaker-server
デバッグしたいスクリプト
スクリプト 例:
変数を設定 [$n; 値:1]
Loop
Exit Loop If [$n>10]
/*何らかの処理*/
変数を設定 [$n; 値:$n+1]
End Loop
に
太字部分を追加。
変数を設定 [$n; 値:1]
Loop
Exit Loop If [$n>10]
フィールド設定 [FMDebuggerTEST::Value; $n]
ウインドウ内容の再表示 []
スクリプト実行 [「fmDebugger(arg)」 , ファイル: 「FMDebugger」; 引数:
"$CAPTION=" & Quote ( Get ( スクリプト名 ) ) &
";$TEXT=" & Quote ( "$n=" & $n & ¶ & Get ( アプリケーションバージョン ) )
]
変数を設定 [$Result; 値:Get(スクリプトの結果)]
If [ not IsEmpty ( FilterValues ( $Result ; "No" ) )]
全スクリプト終了
End If
変数を設定 [$n; 値:$n+1]
End Loop
デバッグしたいスクリプト
スクリプト 例:
変数を設定 [$n; 値:1]
Loop
Exit Loop If [$n>10]
/*何らかの処理*/
変数を設定 [$n; 値:$n+1]
End Loop
に
太字部分を追加。
変数を設定 [$n; 値:1]
Loop
Exit Loop If [$n>10]
フィールド設定 [FMDebuggerTEST::Value; $n]
ウインドウ内容の再表示 []
スクリプト実行 [「fmDebugger(arg)」 , ファイル: 「FMDebugger」; 引数:
"$CAPTION=" & Quote ( Get ( スクリプト名 ) ) &
";$TEXT=" & Quote ( "$n=" & $n & ¶ & Get ( アプリケーションバージョン ) )
]
変数を設定 [$Result; 値:Get(スクリプトの結果)]
If [ not IsEmpty ( FilterValues ( $Result ; "No" ) )]
全スクリプト終了
End If
変数を設定 [$n; 値:$n+1]
End Loop
登録:
投稿 (Atom)