Foreach-Object Replace content in file to another content

0

Cześć,

Jestem tu nowy i zaczynam dopiero swoją przygodę. Sorki jesli w nieodpowiednim dziale

Mam jedno pytanie odnośnie Powershella

Chciałbym zastąpić fragment tekstu wynikiem komendy.

Kod:

(Get-Content C:\test\test.txt) |

Foreach-Object {$_ -replace "username", "??"} |

Set-Content C:\test\test.txt

Przykladowo, w pliku txt znajduja sie stringi typu username, password, home itp.

Chcialbym zrobic tak zeby skrypt powodowal iz za kazdego username bedzie wpisywany wynik komendy whoami: domena\uzytkownik

W ogole najlepiej by bylo gdyby za username wpisywany byl username usera ktory aktualnie zalogowany jest na danym komputerze, bez hasla.

Pomozecie? Wiem, ze znaki zapytania moge zastapic ciagiem znakow i to zadziala tylko jak zrobic aby zastapic znaki zapytania:

  1. userem ktory aktualnie jest zalogowany na kompie (domenowym) lub
  2. wynikiem jakiejs komendy? np. whoami
  3. Czescia wyniku komendy? Np. whoami zwraca mi tylko domena\user a ja chcialbym zczytac z niej okreslona fraze

Dziekuje slicznie za pomoc.

0

Żeby użyć w PowerShellu wyniku komendy musisz użyć $(). W twoim przypadku, jakbyś z domena\user chciał uzyskać samego usera, możesz zrobić tak:

$x = $(whoami)
$user = $x.Substring($x.IndexOf("\")+1)
Write-Host $user

1 użytkowników online, w tym zalogowanych: 0, gości: 1