在一个命令中使用两个获取



我们正在尝试创建一个登录脚本,该脚本将导出脚本的结果,该脚本会吐出当前登录的用户以及他们拥有的映射驱动器。问题在于运行两个"Get-'s"。

我尝试了不同的变体,所有这些变体要么不输出任何内容,要么只输出一个命令。这段代码是我需要的,但它没有输出我需要的东西。

Get-CimInstance -class Win32_ComputerSystem | select "UserName" | Export-Csv -NoTypeInformation -Append \sn01installstesttest.csv ; Get-WmiObject -Class Win32_MappedLogicalDisk | select "Name" , "ProviderName" | Export-Csv -NoTypeInformation -append \sn01installstesttest.csv -Force

前半部分是我想要输出用户名的内容,然后后半部分是我希望输出驱动器号以及该驱动器的路径。

理想情况下,我需要的是标题为用户名,名称,提供者名称的三列,其中包含其用户名,驱动器号,然后是驱动器路径。

您可以执行以下操作:

$user = Get-CimInstance -Class Win32_ComputerSystem | Select-Object Username
Get-WmiObject -Class Win32_MappedLogicalDisk |
Select-Object @{n='UserName';e={$user.Username}},Name ,ProviderName |
Export-Csv -NoTypeInformation -Path \sn01installstesttest.csv -Force

解释:

您可以将Get-CimInstance具有Username属性的对象的输出存储到变量$user中。执行第二个Select-Object语句时,可以使用计算属性Username并从$user.Username属性中检索值。

最新更新