Get-ChildItem通常是通过Invoke-WMIMethod或WMI

时间:2017-01-31 16:15:40

标签: powershell wmi remote-access get-childitem

有没有办法使用 Invoke-WMIMethod 或类似的东西在远程计算机上运行 Get-ChildItem ?我的用例是我需要找到 HKEY_USERS 配置单元中存在的每个SID。





HKEY_USERS 配置单元包含一个SIDS列表,如下所示:&#xA; < / p>&#xA;&#xA;

我希望在远程计算机上获取这些到WMI 的列表,而不是提前知道SID。这可能吗?

&#xA;

2 个答案:

答案 0 :(得分:1)

使用StdRegProv注册表提供程序WMI类:

$cycles = 0;
while (!($isFileCreated = file_exists($filename)) && $cycles > 1000) { 
    $cycles++;
    usleep(1);
}

if (!$isFileCreated)
{
    //some action
    //throw new RuntimeException("File doesn't exists");
}

//another action

在这里,使用Invoke-WmiMethod cmdlet

$RemoteComputer = 'computer1.hostname.goes.here'
$RegProv = [wmiclass]"\\$RemoteComputer\ROOT\DEFAULT:StdRegProv"

# Magic number identifying the HKEY_USERS hive
$HKU = 2147483651

# Enumerate values under the root key, sNames property will hold key names
$Keys = $RegProv.EnumKey($HKU,'') |Select-Object -ExpandProperty sNames

答案 1 :(得分:0)

这可能是一种更容易获得所需内容的方法:

Get-WMIObject Win32_UserProfile -Filter "SID like 'S-1-5-21-*'" -ComputerName ExampleComputer | select SID