远程电脑的测试连接

时间:2019-12-18 09:25:13

标签: powershell

我具有以下功能,旨在从远程计算机列表中收集reg值,我尝试使用测试连接来加快设备不联机但所有测试连接失败的过程...

这是脚本:

clear
$servers = Get-Content -Path C:\ukdeviceswin10.txt


$PatternSID = 'S-1-5-21-\d+-\d+\-\d+\-\d+$'

$ProfileList = ForEach ($server in $servers) 
{ if(test-connection $server -quiet -count 1)
{

invoke-command -computername $server {gp 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList\*' | Where-Object {$_.PSChildName -match $PatternSID} | 
    Select  @{name="SID";expression={$_.PSChildName}}}}


foreach ($profile in $profilelist) {
$profile = $profile -replace ".$"
$profile = $profile.substring(6,46)
$profile = $profile -replace "[;]"
$profile = $profile -replace "[ ]"
$profiletest = $profile.substring(0,8)

if ($profiletest -eq "S-1-5-21"){
$Reg = [Microsoft.Win32.RegistryKey]::OpenRemoteBaseKey([Microsoft.Win32.RegistryHive]::Users, "$server") 

$profilekey = $profile + "\\SOFTWARE\\Microsoft\\Office\\Outlook\\Addins\\CofenseOutlookReporter.AddinModule"

$RegKey= $Reg.OpenSubKey("$profilekey")
if ($regKey -eq $null){} else {$LoadbehaviourVersion = $RegKey.GetValue("LoadBehaviour")
$results = $server + " " + $profile + " " + $LoadbehaviourVersion | out-file -filepath c:\dell\regresults.txt -Append
} 


$RegKey=""
$LoadbehaviourVersion=""

}
}
}

0 个答案:

没有答案