VPN ਵਿੰਡੋ ਖੋਲ੍ਹ ਕੇ ਫਿਰ ਦਸ ਸਕਿੰਟ ਸੌਣ ਵਾਲੀ ਸਕ੍ਰਿਪਟ ਅੰਦਾਜ਼ਾ ਲਾ ਰਹੀ ਹੈ, ਅਤੇ ਉਹ ਅੰਦਾਜ਼ਾ ਦੋਵੇਂ ਪਾਸੇ ਗ਼ਲਤ ਹੈ: ਜਾਂ ਤਾਂ ਇਹ ਟਨਲ ਵਰਤੋਂਯੋਗ ਹੋਣ ਤੋਂ ਪਹਿਲਾਂ ਕਾਪੀ ਸ਼ੁਰੂ ਕਰ ਦਿੰਦੀ ਹੈ, ਜਾਂ ਉਸ ਤੋਂ ਬਾਅਦ ਉਡੀਕਦੀ ਹੈ ਜਦੋਂ ਕੰਮ ਪਹਿਲਾਂ ਹੀ ਸ਼ੁਰੂ ਹੋ ਸਕਦਾ ਸੀ। ਇਹਨਾਂ ਦੋਵੇਂ ਨਤੀਜਿਆਂ ਵਿੱਚੋਂ ਕੋਈ ਵੀ ਨਹੀਂ ਦੱਸਦਾ ਕਿ ਪਰਮਾਣਿਕਤਾ ਪੂਰੀ ਹੋਈ ਜਾਂ ਨਹੀਂ। ਕਮਾਂਡ ਦਾ ਆਪਣਾ ਨਤੀਜਾ ਵਰਤੋ, ਫਿਰ ਸੇਵਾ ਨੂੰ ਅਜਿਹਾ ਸਵਾਲ ਪੁੱਛੋ ਜਿਸ ਦਾ ਉਹ ਸੱਚਮੁੱਚ ਜਵਾਬ ਦੇ ਸਕਦੀ ਹੈ। ਇਹਨਾਂ ਦੋ ਕਦਮਾਂ ਦਾ ਕ੍ਰਮ ਹੀ ਪੂਰਾ ਡਿਜ਼ਾਈਨ ਹੈ।

ਕਮਾਂਡ ਅਸਲ ਵਿੱਚ ਕੀ ਰਿਪੋਰਟ ਕਰਦੀ ਹੈ

ਇੰਸਟਾਲ ਕੀਤੇ ਕਮਾਂਡ-ਲਾਈਨ ਟੂਲ ਦੁਆਰਾ ਸਮਝੇ ਜਾਣ ਵਾਲੇ ਮੂਲ Windows ਪ੍ਰੋਫਾਈਲ ਲਈ, rasdial.exe ਨਾਮ ਵਾਲੀ ਐਂਟਰੀ ’ਤੇ ਡਾਇਲ ਕਰਦਾ ਹੈ ਅਤੇ ਪ੍ਰਕਿਰਿਆ ਦਾ ਐਗਜ਼ਿਟ ਕੋਡ ਵਾਪਸ ਕਰਦਾ ਹੈ। ਉਹ ਕੋਡ ਡਾਇਲ ਕੋਸ਼ਿਸ਼ ਦਾ ਵਰਣਨ ਕਰਦਾ ਹੈ: ਜ਼ੀਰੋ ਦਾ ਮਤਲਬ ਹੈ ਕਿ ਉਸ ਪ੍ਰੋਫਾਈਲ ਲਈ ਕਨੈਕਸ਼ਨ ਬਣ ਗਿਆ, ਅਤੇ ਗੈਰ-ਜ਼ੀਰੋ ਦਾ ਮਤਲਬ ਹੈ ਕਿ ਇਹ ਕੋਡ ਵੱਲੋਂ ਦੱਸੇ ਗਏ ਕਿਸੇ ਪੜਾਅ ’ਤੇ ਫੇਲ੍ਹ ਹੋਇਆ। ਇਸਨੂੰ ਇੱਕ ਪਰਤ ਦਾ ਨਤੀਜਾ ਪੜ੍ਹੋ, ਪੂਰੇ ਕੰਮ ਦਾ ਨਹੀਂ।

