Direct Connect VPN을 통해 연결된 컴퓨터에서 Get-WmiObject를 실행할 수 없습니다.

A. 지 알리아스
$adminaccount = "DOMAIN\USERNAME"
$PASSWORD = ConvertTo-SecureString "PASSWORD" -AsPlainText -Force
$UNPASSWORD = New-Object System.Management.Automation.PsCredential $adminaccount, $PASSWORD

$Machines = Get-Content -Path "C:\Temp\production computers.txt"

$Result = Foreach ($Machine in $Machines){
New-Object -TypeName PSObject -Property @{
$hardware =  Get-WmiObject Win32_ComputerSystem -ComputerName $Machine -Credential $UNPASSWORD
$os =  Get-WmiObject Win32_OperatingSystem -ComputerName $Machine -Credential $UNPASSWORD
Computer = $Machine
Manufacturer = $hardware.Manufacturer
Model = $hardware.Model
OS = $os.Caption
}| Select-Object Computer,Manufacturer,Model,OS
}

$Result | Export-Csv -Path "C:\Temp\pcsinventory.csv" -NoTypeInformation

머신 목록에서 정보를 수집하기 위해 위를 실행하려고하면 두 가지 문제가 발생했습니다. 첫째로 네트워크에 직접 연결된 머신에서 정보를 다시 가져올 수 있지만 Direct Connect VPN에있는 머신에 "Unable to contact RPC Server"오류가 발생합니다. Get-WmiObject 명령에서; 둘째로, 내가 얻는 결과는 모두 똑같은 것처럼 보입니다. 그들이 다르다는 것을 알았을 때 뭔가 잘못되고 있습니다.

스티븐

레거시 대신 CIM cmdlet을 사용해보십시오 Get-WMIObject. 이 경우 Get-CimInstance직접적인 대체물 될 수 있습니다.

