PCだい「ちゅき」

気がつけば庶事手伝い

目次

Blog 利用状況

ニュース

・H24/01/02
 Microsoft MVPを受賞しました
・H23/11/18
 MCTの憂鬱さんと相互リンクを張っていただきました^^
・H23/09/10
 プログラミング生放送でスピーカーさせていただきました^^ ・H22/12/18
 わんくま同盟でスピーカしました^^
さて、来年はどんな年になるかな。予想が当たるといいなぁ。
・H22/07/17
 わんくま同盟でスピーカしました^^
技術系のセッションは久しぶり。VB! VB!
・H22/03/13
 Tech FieldersでLTのスピーカしました^^
・H21/12/12
 わんくま同盟でスピーカしました^^
最近はずっとLT担当だったので、ちょっと新鮮でした^^
・H20/11/18
 Tech Fielders セミナー 大阪の
 Lightning Talkで優勝しました^^
・H20/8/23
 わんくま同盟で2回目のスピーカしちゃいました
 WCFと戯れてみました^^
・H20/5/17
 わんくま同盟でスピーカしちゃいました^^
 ちゃんとスピーカー持参しましたよんw
・H20/2/22
 なめ猫の参加証もらいました^^
・H20/1/22
 テンプレートを変えてみました^^
・H19/7/23
 ACEプログラムで、ナップサックをもらった上、工具セットももらえることになりました^^
・H19/1/11
 1が並ぶ縁起の良い日に投稿開始!。今後ともお付き合いよろしくお願いします
・H18/10/29
 参加させていただきました^^
ド・初心者ですがどうぞよろしくお願いします。

↓うーん、仕事しろ^^;
Chukiの脳内メーター

Chukiの脳内メーター

書庫

日記カテゴリ

ギャラリ

コミュニティ

相互リンク

Windows OSとか Active Directoryのセキュリティーグループに所属するかを確認したい!

ここ最近、UiPathでイロイロ遊んでます。そこでUiPath (ja) Advent Calendar 2018に参加してみました。第二弾!

結論!

セキュリティー担保したいなら、Orchestrator買え。以上。


はじめに

UiPathを軽くみんなでお安く使用しようとすると、Node-Lockedライセンスという共有端末をみんなで使うライセンス形態があります。しかし!、この場合、どのユーザーでログインしても、端末に入っているすべてのロボットが見えてしまいます。つまり申請系と承認系のロボットが起動できてしまうという、監査人大喜びのツッコミどころができてしまいます。

そこで、ユーザーがActive DirectoryなりWindows OSのセキュリティーグループに所属しているかを確認するプログラムを作ってみます。

Active Directoryでは、グループの中にグループを突っ込めたりするので、単にグループのメンバーの一覧取得だと、ガッつり再帰かけないといけないので面倒すぎます。この時IADsGroupクラスのIsMember を使うのがいつものパターンです。

ではやってみる。

image

↑OrchestratorなしのNode Lockedライセンスだと、すべてのロボットがどのユーザーにログインしても見えて実行が可能

Orchestratorなしで頑張ってみる

まずは、参照の追加。DirectoryEntryは System.DirectoryServicesの参照を追加して…あれ?IADsGroupはCOMだけどどうやって参照するんだ?

image

XAMLで追加するのはあくまでclr-namespaceなので、きっぱりあきらめる。
ここで登場するのは、「カスタムアクティビティ

自分でもサクっとアクティビティを作れてしまうのがUiPathのいいところ。だって、まんまWFなんだもの。

■作業

1、プログラムを作成

2、パッケージを作成

3、UiPathに読込

4、使ってみる


1、プログラムを作成

新しい.クラスライブラリ(NET Framework)のプロジェクトを作って次の4つを参照追加

.NET
・System.Activities
・System.ComponentModel.Composition
・System.DirectoryServices
COM

・Active DS Type Library

(コードは最後に入れてます)


2、パッケージを作成

詳しい作成方法は、「カスタムアクティビティ」をごらんあれ

image

3、UiPathに読込