ਇਹ ਨਤੀਜਾ ਪਤਾ ਦੇਣ, ਨਿੱਜੀ DNS, ਜੋੜੇ ਗਏ ਰਸਤੇ ਜਾਂ ਕਿਸੇ ਖ਼ਾਸ ਸਰਵਰ ਤੱਕ ਪਹੁੰਚਣ ਦੀ ਇਜਾਜ਼ਤ ਬਾਰੇ ਕੁਝ ਨਹੀਂ ਦੱਸਦਾ। ਇਹ ਸਭ ਸਫਲ ਡਾਇਲ ਤੋਂ ਬਾਅਦ ਹੁੰਦੇ ਹਨ, ਅਤੇ ਇਹਨਾਂ ਵਿੱਚੋਂ ਕੋਈ ਵੀ ਅਜੇ ਵੀ ਗ਼ਲਤ ਹੋ ਸਕਦਾ ਹੈ। ਇਹੀ ਖਾਲੀ ਥਾਂ ਹੈ ਜਿਸ ਕਰਕੇ ਜੁੜਿਆ ਆਈਕਨ ਅਤੇ ਫੇਲ੍ਹ ਕਾਪੀ ਇਕੱਠੇ ਦਿਖਦੇ ਹਨ।

ਹੋਰ ਕੁਝ ਚੱਲਣ ਤੋਂ ਪਹਿਲਾਂ ਨਤੀਜਾ ਫੜੋ

ਪ੍ਰੋਫਾਈਲ ਉਸ ਖਾਤੇ ਲਈ ਮੌਜੂਦ ਹੈ ਜੋ ਕੰਮ ਚਲਾਏਗਾ, ਨਾ ਕਿ ਸਿਰਫ਼ ਉਸ ਖਾਤੇ ਲਈ ਜਿਸ ਨਾਲ ਤੁਸੀਂ ਟੈਸਟ ਕਰ ਰਹੇ ਹੋ, ਇਹ ਪੱਕਾ ਕਰਕੇ ਸ਼ੁਰੂ ਕਰੋ:

Get-VpnConnection -Name "Contoso-Office"
Get-VpnConnection -Name "Contoso-Office" -AllUserConnection

ਫਿਰ ਡਾਇਲ ਕਰੋ ਅਤੇ ਕੋਡ ਤੁਰੰਤ ਪੜ੍ਹੋ। PowerShell ਮੂਲ ਨਤੀਜਾ $LASTEXITCODE ਵਿੱਚ ਅਗਲੀ ਬਾਹਰੀ ਕਮਾਂਡ ਚੱਲਣ ਤੱਕ ਹੀ ਰੱਖਦਾ ਹੈ, ਇਸ ਲਈ ਡਾਇਲ ਅਤੇ ਜਾਂਚ ਵਿਚਕਾਰ ਕੋਈ ਬੇਧਿਆਨ ping ਚੱਲ ਜਾਵੇ ਤਾਂ ਤੁਹਾਡਾ ਪੜ੍ਹਨਾ ਚਾਹਿਆ ਮੁੱਲ ਨਸ਼ਟ ਹੋ ਜਾਂਦਾ ਹੈ। ਪਹਿਲਾਂ ਇਸਨੂੰ ਆਪਣੇ ਵੇਰੀਏਬਲ ਵਿੱਚ ਪਾਓ, ਫਿਰ ਤੈਅ ਕਰੋ ਕੀ ਕਰਨਾ ਹੈ।

& rasdial.exe "Contoso-Office"
$dial = $LASTEXITCODE
if ($dial -ne 0) { throw "rasdial failed with $dial" }

ਕੋਡ ਨਾਲ ਗੈਰ-ਗੁਪਤ ਗਲਤੀ ਟੈਕਸਟ ਲੌਗ ਕਰੋ, ਕਿਉਂਕਿ ਗੁੰਮ ਐਂਟਰੀ, ਰੱਦ ਕੀਤੇ ਕ੍ਰੈਡੈਂਸ਼ੀਅਲ ਅਤੇ ਸਮਾਂ ਸਮਾਪਤੀ ਵੱਖਰੇ ਜਵਾਬ ਮੰਗਦੇ ਹਨ। ਸਾਰਣੀ ਆਮ ਨਤੀਜਿਆਂ ਨੂੰ ਅਗਲੀ ਕਾਰਵਾਈ ਨਾਲ ਜੋੜਦੀ ਹੈ।

