Как я могу удалить текст после запятой из поля описания Get-ADComputer? - PullRequest
0 голосов
/ 28 мая 2019

Я хочу удалить все после запятой в поле описания, поэтому Text2 и Text3.Кто-нибудь знает, как я могу это сделать?Я что-то слышал о регулярных выражениях, но я не знаю, как использовать это в этом случае.

$time = (Get-Date).Adddays(-(1))
$Result = Get-ADComputer -Filter {LastLogonTimeStamp -lt $time} -Properties * | Select-Object Name,Description, @{N='LastLogonTimeStamp'; E={[DateTime]::FromFileTime($_.LastLogonTimeStamp)}}
$Result | Format-Table 

Name          Description                        LastLogonTimeStamp
----          -----------                        ------------------
SRV-TEST      Text1, Text2, Text3                10-1-2019 09:45:00

Ответы [ 2 ]

1 голос
/ 28 мая 2019

Попробуйте это:

$time = (Get-Date).Adddays(-(1))
$Result = Get-ADComputer -Filter {LastLogonTimeStamp -lt $time} -Properties * | Select-Object Name, @{N='Description'; E={$_.Description -replace ',.*$','' }}, @{N='LastLogonTimeStamp'; E={[DateTime]::FromFileTime($_.LastLogonTimeStamp)}} 
$Result | Format-Table 

Для меня это возвращает:

Name          Description                        LastLogonTimeStamp
----          -----------                        ------------------
SRV-TEST      Text1                              10-1-2019 09:45:00
0 голосов
/ 28 мая 2019

Согласно предложению использования -split в комментариях, это вернет 1-ую строку в массиве после разделения на ",".

$time = (Get-Date).Adddays(-(1))
$Result = Get-ADComputer -Filter {LastLogonTimeStamp -lt $time} -Properties * | Select-Object Name, @{N='Description'; E={($_.Description -split ",")[0]}}, @{N='LastLogonTimeStamp'; E={[DateTime]::FromFileTime($_.LastLogonTimeStamp)}}
$Result | Format-Table
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...