「パッケージを管理」から設定を押して、作成したパッケージの場所を追加してください。詳しくは(以下略
Activitiesペインに表示されるようになります

imageimageimage


4、使ってみる

ローカルコンピューターのAdministratorsグループにいるかを確認

TargetGroup:”Administrators”
TargetService:System.Environment.MachineName

image

image

成功!!!

こんなもん作ってメンテナンスするくらいなら、Orchestrator買いましょう^^;

以下、コード

Imports System.Activities
Imports System.ComponentModel
Imports System.DirectoryServices
Imports ActiveDs

Public Class IsGroupMember
     Inherits CodeActivity

    <Description("Domain | Domain\ComputerName | ComputerName")>
     <Category("Input")>
     <RequiredArgument>
     Public Property TargetService As InArgument(Of String)

    <Description("対象のグループ名")>
     <Category("Input")>
     <RequiredArgument>
     Public Property TargetGroupName As InArgument(Of String)

    <Description("結果")>
     <Category("Output")>
     <RequiredArgument>
     Public Property Result As OutArgument(Of Boolean)
     Protected Overrides Sub Execute(context As CodeActivityContext)
         Dim comInfo As DirectoryEntry = New DirectoryEntry("WinNT://" + TargetService.Get(context))
         Dim theGroup As DirectoryEntry = comInfo.Children.Find(TargetGroupName.Get(context), "group")
         Dim localgroup As IADsGroup = CType(theGroup.NativeObject, IADsGroup)
         Dim currentUser As String = "WinNT://" + System.Environment.UserDomainName + "/" + System.Environment.UserName

        Result.Set(context, localgroup.IsMember(currentUser))
     End Sub
End Class

投稿日時 : 2018年12月19日 21:00

Feedback

# Great post, thank for sharing 2019/01/03 12:56 Thomas

https://123gamesfree.com/tube-master/

# Excellent blog you've got here.. It's difficult to find high-quality writing like yours these days. I seriously appreciate people like you! Take care!! 2019/10/24 7:01 Excellent blog you've got here.. It's difficult to

Excellent blog you've got here.. It's difficult to find high-quality writing like
yours these days. I seriously appreciate people like
you! Take care!!

# Thanks for another informative website. Where else may I get that type of information written in such ann ideal means? I've a venture that I am just now running on, and I have been on the look outt for such information. 2019/10/27 8:50 Thanks for another informative website. Where els

Thanks for another informative website. Where else may I get thatt type of inforemation written in such an iideal means?
I've a venture that I am just now running on, and I have been on the look out for such information.

# Hey there, You've done an excellent job. I'll definitely digg it and personally suggest to my friends. I'm sure they will be benefited from this site. 2019/11/06 4:03 Hey there, You've done an excellent job. I'll def

Hey there, You've done an excellent job. I'll definitely digg it and personally suggest to my friends.

I'm sure they will be benefited from this site.

# Hey there, You've done an excellent job. I'll definitely digg it and personally suggest to my friends. I'm sure they will be benefited from this site. 2019/11/06 4:05 Hey there, You've done an excellent job. I'll def

Hey there, You've done an excellent job. I'll definitely digg it and personally suggest to my friends.

I'm sure they will be benefited from this site.

# Hey there, You've done an excellent job. I'll definitely digg it and personally suggest to my friends. I'm sure they will be benefited from this site. 2019/11/06 4:07 Hey there, You've done an excellent job. I'll def

Hey there, You've done an excellent job. I'll definitely digg it and personally suggest to my friends.

I'm sure they will be benefited from this site.

# Hey there, You've done an excellent job. I'll definitely digg it and personally suggest to my friends. I'm sure they will be benefited from this site. 2019/11/06 4:09 Hey there, You've done an excellent job. I'll def

Hey there, You've done an excellent job. I'll definitely digg it and personally suggest to my friends.

I'm sure they will be benefited from this site.

# Good blog! I really love how it is simple on my eyes and the data are well written. I am wondering how I might be notified when a new post has been made. I've subscribed to your RSS feed which must do the trick! Have a great day! 2019/11/14 6:59 Good blog! I really love how it is simple on my ey

Good blog! I really love how it is simple on my eyes
and the data are well written. I am wondering how I might be notified when a new post
has been made. I've subscribed to your RSS feed which must do the trick!
Have a great day!

# If you would like to improve your knowledge simply keep visiting this web page and be updated with the newest gossip posted here. 2019/11/18 9:21 If you would like to improve your knowledge simply

If you would like to improve your knowledge simply keep visiting this web
page and be updated with the newest gossip posted here.

タイトル  
名前  
Url
コメント