1

I'd like to seek your help on how to add content to a specific cell in a CSV file that is already with populated data, here's an example of my CSV file: CSV File with populated data

Here's an example of what I want to achieve:

UPN Skype? TV? Whiteboard? Description
room1 true true true Skype; TV; Whiteboard
room2 true false false Skype
room3 false true true TV; Whiteboard

If room1 has Skype, TV, and Whiteboard, then to create the description with these values. If any of these are false, skip them. Does it make sense?

How can I achieve this using PowerShell?

This is what I've got so far:

Import-Csv $MeetingRooms | ForEach-Object {
    # Description field on Column Number 19
    $col = 19

    if ($_.Skype -eq $true) {
        $var = 'Skype for Business;'
        Add-Content -path $_ -Value "$(","*$col)$var"
    }elseif ($_.TV -eq $true) {
        $var = 'TV;'
        Add-Content -path $_ -Value "$(","*$col)$var"
    }elseif ($_.Whiteboard -eq $true) {
        $var = 'Whiteboard;'
        Add-Content -path $_ -Value "$(","*$col)$var"
    }
}

I am missing something big here which clearly can't see.

Thank you very much, Gonzalo

1 Answer 1

1

The following assumes that the column with index 19 is named CurrentFacilities.

Import-Csv $MeetingRooms | ForEach-Object {
  $obj = $_
  $obj.CurrentFacilities =
    ($obj.CurrentFacilities -split ';\s*') +
    ('Skype', 'TV', 'Whiteboard').Where({ $obj.$_ -eq 'true' }) -join '; '
  $obj # Output the modified object.
}
Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.