Articles of PowerShell

使用PowerShell脚本在AD中添加批量用户时出错

我正在尝试使用从csv文件中提取信息的PowerShell脚本将用户添加到AD中。 我主要工作,用户创build,他们似乎工作。 不过,我在脚本运行时遇到了一些exception,我需要一些帮助来debugging它,并找出它失败的地方。 脚本,csv代码片段和错误如下。 还要注意,看起来每个用户创build都不会发生错误。 我只有几个迭代的错误。 有没有一种方法可以将它包含在if / then语句中,以打印错误点处发生的事情,或者查看AD对象失败的原因,以及为什么? 或者其他方式来debugging呢? $objOU=[ADSI]“LDAP://OU=People,DC=testdomain,DC=com” $dataSource=import-csv “test users2.csv” foreach($dataRecord in $datasource) { $cn=$dataRecord.FirstName + ” ” + $dataRecord.LastName $sAMAccountName=$dataRecord.UserName $givenName=$dataRecord.FirstName $sn=$dataRecord.LastName $sAMAccountName=$sAMAccountName.ToLower() $displayName=$givenName + " " + $sn $userPrincipalName=$sAMAccountName + “@testdomain.com” $sISID=$dataRecord.Sisid $objUser=$objOU.Create(“user”,”CN=”+$cn) $objUser.Put(“sAMAccountName”,$sAMAccountName) $objUser.Put(“userPrincipalName”,$userPrincipalName) $objUser.Put(“displayName”,$displayName) $objUser.Put(“givenName”,$givenName) $objUser.Put(“sn”,$sn) $objUser.Put("description",$dataRecord.Gender + ", " + "Class of " + $dataRecord.Graduation + […]

如何在不访问每个站点的情况下删除Sharepoint 2007中的用户的所有警报?

用户离开组织。 他们的帐户从活动目录中删除。 他们的用户对象不会从Sharepoint中删除,并且他们的警报保持原状。 每次将警报发送到Sharepoint中的电子邮件地址时,都会生成无法传递的邮件。 如何整理给定用户的所有警报,而不必访问每个站点并删除该用户的警报?

SQL Server 2008 R2需要哪个版本的PowerShell?

今天我试图在我的电脑上安装SQL Server 2008 R2 Express,但是我的安装失败了,它说PowerShell必须安装在它上面。 那么我的问题是,我应该安装哪个版本的PowerShell? 我在哪里得到它?

如何在esxi 4上运行PowerShell / PowerCli脚本?

我正在尝试使用esxi 4 的链接克隆脚本,但是我不知道如何运行这个脚本。 我使用SSH连接到esxi服务器并尝试运行这些脚本,但是它什么都不做。 可能我需要用处理脚本的东西来打开它。 我需要做什么? 我需要在esxi服务器上安装PowerCLI? 谢谢。

Powershell ExecutionPolicy神秘地重置

我深谙方式 Set-ExecutionPolicy RemoteSigned 等等。但是由于某种原因,我的机器每隔一段时间就重新设置一次。 我还没有弄清楚这个模式,但是每隔一两周我就去运行一个脚本,并得到可怕的错误 foo.ps1 is not digitally signed. The script will not execute on the system. 有什么办法来审计可能触发这个?

Powershell远程会话和访问networking资源

看来我无法访问远程Powershell会话中的networking资源。 这是使用Powershell v2。 本地和远程计算机都在同一个域中。 作为一个例子,如果我在MachineA上并通过Enter-PSSession MachineB连接到MachineB,然后从那里执行类似gci \\MachineA\SomeShare ,我得到一个错误:“找不到path'\\ MachineA \ SomeShare',因为它不存在”。 如果我直接从MachineB执行相同的命令,我会得到我期望的结果。 我试图将“SomeShare”的“读取”权限授予“所有人”,并直接授予远程机器的机器账号。 这没有什么区别。 是否有configuration更改,我可以让这个工作?

如何合并两个AD组?

我们在AD后端有一些不合时宜的组。 我们有几个领域合并,并与类似的团体.. “财政援助”“金融援助”“FA” 等等…我想巩固这些团队,而不会打破每个人的networking访问。 有些文件夹被分配给一个组或另一个组的权限,我想对某些共享上的文件夹进行全局“查找和replace权限”扫描。 例: folder1 has full access to "Financial Aid" folder2 has read for "FA" 我想要创build一个新的组: folder1 has full access for "Financial_Aid" folder2 has read for "Financial_Aid" ……或者只是把一个小组合并成另一个小组: folder1 has full access for "Financial Aid" folder2 has read for "Financial Aid" 任何指针? 不要害怕在PowerShell或Python中挖掘,只是好奇,如果有人有看到这一切的相关链接,并陷入了警惕…

Powershell 2:如何消除重复的帮助条目?

我经常打电话如: get-help <some-command> 在Powershell 2中。对于这些命令中的很多但不是全部,我没有显示帮助条目的内容。 相反,我得到重复,只有帮助对象本身显示: [PS2]> get-help remove-distributiongroup | more Name Category Synopsis —- ——– ——– Remove-DistributionGroup Cmdlet Use the Remove-DistributionGroup… Remove-DistributionGroup Cmdlet Use the Remove-DistributionGroup… 作为一个完整的PS新手,我通过做类似下面的事情来解决这个问题: [PS2]> $var = get-help remove-distributiongroup [PS2]> $var[0] | get-member … Output … [PS2]> $var[0].Parameters |more … Part of the documentation … [PS2]> $var[0].Synopsis |more … Another part […]

具有一百万个文件的文件夹 – 如何使用Powershell将返回的文件列表限制为最大数量的文件并避免长达数小时的等待?

我有一个无意中有大约140万个文件生成的目录。 我只想列出第一个例如10​​0个项目,但是没有底层的进程试图在内部读取整个目录内容,这导致了在这个阶段已经处理了近一个小时的很长时间的等待。 我如何与Powershell做到这一点?

脚本帮助 – 需要获取AD帐户的电话号码,然后将其添加到受信任域中的联系人

我有作为另一个受信任的域中的联系人创build的域帐户,以便他们可以在他们的Exchange GAL中看到它们。 我需要一种方法来从UserA(用户帐户)的DomainA中提取电话号码字段,并将其导入到DomainB中的UserA(联系人)。 我得到的逻辑,只是代码(VBScript / PowerShell /什么),避开了我。 我所看到的逻辑是: 连接到源AD(ou /子树) 从OU和子容器中提取用户帐户,包括名字,姓氏,显示名称和电话号码 连接到目标AD(ou /子树) 根据显示名称validation/匹配上面#2中的提取 提取电话号码更新电话字段 写成功和失败的日志 任何人都可以帮忙?