0

検討:

$ProfilePath = "HKLM:\software\microsoft\windows NT\currentversion\profilelist"
$ProfileList = ls -path $ProfilePath
foreach ($guid in $ProfileList)
{
    $gpath = $guid -replace "HKEY_LOCAL_MACHINE","HKLM:"
    $userpath = Get-ItemProperty -path "$gpath" | select ProfileImagePath
    $SUserName = [system.string]::$userpath
    $username = $userpath -replace "ProfileImagePath=C:\\Users\\",""
}

現在$userpath = @{ProfileImagePath=C:\Windows\ServiceProfiles\NetworkService。比較できるように、文字列にする必要があります。これを文字列に変換するにはどうすればよいですか?

私の試みは、またはのいずれかを生成$SUserNameします。blanknull string

4

3 に答える 3

0

多分私はあなたの質問を理解していません。

しかし、私はあなたがこれを探していると思います:

$userpath.ProfileImagePath
于 2012-05-09T20:30:30.297 に答える
0

これでパスを文字列として取得できます:

$ProfilePath = "HKLM:\software\microsoft\windows NT\currentversion\profilelist\*"
Get-ItemProperty $ProfilePath | foreach {$_.ProfileImagePath}

または、分割パスを使用してユーザー名のみを抽出します

Get-ItemProperty $ProfilePath | foreach {Split-Path $_.ProfileImagePath -Leaf}
于 2012-05-09T19:56:53.993 に答える