我正在 SFB 中创建我的用户报告。 只从一个用户收集信息,它工作得很好,但我需要从每个人那里收集它,所以我使用命令 Get-Content 然后 foreach 来获取我在 users.txt 中注册的用户群中的每一行如果有人可以帮助我这是语法错误?

谢谢

$users = Get-Content C:\temp\skypeproject\users.txt
$list = foreach ( $user in $users ) 
{ 
    Get-CsOnlineUser -Identity $user | Format-table -AutoSize DisplayName, EnterpriseVoiceEnabled,HostedVoiceMail,OnPremLineURI,LineURI 
}

错误结果

#1楼 票数:1

根据评论,由于输入文件中的一些错误数据,您似乎确实收到了错误。 处理此问题的一种方法可能是使用Try..Catch块,这样当单个用户导致您出错时,它不会停止整个脚本。

$Users = Get-Content C:\temp\skypeproject\users.txt

$List = foreach ( $User in $Users ) { 
    Try {
        Get-CsOnlineUser -Identity $user -ErrorAction Stop
    }
    Catch {
        "Error for $User: $_"
    }
}

$List | Format-table -AutoSize DisplayName, EnterpriseVoiceEnabled,HostedVoiceMail,OnPremLineURI,LineURI 

我还将Format-Table的使用移到您的循环之外,否则您的$List变量最终不会包含一个对象,如果您需要对它做任何其他事情,该对象可能很有用。

  ask by Vinicius translate from so

未解决问题?本站智能推荐:

3回复

Powershell,将foreach循环的输出与多个命令相结合

我需要获取多个服务器的属性列表,但我在循环中遇到了第二个命令的输出: 第一个 cmd 的输出是正确的: 第二个 cmd 似乎被忽略了......如果我手动运行 cmd 输出是正确的: 我究竟做错了什么?
1回复

PowerShell使用foreach命令计算的属性和$_占位符为空输出

我试图将与命令“ Get-VersionInfo”一起使用的端口放在表中。 使用PowerShell,我无法弄清楚如何在计算的属性中输出此占位符。 如果我停止它并进行调试,则可以将鼠标放在“ $ _。Port”上,并显示“ Port = 50003”,因此我知道它可以看到它是什么端口,但是当
2回复

powershell,foreach,获取行数

是否有可能获得$ _的数量。 在foreach管道中可变? 例: 我希望你知道我的意思。 谢谢!
2回复

foreach扩展目录Powershell

我需要检查一个文件夹,并制作一个包含所有不同扩展名的数组(这部分内容很不错) 现在这是问题所在:使用这个数组,我需要进行一次foreach来制作不同的文件夹。 文件夹名称必须是不同类型的文件(例如:doc。我有这样的名称: 但是我得到了5个文件夹(在我的情况下,我只需要3个文件夹(因为
3回复

Powershell:Foreach输入

我被困在一个我知道确实很简单的事情上,但是我一生都无法弄清楚。 我正在尝试导入带有主机名列表的.txt文件,一旦检索到该主机名,该脚本将返回安装的totalphysicalmemory的数量。 到目前为止,我有这个: 但是,它只是返回以下内容: 有任何想法吗? 谢谢
3回复

在PowerShell中将具有多个命令的批处理FOR/F转换为FOREACH

前一段时间,@ Magoo足以帮助我制定一个FOR / F命令以将文件归档到7-zip中: 使用FOR或FORFILES批处理命令分别归档特定文件 从那时起,我对它进行了一些扩展,并希望对此做更多详尽的说明。 但是,为了使这个问题更简单,我提供了一些基本的方法来尝试使该方法起作用,但我
1回复

ForEach对象操作Powershell

我正在尝试指定命令的结构化顺序,并且我正在寻找一种比当前更简单的方法。 我命令重启一系列服务器。 服务器位于层中,因此必须按特定顺序关闭层,然后以相反的顺序恢复。 时间也是一个问题,因为有很多服务器,而且我不想浪费大量时间。 我有这个... 然后,我要对所有层一遍又一遍地重复此代码
1回复

Powershell获取内容,foreach

我编写了一个 Powershell 脚本来提示输入 Active Directory 用户名,然后根据邮箱所在的电子邮件服务器将用户添加到相关的 AD 组。 这很好用,但我希望通过从文本文件导入 AD 用户名列表来进一步自动化。 我一直在研究Get-Content和Foreach但没有取得多大成功。