簡體   English   中英

如何獲取已連接的Vault工作組用戶的列表

[英]How to get a list of the connected vault workgroup users

我到處搜索,找不到所需的答案。 因此,感謝所有幫助。

在Autodesk的Vault工作組中,存在使用Vault工作組的用戶划分的許可證。 但是,當所有許可證都使用完畢后,很難知道誰仍在登錄,並且當前沒有使用該庫。

因此,要解決此問題,我想編寫一個程序,該程序提供了已連接用戶的列表。 到目前為止,我找到了一些代碼來向我顯示Vault工作組中的所有用戶,但是該信息無用,因為我知道所有用戶帳戶。 我只需要當前連接的用戶。

到目前為止我得到的代碼:

public partial class MainWindow : Window
{
    public MainWindow()
    {
        InitializeComponent();
    }

    private void PrintUsers(object sender, RoutedEventArgs e)
    {
        MyVault.AdminSample.PrintUserInfo();
    }
}

class MyVaultServiceManager : System.IDisposable
{
    // We will incapsulate the WebServiceManager here.
    // The WebServiceManager will be used for our Vault server calls.
    private WebServiceManager _svcManager = null;
    public WebServiceManager Services
    { get { return _svcManager; } }

    public enum Mode { ReadOnly, ReadWrite };

    // Preventing usage of the default constructor - made it private
    private MyVaultServiceManager() { }

    // Constructor.
    // Parameter: - Log in as read-only, which doesn't consume 
    //              a license.
    //===============================================================
    public MyVaultServiceManager(Mode i_ReadWriteMode)
    {
        UserPasswordCredentials login = new UserPasswordCredentials(
                             "localhost", "Vault", "Administrator", "",
                             (i_ReadWriteMode == Mode.ReadOnly));
        // Yeah, we shouldn't hardcode the credentials here,
        // but this is just a sample
        _svcManager = new WebServiceManager(login);
    }


    void System.IDisposable.Dispose()
    {
        _svcManager.Dispose();
    }
}

class AdminSample
{
    // Lists all the users along with their roles and the vaults they 
    //   have access to.
    //===============================================================
    public static void PrintUserInfo()
    {
        try
        {
            using (MyVaultServiceManager mgr = new MyVaultServiceManager(
                                    MyVaultServiceManager.Mode.ReadOnly))
            {
                // The GetAllUsers method provides all the users' info
                //-----------------------------------------------------
                User[] users = mgr.Services.AdminService.GetAllUsers();

                TextWriter tmp = Console.Out;
                FileStream filestream = new FileStream("Vault_Users.txt", FileMode.Create);
                var streamwriter = new StreamWriter(filestream);
                streamwriter.AutoFlush = true;
                Console.SetOut(streamwriter);

                foreach (User user in users)
                {
                    UserInfo userInfo = mgr.Services.AdminService.GetUserInfoByUserId(user.Id);

                    Console.WriteLine(user.Name);

                    if (userInfo.Roles != null && userInfo.Roles.Length > 0)
                    {
                        Console.WriteLine("   Roles:");
                        foreach (Role role in userInfo.Roles)
                        {
                            Console.WriteLine("     ID: " + role.Id + " | Name: " + role.Name);
                        }
                    }

                    if (userInfo.Vaults != null && userInfo.Vaults.Length > 0)
                    {
                        Console.WriteLine("   Vaults:");
                        foreach (KnowledgeVault vault in userInfo.Vaults)
                        {
                            Console.WriteLine("     ID: " + vault.Id + " | Name: " + vault.Name);
                        }
                    }
                    Console.WriteLine("");
                }

                Console.SetOut(tmp);
                streamwriter.Close();
                filestream.Close();
                MessageBox.Show("Done!", "Completed!");

            } // using
        }
        catch (System.Exception e)
        {
            MessageBox.Show(e.Message);
        }
    } // PrintUserInfo()
}

當前尚無辦法。 但是有些程序會從服務器讀取AVFSlog文件,並過濾掉連接的用戶。

讀取AVFSlog文件的程序

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM