Ваш профіль VPN знаходзіцца прама ў Наладах, а запланаванае заданне ўсё яшчэ паведамляе, што не можа знайсці злучэнне. Нічога не пашкоджана: уласнае сховішча VPN у Windows прывязанае да карыстальніка, калі профіль не створаны як агульны, а заданне выконваецца ад імені таго ўліковага запісу, які называе яго principal. Звычайна заданне чытае кнігу тэлефонаў, у якой вашага профілю ніколі не было. Двух каманд і адной налады задання дастаткова, каб гэта даказаць, і іх варта выканаць, перш чым хтосьці перабудуе злучэнне.

Два сховішчы трымаюць адну назву профілю

Уласны профіль VPN у Windows жыве ў сховішчы ўліковага запісу, які яго стварыў. Глабальнае сховішча — іншая кніга тэлефонаў, якая запаўняецца толькі тады, калі профіль створаны з пераключальнікам для ўсіх карыстальнікаў у павышанай сесіі. Абодва могуць трымаць профіль з аднолькавай назвай, і ні адзін не з'яўляецца прадстаўленнем другога.

Прачытайце абодва сховішчы з адной сесіі і параўнайце назвы, якія яны вяртаюць. Пераключальнік выбірае глабальнае сховішча, і для яго чытання звычайна патрабуецца павышаная сесія:

Get-VpnConnection | Select-Object Name, ServerAddress, TunnelType
Get-VpnConnection -AllUserConnection | Select-Object Name, ServerAddress, TunnelType

Калі першая каманда пералічвае профіль, а другая не, ніякая змена ўліковых даных не дапаможа заданню, якое выконваецца ад імені іншага ўліковага запісу, бо праблема — членства, а не аўтэнтыфікацыя. Калі абедзве пералічваюць яго, сховішча не прычына, і прымяняецца наступны раздзел. Адно гэтае параўнанне зачыняе палову такіх заявак. Запішыце, якое сховішча адказала і ад імені якога ўліковага запісу вы выконвалі праверку, бо адказ нічога не значыць без абодвух фактаў.

Чытайце principal задання раней за яго ўліковыя даныя

Адкрыйце заданне і прачытайце principal, бо ён паказвае, якое сховішча заданне бачыць. Заданне, настроенае на SYSTEM, — гэта не ваш уліковы запіс з дадатковымі правамі: у яго ўласны профіль і няма доступу да кнігі тэлефонаў канкрэтнага карыстальніка, якую вы стварылі, увайшоўшы ў сістэму. Сэрвісны ўліковы запіс паводзіць сябе сапраўды гэтак жа.

Параметр запуску незалежна ад уваходу таксама гэта змяняе, бо тады ў задання няма інтэрактыўнай сесіі, чые ўліковыя даныя яно магло б пазычыць. Няхай дзеянне запіша whoami у файл, і прачытайце адказ замест таго, каб меркаваць яго.

Дыягностыка з вашага ўласнага тэрмінала нічога не кажа пра гэтую праблему, бо паказвае тое, што бачыць ваш уліковы запіс. Выканайце параўнанне ад імені задання праз любы зацверджаны працэс, які ў вас для гэтага ёсць. Вывад, устаўлены з кансолі адміністратара, — гэта іншы набор даных, а не больш прывілеяваны. Калі такога працэсу няма, заданне павінна сама запісаць адказ, што і наладжвае апошні раздзел.

Знайсці профіль — гэта не ўвайсці ў сістэму

Агульны профіль робіць канфігурацыю бачнай шырэй. Ён не пераносіць захаваны пароль з уліковага запісу, які яго стварыў, і не перадае іншаму ўліковаму запісу прыватны ключ, захаваны ў вашым профілі карыстальніка. Бачнасць і прыдатныя ўліковыя даныя — два асобныя тэсты, і праходжанне першага нічога не кажа пра другі.

Калі заданне цяпер знаходзіць профіль і не праходзіць аўтэнтыфікацыю, гэта прагрэс, і этап належыць запісу. Перанясіце сертыфікат у сховішча камп'ютара або перадайце сакрэт праз уласны механізм разгортвання, замест таго каб зноў ствараць назву злучэння. Паўторнае стварэнне дае тую ж памылку з больш новым часавым штампам. Microsoft дакументуе дзве вобласці , паміж якімі выбірае пераключальнік cmdlet.

Неінтэрактыўныя выклікі — пастка за гэтым этапам. Запыт PIN або аднаразовы код не можа быць адказаны заданнем без працоўнага стала, таму профіль, які ідэальна злучаецца ўручную, можа быць непрыдатным пры аўтаматызацыі.

Чатыры палі, якія патрэбныя запісу задання

Трымайце значэнні, што вызначаюць вынік, разам у адным месцы, бо тры з іх звычайна застаюцца няяўнымі. Запісу патрэбныя чатыры радкі:

  • Шлях дзеяння: сцэнар або выканальны файл, які запускае заданне, а не ярлык, што вырашаецца інакш для іншага ўліковага запісу.
  • Назва профілю: дакладны радок, бо два сховішчы могуць трымаць адну назву, якая паказвае на розныя серверы.
  • Principal: уліковы запіс, ад імя якога выконваецца заданне, і ці ёсць у яго інтэрактыўная сесія.
  • Метад аўтэнтыфікацыі: што гэты principal сапраўды можа завяршыць, напрыклад сертыфікат са сховішча камп'ютара, а не ключ у вашым профілі карыстальніка.

Гэтыя чатыры радкі адказваюць на пытанне, якое насамрэч ставіць заяўка: якую канфігурацыю выкарыстала аўтаматызацыя. Яны таксама перажываюць наступную перабудову задання, калі першапачатковага аўтара няма побач, каб патлумачыць, чаму назва мела значэнне. Без іх тая ж памылка вяртаецца пасля наступнага разгортвання і зноў каштуе тыя ж гадзіны.

Вызначце этап, да якога дайшло заданне

Інструментуйце дзеянне замест здагадак па выніку апошняга запуску. Кароткая абгортка запісвае ідэнтычнасць, бачнае сховішча і вынік злучэння ў адным месцы:

whoami
Get-VpnConnection -AllUserConnection | Select-Object Name, ServerAddress
rasdial "Office"
schtasks /query /tn "VPN Connect" /v /fo LIST

Каманда злучэння друкуе ўласную памылку, якая звычайна зразумелая за агульны збой задання. Запыт вяртае principal і апошні код выніку побач, таму ідэнтычнасць і вынік бачныя ў адным прадстаўленні. Гэтыя два факты вырашаюць, што будзе наступным крокам — змена сховішча ці змена ўліковых даных.

Нарэшце, аддзяліце заданне, якое злучаецца пасля ўваходу карыстальніка, ад тунэлю прылады або падтрыманага працэсу да ўваходу. Супольнае выкарыстанне аднаго профілю не з'яўляецца праектам ні для аднаго з іх, і менавіта поле principal кажа, які з трох вы пабудавалі. Калі злучэнне павінна існаваць да ўваходу, сховішча профіляў канкрэтнага карыстальніка — не той узровень, які трэба выпраўляць.

Падобныя артыкулы