首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Windows Powershell中使用.Net / UniObjects的U2工具包?

在Windows Powershell中使用.Net / UniObjects的U2工具包?
EN

Stack Overflow用户
提问于 2012-11-13 00:36:35
回答 2查看 1.9K关注 0票数 1

我是芝加哥一所大学的开发人员,在Unidata7.2上为Ellucian/Datatal同事提供支持。我们最近从Unix上的Unidata转换到Windows Server,并且有许多提取cron作业必须转换到新的操作系统。在转换过程中,我被介绍到了MS Windows Powershell脚本环境,并一直在使用它来自动化许多任务,这些任务在不同的机器上被拆分并异步执行。

我们正在实施基于MS Sharepoint构建的Ellucian Portal,为此,我们需要每晚运行一个作业,刷新HR数据中的MS Active Directory属性。为了做到这一点,我组合了一个Powershell脚本,以获取一个平面文件并更新AD。然而,Powershell脚本的美妙之处在于,您可以在本地使用.Net框架对象。多年来,我使用VB UniObjects开发了许多应用程序和实用程序,现在似乎是利用Powershell接口并将提取步骤直接构建到AD更新脚本中的绝佳机会,这样整个过程就可以作为单个集成应用程序执行。

我已经从Rocket software下载并安装了用于.Net的U2工具包,但是我遇到了一个问题,Powershell参考和实例化语法与任何Visual Studio语言都不同。尽管我已经取得了一些进展,并且能够与U2.Data.Client命名空间建立U2 ADO连接,但我仍然在正确实例化本机UniObjects U2.Data.Client.UO对象时遇到问题。

我确信这只是一个正确引用这些库的简单问题,但我以前从未实际使用过.Net框架,而且我似乎找不到任何在Powershell中使用U2 .Net库的权威示例。这个论坛似乎是一个很好的资源,我所取得的进步要归功于我在这里找到的帖子。如果任何人对U2和Powershell都有任何想法或专业知识,我很想听听你对如何创造奇迹有什么意见。

EN

回答 2

Stack Overflow用户

发布于 2012-11-13 01:35:35

感谢您提出这个问题。你可以很容易地从微软PowerShell调用U2 Toolkit for .NET (U2NETDK)。请参阅随附的屏幕截图。我做了以下工作:

用于assembly

  • Create

  • 的U2安装工具包.NET

  • 请参阅已安装的.NET U2NETDK

Connection Object

  • Create .NET U2NETDK Object

  • .NET U2NETDK

ADO.NET命令( SELECT FIRST_NAME,SURNAME FROM MEMBERS)

  • Fetch Data。在连接的PowerShell

  • Close上写入数据。

如果您想要使用UO.NET功能,并且想要使用read file、UniCommand、SelectList,那么请参考U2.Data.Client.UO.UniFile、U2.Data.Client.UO.UniCommand等。

我希望这个例子也能对其他U2 .NET用户有所帮助。

请参阅此示例:http://blogs.technet.com/b/threekings/archive/2008/07/18/ado-net-in-powershell-update-sql-data-example-sample.aspx

票数 1
EN

Stack Overflow用户

发布于 2012-11-19 11:02:09

感谢您试用U2NETDK的ADO.NET和windows PowerShell。对于本地访问( Uniobjects API),您不需要UODOTNET.DLL。我们在U2NETDK中嵌入了Uniobjects API。因此,您将引用U2.Data.Client和U2.Data.Client.UO名称空间。请参见下面的脚本和屏幕截图。

代码语言:javascript
复制
Add-Type -Path "C:\Program Files (x86)\Rocket Software\U2 Toolkit for .NET\U2 Database Provider\bin\.NETFramework\v2.0\U2.Data.Client.dll"

$Connection = New-Object U2.Data.Client.U2Connection

$Connection.ConnectionString = "Database=XDEMO;User ID=administrator;Password=pass;Server=9.72.199.235;Persist Security Info=True;ServerType=universe;AccessMode=Native"

$Connection.Open()

$Session = $Connection.UniSession

$UniSelectList  =$Session.CreateUniSelectList(2);

$UniFile  = $Session.CreateUniFile("PRODUCTS");
$UniSelectList.Select($UniFile);

while (!$UniSelectList.LastRecordRead)
{
$sRecID = $UniSelectList.Next();
write-host $sRecID
}
$Connection.Close()

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13347631

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档