#author("2018-10-31T06:15:27+00:00","default:masatomix","masatomix") #author("2019-05-08T01:13:05+00:00","default:masatomix","masatomix") #topicpath ---- #contents ** 外部ファイル化されたリソースへのアクセス [#lfe4e6b9] Console.WriteLine(Properties.Resources.Combine_Description); ** 現在のカルチャを表示 [#g638e30b] Console.WriteLine("CurrentCulture: {0}", Thread.CurrentThread.CurrentCulture.Name); Console.WriteLine("CurrentUICulture: {0}", Thread.CurrentThread.CurrentUICulture.Name); ** Swagger [#w15c099f] [サーバ]/swagger/ui/index#/ ** ロボットログ [#vc0a632a] $ curl 'https://[サーバ名]/odata/RobotLogs' \ --data-urlencode "\$filter=Level eq 'Info' and TimeStamp ge 2018-05-01T00:00:00Z and TimeStamp lt 2018-06-01T00:00:00Z" \ --data-urlencode "\$select=TimeStamp" \ --data-urlencode "\$orderby=TimeStamp asc" \ -H 'Authorization: Bearer xxxxx' \ -k -G などで、範囲指定(2018/5月だけ)かつInfo Levelのロボットログのダウンロードが可能。 項目はTimeStampだけ、TimeStampで昇順でソート。 $filterについては、curlなどから投げるときはエスケープすることを忘れずに、、。 ただし、UTCでしか指定出来ないのか、 Z → +09:00 にするとエラー。。これだと、JSTで五月中だけ、って出来てないなー。 ** カスタムアクティビティの共有。 [#q0cbfcad] Orch経由のはなし。OrchはCommunitiy Edition(2018.3) 2018.3.xのStudioから カスタムアクティビティを参照しているxamlをPublish → 2018.2 ロボ(Orchに接続している) は実行エラー。 → 2018.3 ロボ(Orchに接続している) は実行出来た ←これはもしかしたら、Publishした端末だったからかも? 2018.2.xのStudioから カスタムアクティビティを参照しているxamlをPublish → 2018.2/2018.3 どちらの ロボ(Orchに接続している) も実行エラー。 ただし、2018.2 の端末でnupkgを Orchに配置したところ、どちらも実行OKとなった! Orchにカスタムnupkgを配置するコマンドは dotnet nuget push ActivitiesPathUtils.0.0.13.nupkg -k xx(orch上のAPIKEY) -s https://platform.uipath.com//nuget/activities でOK。 ** 文字列を、UTF-8でバイト列にしてBase64 encodeかける [#c06ea742] またまたC#で。 target = "ほげほげ" Convert.ToBase64String(System.Text.Encoding.GetEncoding("UTF-8").GetBytes(target)) ** Anchor Baseの使い方 [#ff522246] UiPath Academyの レッスン10 - 演習1 に詳細がのってます ** Deserialize Jsonのパッケージ [#q4b91e58] Deserialize Json のアクティビティが入っているパッケージは「UiPath.Web.Activities」 ** URLから、ファイル名を取得する [#l054e18f] C#のメソッドがそのまま利用可能です。 System.IO.Path.GetFileName(url) **余りを求める [#w5bb8f98] ようするに合同式の計算。 「year が4で割ってあまりがゼロかどうか」は year mod 4 = 0 **DataTableの行数 [#uc4d3d98] xxDataTable.Rows.Count ** For each row 中のインデックス番号 [#kded5c6e] For each row が foreach(row in xxxDataTable) みたいな感じの時、 xxxDataTable.Rows.IndexOf(row) (ゼロからはじまる) ** For each 中のインデックス番号 [#daf59c70] For eachが foreach(item in items) みたいな感じの時、 Array.IndexOf(items,item) (ゼロからはじまる) ** Orchestrator ロボ登録 [#l2ec4603] -ロボは同じマシン名だと複数登録するにはWindowsアカウントを変えないとダメ -そしてロボはOUをまたげない。おなじPCを別OUで共有するには、Windowsアカウントを変えないとダメ。 -もしくは、あるWindowsアカウントを複数OUで使用するには、別PCを準備する必要あり。 ** Get Credentialで取得したパスワードを復号化する [#j7eb4736] orch_password = New System.Net.NetworkCredential(String.Empty, orch_cre_password).Password **文字列からJSON [#h353e49a] AB Assignで。 "{""UsernameOrEmailAddress"":""" + orch_user + """,""tenancyName"":"""+tenant_id+""",""Password"":"""+ orch_password +"""}" いやクオート多すぎでしょorz このあとDeserialize jsonをつかう。。 クオート多すぎ文字列をどうにかするには、Dictionaryを使う。 Dictionaryで、 tenancyName -> tenant_id UsernameOrEmailAddress -> orch_user Password -> orch_password を作成。 AB Asignで、 json = Newtonsoft.Json.JsonConvert.SerializeObject(jsonDic) ** organization units を設定したとき [#c37624bf] APIを呼ぶときヘッダに X-UIPATH-OrganizationUnitId: 1 などをつける必要があるらしい。 [[Building API Requests>https://orchestrator.uipath.com/reference#building-api-requests]] If you have organization units enabled in your Orchestrator instance, please note that you need to include the OU Id in each request, as a header. For example, X-UIPATH-OrganizationUnitId "6". つけりゃ取れることは確認したが、そのユーザが複数に属している場合とか、どーすんだろう、、、。そのユーザがもってるOU全部の情報、じゃダメだったんだろうか。 ** Get Environment Variable Activityの引き数一覧 [#c70e82a9] https://activities.uipath.com/docs/get-environment-variable このアクティビティに渡せるキー値一覧は https://msdn.microsoft.com/en-us/library/system.environment(v=vs.110).aspx コレだそう。わかるかっ。 これで、Windows OSのマシン名、アカウント名、ドメイン名などがとれる事を確認済み。 ** .NET Frameworkのダウンロード [#w68a1d12] [[開発者向けの .NET Framework のインストール | Microsoft Docs>https://docs.microsoft.com/ja-jp/dotnet/framework/install/guide-for-developers]] https://orchestrator.uipath.com/docs/software-requirements にもあるとおり、.NETのバージョンは4.5.2以上だから気をつけてね! Windows Server 2012 R2 の.NETは4.5.1というワナorz **メモ [#k02274d1] Windowsって、IEで自己署名証明書をダウンロードしようとするとき、デフォルトではドット付きのURLだとインストールできない?? 表示されるエラーは お使いの PC はこの Web サイトのセキュリティ証明書を信頼しません。 Web サイトのセキュリティ証明書のホスト名が、参照しようとしている Web サイトと異なります。 エラー コード: DLG_FLAGS_INVALID_CA DLG_FLAGS_SEC_CERT_CN_INVALID Win + R -> certmgr.msc で、証明書編集ツールが起動。 mmc.exeに近いツールっぽいな **Microsoft Management Console について [#j210ac5f] Win + R -> mmc.exe 起動 - mmc.exe でローカルコンピュータ接続した場合 - certmgr.mscで表示した場合でcertmgr.msc 側は、「ローカルコンピュータ」と「現在のユーザ」ぶんが両方表示されて、 mmc.exe 側は「ローカルコンピュータ」ぶんだけが表示されるようです。 mmc.exe は最初のオペで「ローカルコンピュータ」と「現在のユーザ」 どっちモードで起動するかが選べて、「現在のユーザ」をえらぶとcertmgr.msc とおなじ表示もできるなど。。 mmc.exe のほうが便利かな。。 いちおう、mmcでつないでローカルコンピュータに接続。 IISの自己署名証明書(*.cer) を信頼できるCAとしてインポートすれば、Orchでいい感じ。。 ---- この記事は #vote(おもしろかった,そうでもない) #comment #topicpath SIZE(10){現在のアクセス:&counter;}