ResultWhat it indicatesNext step
0The dial completedProbe the resource, do not start writing yet
691The credential or authentication method was rejectedFix the account or method, do not retry in a loop
623The named entry was not foundFix the profile name or its scope
Other non-zeroTransport, timeout or adapter failureRead the message, then check the path

ਤਿਆਰੀ ਸਰੋਤ ਹੈ, ਟਨਲ ਨਹੀਂ

ਡਾਇਲ ਸਫਲ ਹੋਣ ’ਤੇ ਕੰਮ ਨੂੰ ਜੋ ਚਾਹੀਦਾ ਹੈ ਉਹ ਟੈਸਟ ਕਰੋ। ਸਾਂਝਾ ਫੋਲਡਰ, API ਐਂਡਪੌਇੰਟ ਜਾਂ ਡੇਟਾਬੇਸ ਪੋਰਟ ਕਿਸੇ ਜਨਤਕ ਵੈੱਬਸਾਈਟ ਨਾਲੋਂ ਵਧੀਆ ਤਿਆਰੀ-ਜਾਂਚ ਹੈ, ਕਿਉਂਕਿ ਜਨਤਕ ਸਾਈਟ ਕਿਸੇ ਵੀ ਕੰਮ ਕਰਦੇ ਰਸਤੇ ਰਾਹੀਂ ਜਵਾਬ ਦਿੰਦੀ ਹੈ ਅਤੇ ਨਿੱਜੀ ਰਸਤੇ ਬਾਰੇ ਕੁਝ ਸਾਬਤ ਨਹੀਂ ਕਰਦੀ। ਉਹੀ ਜਾਂਚ ਚੁਣੋ ਜਿਸ ’ਤੇ ਐਪਲੀਕੇਸ਼ਨ ਆਪ ਨਿਰਭਰ ਹੈ। ਸਫਲ TCP ਕਨੈਕਸ਼ਨ ਦੱਸਦਾ ਹੈ ਕਿ ਰੂਟਿੰਗ ਅਤੇ ਫਿਲਟਰਿੰਗ ਖੁੱਲ੍ਹੇ ਹਨ, ਅਤੇ ਪਹਿਲੀ ਲਿਖਤ ਨੂੰ ਬਹੁਤਾ ਕਰਕੇ ਇਹੀ ਚਾਹੀਦਾ ਹੈ:

Test-NetConnection -ComputerName files.contoso.example -Port 445

ਕੋਸ਼ਿਸ਼ਾਂ ਸੀਮਤ ਕਰੋ ਅਤੇ ਦਰਜ ਕਰੋ ਕਿ ਕਿਹੜਾ ਪੜਾਅ ਫੇਲ੍ਹ ਹੋਇਆ। ਰੱਦ ਕੀਤੇ ਕ੍ਰੈਡੈਂਸ਼ੀਅਲ ਨੂੰ ਸਕ੍ਰਿਪਟ ਰੋਕਣੀ ਚਾਹੀਦੀ ਹੈ, ਮੁੜ-ਕੋਸ਼ਿਸ਼ ਦਾ ਚੱਕਰ ਭਰਨਾ ਨਹੀਂ; ਅਜੇ ਨਾ ਆਇਆ DNS ਨਾਮ ਕੁਝ ਛੋਟੀਆਂ ਮੁੜ-ਕੋਸ਼ਿਸ਼ਾਂ ਦਾ ਹੱਕਦਾਰ ਹੈ; ਕਦੇ ਨਾ ਖੁੱਲ੍ਹਣ ਵਾਲਾ ਪੋਰਟ ਕਲਾਇੰਟ ਤੋਂ ਉੱਪਰ ਦੀ ਰੂਟਿੰਗ ਜਾਂ ਨੀਤੀ ਦੀ ਸਮੱਸਿਆ ਹੈ।

ਜਿੱਥੇ ਕੰਮ ਸ਼ੁਰੂ ਹੋਣ ਤੋਂ ਪਹਿਲਾਂ ਹੀ ਕਨੈਕਸ਼ਨ ਮੌਜੂਦ ਸੀ, ਉਸਨੂੰ ਛੱਡ ਦਿਓ। ਤੁਹਾਡੇ ਵੱਲੋਂ ਨਾ ਖੋਲ੍ਹਿਆ ਸੈਸ਼ਨ ਡਿਸਕਨੈਕਟ ਕਰਨਾ ਵਰਤੋਂਕਾਰ ਦੇ ਹੋਰ ਕੰਮ ਵਿੱਚ ਰੁਕਾਵਟ ਪਾਉਂਦਾ ਹੈ, ਇਸ ਲਈ ਦਰਜ ਕਰੋ ਕਿ ਸੈਸ਼ਨ ਕਿਸਦਾ ਹੈ ਅਤੇ ਕਿਹੜਾ ਬੰਦ ਕਰਨਾ ਢੁੱਕਵਾਂ ਹੈ।