다른 네트워크 경로를 고려할 때 방화벽 문제가 있다고 생각합니다. `Get-WMIObject는 Windows PowerShell에서 더 이상 사용되지 않으며 PowerShell Core에서 제거되었습니다.

간단한 예 :

$adminaccount = "DOMAIN\USERNAME"
$PASSWORD     = ConvertTo-SecureString "PASSWORD" -AsPlainText -Force
$UNPASSWORD   = New-Object System.Management.Automation.PsCredential $adminaccount, $PASSWORD
$hwProps      = 'manufacturer','Model'

$Machines = Get-Content -Path "C:\Temp\production computers.txt"

$Result = Foreach ($Machine in $Machines){
    $hw =  Get-CimInstance Win32_ComputerSystem -ComputerName $Machine -Property $hwProps -Credential $UNPASSWORD
    $os =  Get-CimInstance Win32_OperatingSystem -ComputerName $Machine -Credential $UNPASSWORD
    
    [PSCustomObject]@{    
        Computer     = $Machine
        Manufacturer = $hw.Manufacturer
        Model        = $hw.Model
        OS           = $os.Caption
    }
}

$Result | Export-Csv -Path "C:\Temp\pcsinventory.csv" -NoTypeInformation

새로운 [PSCustomObject]캐스팅을 사용하여 약간의 구문을 변경했습니다 . 또한 사용자 지정 개체 선언에서 I WMI 쿼리를 이동했습니다. 그들은 거기에있을 필요가 없으며 그렇게함으로써 Select-Object명령이 필요하지 않습니다 . 이것은 이제 개체의 유일한 속성이 어쨌든 선택한 속성이기 때문입니다.

Cim이 문제를 해결하지 않더라도 실제로는 갈 길입니다. 좋은 시작을 할 수있는 CIM CMdlet 소개를 살펴보십시오 .

CIM에서 자격 증명을 사용하도록 업데이트 :

$adminaccount = "DOMAIN\USERNAME"
$PASSWORD     = ConvertTo-SecureString "PASSWORD" -AsPlainText -Force
$UNPASSWORD   = New-Object System.Management.Automation.PsCredential $adminaccount, $PASSWORD
$hwProps      = 'manufacturer','Model'

$Machines = Get-Content -Path "C:\Temp\production computers.txt"

$Result = Foreach ($Machine in $Machines){
    $CimSession = New-CimSession -ComputerName $Machine -Credential $UNPASSWORD
    $hw =  Get-CimInstance Win32_ComputerSystem -CimSession $CimSession -Property $hwProps -Credential $UNPASSWORD
    $os =  Get-CimInstance Win32_OperatingSystem -CimSession $CimSession -Credential $UNPASSWORD
    
    [PSCustomObject]@{    
        Computer     = $Machine
        Manufacturer = $hw.Manufacturer
        Model        = $hw.Model
        OS           = $os.Caption
    }
}

$Result | Export-Csv -Path "C:\Temp\pcsinventory.csv" -NoTypeInformation

위의 사용 New-CimSession-Credential매개 변수로 업데이트 하십시오 . 그런 다음 -CimSession $CimSession대신 -ComputerName.... 내 초기 예제에서 자격 증명을 간과했습니다. 참고 : CIM 세션을 사용하는 것이 실제로 -ComputerName.... 후자는 내부적으로 CIM 세션을 생성하므로 각 반복은 세션을 재사용하여 세션을 생성하고 해체합니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

openVPN을 통해 VPN에 연결할 수 없습니다.

분류에서Dev

Ubuntu 16.04에서 smb를 통해 Mac 컴퓨터에 연결할 수 없습니다.

분류에서Dev

Python 독립 실행 형 실행 파일을 통해 다른 컴퓨터의 PyQt4 GUI에서 OpenCV를 통해로드 된 비디오를 렌더링 할 수 없습니다. 오류를주지 않으면 아무것도하지 않는다

분류에서Dev

네트워크로 연결된 컴퓨터는 브라우저에서 IP를 통해 액세스 할 수 없습니다.

분류에서Dev

(SoftEther) VPN을 통해 LAN 컴퓨터에 어떻게 연결할 수 있습니까?

분류에서Dev

Visual Studio 2008 Team System을 VPN을 통해 TFS에 연결할 수 없습니다.

분류에서Dev

이더넷 케이블을 통해 두 대의 컴퓨터를 연결할 수 없습니다.

분류에서Dev

Remmina 두 컴퓨터 Ubuntu 16.04를 통해 연결할 수 없습니다.

분류에서Dev

ssh를 통해 연결하는 컴퓨터에서 실행중인 프로세스를 그대로 두어 내 컴퓨터를 끌 수 있습니까?

분류에서Dev

Windows 7 사용자는 VPN을 통해 매핑 된 드라이브에 연결할 수 없습니다.

분류에서Dev

원격 컴퓨터에서 SSH를 통해 연결할 수 없지만 로컬로 연결할 수 있습니다.

분류에서Dev

PsExec을 통해 개인 네트워크의 원격 컴퓨터에 연결할 수 없습니다.

분류에서Dev

파일 공유를 위해 Windows 컴퓨터에 연결할 수 없습니다.

분류에서Dev

TFS의 로컬 컴퓨터에 연결된 빌드 에이전트에서 Android 에뮬레이터를 실행할 수 없습니다.

분류에서Dev

내 기관 LAN에서 VPN 터널을 통해 홈 서버에 연결할 수 없습니다.

분류에서Dev

SIM900 Shield를 사용하여 Arduino Uno에서 TCP를 통해 로컬 컴퓨터 IP에 연결할 수 없습니다.

분류에서Dev

로컬로 연결된 영역에서 다른 컴퓨터를 찾을 수 없습니다.

분류에서Dev

Python 요청을 통해 내 로컬 컴퓨터에서 Lambda 또는 EC2에 연결할 수 없음

분류에서Dev

로컬 네트워크에서 컴퓨터를 연결할 수 없습니다.

분류에서Dev

동일한 스위치에 연결된 Ubuntu를 통해 Windows 10을 ping 할 수 없습니다.

분류에서Dev

Homebrew를 통해 설치된 MySQL @ 127.0.0.1에 연결할 수 없습니다.

분류에서Dev

집이나 VPS에서 VPN을 설정하고이를 통해 인터넷에 연결할 수 있습니까?

분류에서Dev

dockerfile을 통해 업데이트를 apt-get 할 수 없습니다. archive.ubuntu.com:80에 연결할 수 없습니다.

분류에서Dev

CURL을 통해 MongoLab에서 쿼리를 실행할 수 없습니다.

분류에서Dev

Mac에서 Python을 통해 casperjs를 실행할 수 없습니다.

분류에서Dev

dockerfile을 통해 docker에서 ssh를 실행할 수 없습니다.

분류에서Dev

Ubuntu 18.04에서 SSH를 통해 Virsh 명령을 실행할 수 없습니다.

분류에서Dev

Visual Studio를 통해 로컬로 실행할 때 ASP.NET 사이트에 연결할 수 없습니다.

분류에서Dev

APN을 통해 TCP 서버에 연결할 수 없습니다.

Related 관련 기사

  1. 1

    openVPN을 통해 VPN에 연결할 수 없습니다.

  2. 2

    Ubuntu 16.04에서 smb를 통해 Mac 컴퓨터에 연결할 수 없습니다.

  3. 3

    Python 독립 실행 형 실행 파일을 통해 다른 컴퓨터의 PyQt4 GUI에서 OpenCV를 통해로드 된 비디오를 렌더링 할 수 없습니다. 오류를주지 않으면 아무것도하지 않는다

  4. 4

    네트워크로 연결된 컴퓨터는 브라우저에서 IP를 통해 액세스 할 수 없습니다.

  5. 5

    (SoftEther) VPN을 통해 LAN 컴퓨터에 어떻게 연결할 수 있습니까?

  6. 6

    Visual Studio 2008 Team System을 VPN을 통해 TFS에 연결할 수 없습니다.

  7. 7

    이더넷 케이블을 통해 두 대의 컴퓨터를 연결할 수 없습니다.

  8. 8

    Remmina 두 컴퓨터 Ubuntu 16.04를 통해 연결할 수 없습니다.

  9. 9

    ssh를 통해 연결하는 컴퓨터에서 실행중인 프로세스를 그대로 두어 내 컴퓨터를 끌 수 있습니까?

  10. 10

    Windows 7 사용자는 VPN을 통해 매핑 된 드라이브에 연결할 수 없습니다.

  11. 11

    원격 컴퓨터에서 SSH를 통해 연결할 수 없지만 로컬로 연결할 수 있습니다.

  12. 12

    PsExec을 통해 개인 네트워크의 원격 컴퓨터에 연결할 수 없습니다.

  13. 13

    파일 공유를 위해 Windows 컴퓨터에 연결할 수 없습니다.

  14. 14

    TFS의 로컬 컴퓨터에 연결된 빌드 에이전트에서 Android 에뮬레이터를 실행할 수 없습니다.

  15. 15

    내 기관 LAN에서 VPN 터널을 통해 홈 서버에 연결할 수 없습니다.

  16. 16

    SIM900 Shield를 사용하여 Arduino Uno에서 TCP를 통해 로컬 컴퓨터 IP에 연결할 수 없습니다.

  17. 17

    로컬로 연결된 영역에서 다른 컴퓨터를 찾을 수 없습니다.

  18. 18

    Python 요청을 통해 내 로컬 컴퓨터에서 Lambda 또는 EC2에 연결할 수 없음

  19. 19

    로컬 네트워크에서 컴퓨터를 연결할 수 없습니다.

  20. 20

    동일한 스위치에 연결된 Ubuntu를 통해 Windows 10을 ping 할 수 없습니다.

  21. 21

    Homebrew를 통해 설치된 MySQL @ 127.0.0.1에 연결할 수 없습니다.

  22. 22

    집이나 VPS에서 VPN을 설정하고이를 통해 인터넷에 연결할 수 있습니까?

  23. 23

    dockerfile을 통해 업데이트를 apt-get 할 수 없습니다. archive.ubuntu.com:80에 연결할 수 없습니다.

  24. 24

    CURL을 통해 MongoLab에서 쿼리를 실행할 수 없습니다.

  25. 25

    Mac에서 Python을 통해 casperjs를 실행할 수 없습니다.

  26. 26

    dockerfile을 통해 docker에서 ssh를 실행할 수 없습니다.

  27. 27

    Ubuntu 18.04에서 SSH를 통해 Virsh 명령을 실행할 수 없습니다.

  28. 28

    Visual Studio를 통해 로컬로 실행할 때 ASP.NET 사이트에 연결할 수 없습니다.

  29. 29

    APN을 통해 TCP 서버에 연결할 수 없습니다.

뜨겁다태그

보관