PowerShell dan perintah-panggilan

Sep 03 2020

Saya memiliki setidaknya dua masalah yang perlu saya bantu.

Nama pendek vs. panjang: Saya bisa melakukan nslookup di Serveradmin dan Serveradmin.company.com dan mendapatkan alamat IP yang bagus untuk keduanya.

Masalah 1: Jika saya melakukan ini, saya mendapatkan ini:

Invoke-Command -ComputerName Serveradmin -ScriptBlock {Get-PSDrive | Di mana {$ _. Gratis -gt 0}}

[Serveradmin] Connecting to remote server Serveradmin failed with the
following error message : WS-Management cannot process the request.
The operation failed because of an HTTP error. The HTTP error (12152)
is: The server returned an  invalid or unrecognized response . For
more information, see the about_Remote_Troubleshooting Help topic.
    + CategoryInfo          : OpenError: (Serveradmin:String) [], PSRemotingTransportException
    + FullyQualifiedErrorId : WinRMOperationAborted,PSSessionStateBroken

Baris perintah ini tidak berfungsi dengan nama pendek atau panjang.

Masalah 2: Sekarang jika saya melakukan ini, saya mendapatkan ini (dengan SessionOption):

Invoke-Command -ComputerName Serveradmin -SessionOption (New-PSSessionOption -ProxyAccessType NoProxyServer) -ScriptBlock {Get-PSDrive | Di mana {$ _. Gratis -gt 0}}

Saya mendapatkan data yang bagus.

Jika saya mencoba menggunakan nama panjang (Serveradmin.company.com), saya mendapatkan pesan kesalahan ini:

[Serveradmin.lmms.lmco.com] Connecting to remote server lc1admin.lmms.lmco.com failed with the following error message : WinRM cannot process the request. The following error occurred while using Kerberos authentication: Cannot find 
the computer Serveradmin.lmms.lmco.com. Verify that the computer exists on the network and that the name provided is spelled correctly. For more information, see the about_Remote_Troubleshooting Help topic.
    + CategoryInfo          : OpenError: (Serveradmin.lmms.lmco.com:String) [], PSRemotingTransportException
    + FullyQualifiedErrorId : NetworkPathNotFound,PSSessionStateBroken

T3: Apakah "Proxy" sama dengan server proxy yang kami gunakan untuk akses web internet?

Adakah yang bisa membantu saya dengan masalah ini? Saya sangat ingin menggunakan nama pendek dan panjang.

MEMPERBARUI: https://www.pdq.com/powershell/new-pssessionoption/#ProxyAccessType Saya menemukan referensi ini:

Determines which mechanism is used to resolve the host name. 

Adakah ide bagaimana saya dapat memaksa "NoProxyServer" pada semua skrip tanpa mengubah skrip saya?

Jawaban

i2D Sep 03 2020 at 16:51

Nonaktifkan Anti-virus Anda di server jarak jauh dan jalankan kembali "Invoke-Command -ComputerName Serveradmin -ScriptBlock {Get-PSDrive | Where {$ _. Free -gt 0}}"

Anti-virus dapat memblokir permintaan HTTP, dan Anda perlu memikirkan konfigurasi apa yang perlu diubah pada AV Anda.

Lihat info lebih lanjut di sini: https://mikefrobbins.com/2012/06/21/welcome-to-powershell-hell/