ਪ੍ਰੋਫਾਈਲ ਨੂੰ ਕੰਮ ਚਲਾਉਣ ਵਾਲੇ ਖਾਤੇ ਤੱਕ ਸੀਮਤ ਕਰੋ

ਤਹਿ ਕੀਤਾ ਕੰਮ ਆਪਣੀ ਪਛਾਣ ਅਤੇ ਸੈਸ਼ਨ ਹੇਠ ਚੱਲਦਾ ਹੈ, ਅਤੇ ਤੁਹਾਡੇ ਡੈਸਕਟਾਪ ’ਤੇ ਚੱਲਣ ਵਾਲਾ ਪ੍ਰੋਫਾਈਲ ਉੱਥੇ ਅਦਿੱਖ ਹੋ ਸਕਦਾ ਹੈ। ਸਮਾਂ-ਸਾਰਣੀ ’ਤੇ ਭਰੋਸਾ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਦਿੱਖ-ਜਾਂਚ ਅਤੇ ਡਾਇਲ ਕੰਮ ਦੇ ਖਾਤੇ ਹੇਠ ਦੁਬਾਰਾ ਚਲਾਓ। ਪਾਸਵਰਡ ਕਮਾਂਡ ਲਾਈਨ ਤੋਂ ਦੂਰ ਰੱਖੋ: ਆਰਗਿਊਮੈਂਟ ਹੋਰ ਪ੍ਰਕਿਰਿਆਵਾਂ ਨੂੰ ਦਿਖਦੇ ਹਨ ਅਤੇ ਅਕਸਰ ਲੌਗਾਂ ਵਿੱਚ ਪਹੁੰਚ ਜਾਂਦੇ ਹਨ।

ਜੇ ਤੈਨਾਤੀ ਲਈ ਬ੍ਰਾਊਜ਼ਰ ਪ੍ਰੋਂਪਟ, ਸਮਾਰਟ-ਕਾਰਡ ਟਚ ਜਾਂ MFA ਮਨਜ਼ੂਰੀ ਚਾਹੀਦੀ ਹੈ ਤਾਂ ਉਹ ਇੰਟਰੈਕਸ਼ਨ ਡਿਜ਼ਾਈਨ ਦਾ ਹਿੱਸਾ ਹੈ ਅਤੇ ਕੀਬੋਰਡ ਦਬਾਅ ਦੀ ਨਕਲ ਕਰਕੇ ਆਟੋਮੈਟਿਕ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਦਾ। ਉਸ ਮਾਮਲੇ ਲਈ ਸਮਰਥਿਤ ਕਲਾਇੰਟ ਵਰਤੋ ਅਤੇ ਮਨੁੱਖੀ ਕਦਮ ਹੋਣ ਦਿਓ।

ਅੰਤਿਮ ਸਕ੍ਰਿਪਟ ਦੀ ਸ਼ਕਲ ਛੋਟੀ ਰਹਿੰਦੀ ਹੈ: ਪ੍ਰੋਫਾਈਲ ਜਾਂਚੋ, ਡਾਇਲ ਕਰੋ, ਕੋਡ ਪੜ੍ਹੋ, ਸਰੋਤ ਜਾਂਚੋ, ਫਿਰ ਕੰਮ ਸ਼ੁਰੂ ਕਰੋ। ਹਰ ਕਦਮ ਉਸ ਸਵਾਲ ਦਾ ਜਵਾਬ ਦਿੰਦਾ ਹੈ ਜਿਸ ਦਾ ਪਿਛਲਾ ਨਹੀਂ ਦੇ ਸਕਿਆ, ਅਤੇ ਇਹਨਾਂ ਵਿੱਚੋਂ ਕੋਈ ਵੀ ਨੀਂਦ ’ਤੇ ਨਿਰਭਰ ਨਹੀਂ ਕਰਦਾ।

ਸੰਬੰਧਿਤ ਲੇਖ