2017-11-09 16 views
0

프린터의 TCP/IP 설정에서 상자를 선택하고 작동하도록 설정할 수없는 powershell을 얻으려고했습니다. 상자가 작동하는 곳의 나머지 부분보다이 설정에서 다르게 나타나는 것 같습니다.TCP/IP 설정에서 확인란이 작동하지 않습니다.

input id="vac.255.ALLOW_DHCP_TO_UPDATE_TIMESERVER" 
name="vac.255.ALLOW_DHCP_TO_UPDATE_TIMESERVER" value="1" type="checkbox" is the info in TCP/IP. 

input name="2.system.17245" value="1" id="system.17245" checked="" type="checkbox"은 나머지 프린터 정보입니다. 아래 코드는 문제없이 작동하는지 확인하고 선택을 취소합니다.

$adfbeep = $ie.Document.IHTMLDocument3_getElementByID("system.17245") | Where-Object {$_.type -eq "checkbox"} 
$adfbeep.checked=$true 

아래는 본질적으로 동일하지만 작동하지 않습니다. 이름과 ID가 같기 때문에 이것이 맞는지 확실하지 않습니다.

$updttimeserver = $ie.Document.IHTMLDocument3_getElementByID("vac.255.ALLOW_DHCP_TO_UPDATE_TIMESERVER") | Where-Object {$_.type -eq "checkbox"} 
$updttimeserver.checked=$true 

The property 'checked' cannot be found on this object. Verify that the property exists 
and can be set. 
At C:\Scripts\CX310 Config.ps1:132 char:1 
+ $updttimeserver.checked=$true 
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    + CategoryInfo   : InvalidOperation: (:) [], RuntimeException 
    + FullyQualifiedErrorId : PropertyNotFound 

어떤 도움을 주시면 감사하겠습니다. 죄송합니다 조금 이상 보이는 경우

+0

'$ updttimeserver | Get-Member'? – TheIncorrigible1

+0

[Internet Explorer 11의 확인란을 사용하여 Powershell을 사용할 수 있음]의 중복 가능성 있음 (https://stackoverflow.com/questions/28694045/using-powershell-to-check-checkboxes-in-ie11) – Manu

+0

체크 박스 인 경우 필터링하는 이유는 무엇입니까? 'Where-Object {$ _. type -eq "체크 박스"}'만약 입력 타입이 이미 체크 박스라면? – Manu

답변

0

나는 그것을 알아 냈다. 이러한 종류의 체크 박스에는 IHTMLDocument3_getElementByID("vac.255.ALLOW_DHCP_TO_UPDATE_TIMESERVER") 대신 IHTMLDocument3_getElementsByName("vac.255.ALLOW_DHCP_TO_UPDATE_TIMESERVER")이 필요합니다. vac.255가없는 것은 getElementByID를 사용했습니다.