下面的 Cmdlet 可以正常工作,但是在底部代码块的do
&语句中什么都不做?switch
在 ISE 中进行调试不会提供任何帮助。删除| Select-Object
确实使它起作用,但会产生太多信息。删除-CimSession $hostname
确实使它起作用。所以问题似乎与远程 PC 和/或 SELECT 语句有关。
Get-CimInstance Win32_UserProfile -CimSession $hostname | Select-Object -Property LocalPath, LastUseTime
function Show-Menu {
Write-Host "
1)Option A
2)Option B
3)User Profiles of Remote PC
"}
DO {Show-Menu
$UserChoice = Read-Host "Enter # of tool you want to run"
$hostname=Read-Host "enter hostname"
switch ($UserChoice) {
1 {'You choose opt1'}
2 {'You choose opt2'}
3 {Get-CimInstance Win32_UserProfile -CimSession $hostname | Select-Object -Property LocalPath, LastUseTime}
}
} UNTIL ($hostname -eq '')
- 此 cmdlet 的相同问题:
{Get-WMIObject Win32_UserProfile -ComputerName $hostname | Select-Object -Property LocalPath,LastUseTime}
- 有效,但间隔很有趣:
{Get-WMIObject Win32_UserProfile -ComputerName $hostname | Format-List LocalPath, LastUseTime}
- 有效,但间隔很有趣并且有奇怪的 runspaceID 项目:
{Invoke-Command -ComputerName $hostname -HideComputerName -ScriptBlock {Get-WMIObject Win32_UserProfile | Select-Object LocalPath, LastUseTime}}