Saya dapat melakukannya secara manual dengan mengklik kanan pada koneksi jaringan, membuka tab Berbagi dan mengklik pada kotak centang "Izinkan pengguna jaringan lain untuk terhubung melalui koneksi Internet komputer ini".
Sekarang saya perlu mengotomatiskan tugas ini. Apakah ada alat baris perintah atau cmdlet Powershell untuk mencapai ini?
windows-7
internet-connection
powershell
utapyngo
sumber
sumber
Microsoft-Windows-SharedAccess
tanpa pengawasan komponen Windows Setup begitu dekat, tetapi hanya bekerja di Windows Setup! technet.microsoft.com/en-us/library/ff715511.aspxJawaban:
Ini adalah solusi PowerShell murni (harus dijalankan dengan hak administratif):
Lihat juga pertanyaan ini di social.msdn.microsoft.com :
sumber
[System.Runtime.Interopservices.Marshal]::ReleaseComObject(...)
ditaburi.EnableSharing
melempar pengecualian ini, meskipun saya menjalankan PowerShell sebagai Administrator: Pengecualian: Pengecualian memanggil "EnableSharing" dengan argumen "1": "Suatu peristiwa tidak dapat memanggil salah satu pelanggan (Pengecualian dari HRESULT: 0x80040201) "-> Pengecualian telah dilemparkan oleh target doa. -> Suatu peristiwa tidak dapat meminta pelanggan mana pun (Pengecualian dari HRESULT: 0x80040201)regsvr32 hnetcfg.dll
sebagai administrator secara manual.Saya telah membuat alat baris perintah sederhana untuk ini.
Unduh dan unzip atau
git clone [email protected]:utapyngo/icsmanager.git
Bangun dengan berlari
build.cmd
Daftarkan
HNetCfg
perpustakaan COM:regsvr32 hnetcfg.dll
(itu adalah perpustakaan standar yang terletak di%WINDIR%\System32
)Penggunaan baris perintah
Buka prompt baris perintah sebagai administrator
cd
keicsmanager
direktori (atauicsmanager-master
jika Anda mengunduh zip).Mengetik
icsmanager
Ini akan menampilkan koneksi jaringan yang tersedia. Perhatikan atribut GUID. Untuk menggunakan alat ini, Anda harus memiliki setidaknya dua koneksi.
Mengetik
icsmanager enable {GUID-OF-CONNECTION-TO-SHARE} {GUID-OF-HOME-CONNECTION}
Ini harus mengaktifkan ICS.
Penggunaan Powershell
Modul impor:
Impor-Modul IcsManager.dll
Daftar koneksi jaringan:
Dapatkan-NetworkConnections
Mulai Berbagi Koneksi Internet:
Aktifkan-ICS "Koneksi untuk berbagi" "Koneksi rumah"
Hentikan Berbagi Koneksi Internet:
Nonaktifkan-ICS
Penafian: Saya belum menguji alat ini. Gunakan dengan risiko Anda sendiri. Jangan ragu untuk membuka masalah di GitHub jika sesuatu tidak berfungsi. Permintaan penarikan juga diterima.
sumber
C:\Windows\System32\hnetcfg.dll
.regsvr32 hnetcfg.dll
. Dan saya belajar tentanghnetcfg.dll
di msdn.microsoft.com/en-us/library/windows/desktop/…Menurut pemahaman saya, kemampuan perutean telah dihapus dari Windows sejak Vista dan hanya tersedia sekarang di Windows Server.
Trik berikut dapat ditemukan di Internet untuk mengaktifkan kembali
netsh routing
, yang dapat Anda coba dengan risiko Anda sendiri. Saya sarankan terlebih dahulu tindakan pencegahan biasa, termasuk membuat titik pemulihan sistem.Jalankan di Command Prompt (cmd) sebagai administrator:
netsh add helper ipmontr.dll
netsh add helper ippromon.dll
Anda mungkin juga perlu mengatur Layanan Routing dan Akses Jarak Jauh ke startup Otomatis.
Nyalakan ulang sebelum mencoba sesuatu.
sumber
The following helper DLL cannot be loaded: IPMONTR.DLL.
The following helper DLL cannot be loaded: IPPROMON.DLL.
Seorang mantan kolega saya biasa melakukan ini melalui alat netsh windows sendiri. Karena saya belum pernah melakukan ini sendiri, saya sendiri dapat menyarankan Anda untuk melihat dokumentasi microsoft netsh .
Seperti yang saya ingat itu cukup banyak dan banyak panggilan netsh di mana diperlukan untuk melakukannya tetapi itu bekerja pada akhirnya ...
sumber
netsh routing
di Windows XP tetapi pada Windows 7 mereka telah menghapus perintah itu. Itu sebabnya saya hanya bertanya tentang Windows 7.Berikut ini harus bekerja
sumber
netsh routing
di Windows XP tetapi pada Windows 7 mereka telah menghapus perintah itu. Itu sebabnya saya hanya bertanya tentang Windows 7.Sayangnya tidak ada perintah cmd untuk Windows 7 atau lebih, jadi saya menggunakan fungsi Visual Basic ini untuk menyelesaikannya:
Harap perhatikan bahwa "" "" wajib diisi. Selamat bersenang-senang.
sumber
Berdasarkan apa yang saya baca, jika yang telah diposting mengatakan
netsh
tidak berfungsi mulai dari 7 dan ke atas - itu tidak benar. Sekarang jika ini benar-benar tentang "netsh routing
", saya kira Anda mungkin benar, tetapi ini berhasil - saya akan menunjukkan konten file batch yang saya buat yang berfungsi pada Windows 8.1. Alih-alih mendapatkan komentar dan potongan informasi yang biasa, saya akan mencoba dan membantu mereka yang memiliki informasi lengkap.Pertama, Anda perlu memastikan koneksi yang akan Anda bagikan diatur untuk benar-benar berbagi koneksi. Tautan ini di sini akan membantu Anda untuk itu:
http://windows.microsoft.com/en-us/windows/set-internet-connection-sharing#1TC=windows-7
Sepengetahuan saya, saya pikir ini harus bekerja untuk Windows 7 dan 8.
Sekarang karena topiknya adalah tentang solusi baris perintah, ini adalah konten file batch tentang cara saya mengonfigurasi adaptor nirkabel virtual dan siap digunakan.
Setelah dibuat, Anda mungkin harus menggunakan petunjuk di atas dan memastikan Anda berbagi koneksi sumber dengan adaptor virtual yang baru dibuat yang akan dilihat oleh perangkat nirkabel Anda.
File .bat berbagi koneksi:
Saya akan dengan senang hati menjawab pertanyaan tentang ini karena akan ada beberapa situasi unik dan saya ingin membantu karena saya harus mengumpulkan apa yang saya temukan di atas.
Tetapi untuk membawa ini ke perspektif, ini bekerja pada Windows 8.1 menggunakan koneksi Ethernet ke laptop berbagi koneksi ke adaptor virtual. Mungkin juga berfungsi baik jika Anda mencoba berbagi sumber koneksi nirkabel.
sumber