Запуск SAP GUI ΠΈΠ· Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°

Π­Ρ‚Ρƒ ΡΡ‚Π°Ρ‚ΡŒΡŽ я сначала написал Π² свой Π±Π»ΠΎΠ³, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΡ‚ΠΎΠΌ ΠΎΠΏΡΡ‚ΡŒ Π½Π΅ ΠΈΡΠΊΠ°Ρ‚ΡŒ ΠΈ Π½Π΅ Π²ΡΠΏΠΎΠΌΠΈΠ½Π°Ρ‚ΡŒ, Π½ΠΎ ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π±Π»ΠΎΠ³ Π½ΠΈΠΊΡ‚ΠΎ Π½Π΅ Ρ‡ΠΈΡ‚Π°Π΅Ρ‚, Ρ‚ΠΎ этой ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ Π·Π°Ρ…ΠΎΡ‚Π΅Π»ΠΎΡΡŒ ΠΏΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ со всСми, Π²Π΄Ρ€ΡƒΠ³ ΠΊΠΎΠΌΡƒ ΠΏΡ€ΠΈΠ³ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ.

Π’ΠΎ врСмя Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π°Π΄ ΠΈΠ΄Π΅Π΅ΠΉ сСрвиса ΠΏΠΎ сбросу пароля Π² систСмах SAP R/3 Π²ΠΎΠ·Π½ΠΈΠΊ вопрос β€” Π° ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ SAP GUI с Π½ΡƒΠΆΠ½Ρ‹ΠΌΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ ΠΈΠ· Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°? ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π² этой ΠΈΠ΄Π΅Π΅ ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°Π»ΠΎΡΡŒ использованиС Π²Π΅Π±-сСрвиса, сначала ΠΎΡ‚Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎ ΠΏΠΎ запросу SOAP ΠΈΠ· SAP GUI ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡŽΡ‰Π΅Π³ΠΎ письмо со ссылкой Π½Π° Π²Π΅Π±-страницу со скриптом сброса пароля Π½Π° Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΉ, Π° ΠΏΠΎΡ‚ΠΎΠΌ ΡƒΠΆΠ΅ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ сообщСния ΠΎΠ± ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠΌ сбросС пароля ΠΈ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ этого самого Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ пароля, Ρ‚ΠΎ Ρ…ΠΎΡ‚Π΅Π»ΠΎΡΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π° этой страницС Π±Ρ‹Π»Π° Π΅Ρ‰Π΅ ΠΈ ссылка Π½Π° запуск SAP GUI. ΠŸΡ€ΠΈΡ‡Π΅ΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ эта ссылка ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π»Π° Π½ΡƒΠΆΠ½ΡƒΡŽ систСму, Π΄Π° Π΅Ρ‰Π΅, ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, сразу с Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π½Ρ‹ΠΌΠΈ полями Π»ΠΎΠ³ΠΈΠ½Π° ΠΈ пароля: ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ ΠΎΡΡ‚Π°Π²Π°Π»ΠΎΡΡŒ Π±Ρ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π΄Π²Π°ΠΆΠ΄Ρ‹ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ.

Запуск SAP Logon β€” для нашСй Ρ†Π΅Π»ΠΈ Π±Ρ‹Π» Π½Π΅ интСрСсСн, Π° ΠΏΡ€ΠΈ запускС sapgui.exe Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΌΠ°Π½Π΄Π°Π½Ρ‚ ΠΈ имя ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, Π·Π°Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ систСму Π½Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΡƒΡŽ Π² SAP Logon. Π‘ Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны, запуск SAP GUI с ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ сСрвСра Π±Ρ‹Π» Π½Π΅ особСнно Π°ΠΊΡ‚ΡƒΠ°Π»Π΅Π½: ΡƒΠΆ Ссли ΠΌΡ‹ Ρ€Π΅ΡˆΠ°Π΅ΠΌ Π·Π°Π΄Π°Ρ‡Ρƒ сброса пароля ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, Ρ‚ΠΎ скорСС всСго Ρƒ Π½Π΅Π³ΠΎ Π² SAP Logon ΡƒΠΆΠ΅ Π΅ΡΡ‚ΡŒ нуТная строка, с Π½ΡƒΠΆΠ½Ρ‹ΠΌΠΈ Π΅ΠΌΡƒ настройками ΠΈ Π½Π΅ Π½Π°Π΄ΠΎ Π»Π΅Π·Ρ‚ΡŒ со своими. Π—Π°Ρ‚ΠΎ Π·Π°Π΄Π°Π½Π½Ρ‹ΠΌ трСбованиям удовлСтворяла тСхнология SAP GUI Shortcut ΠΈ собствСнно ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° sapshcut.exe, которая Π΄Π°Π²Π°Π»Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ SAP GUI с использованиСм ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ «ярлыка».

РСшСниС Π·Π°Π΄Π°Ρ‡ΠΈ Π² Π»ΠΎΠ±: запуск sapshcut.exe нСпосрСдствСнно ΠΈΠ· Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π° с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ActiveX:

function openSAPGui(sid, client, user, password) {
var shell = new ActiveXObject("WScript.Shell");
shell.run('sapshcut.exe -system="'+sid+'" -client='+client+' -user="'+user+'" -pw="'+password+'" -language=RU');
}

РСшСниС ΠΏΠ»ΠΎΡ…ΠΎΠ΅: Π²ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Internet Explorer, Π²ΠΎ-Π²Ρ‚ΠΎΡ€Ρ‹Ρ…, Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… настроСк бСзопасности Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π² ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π·Π°ΠΏΡ€Π΅Ρ‰Π΅Π½Ρ‹ Π½Π° Π΄ΠΎΠΌΠ΅Π½Π½ΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅, ΠΈ Π΄Π°ΠΆΠ΅ Ссли Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½Ρ‹, Ρ‚ΠΎ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ Π²Ρ‹Π΄Π°Π΅Ρ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ ΠΎΠΊΠ½ΠΎ с ΠΏΡƒΠ³Π°ΡŽΡ‰ΠΈΠΌ ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ΠΌ:

Запуск SAP GUI ΠΈΠ· Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°

РСшСниС β„–2 ΠΎΡ‚ΠΊΠΎΠΏΠ°Π» Π² ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π΅: созданиС собствСнного Π²Π΅Π±-ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π°. ΠŸΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π½ΡƒΠΆΠ½ΠΎΠ΅ Π½Π°ΠΌ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ссылки с ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ сами рСгистрируСм Π² Windows Π² рССстрС Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ HKEY_CLASSES_ROOT. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Ρƒ SAP GUI Shortcut Π² этом Ρ€Π°Π·Π΄Π΅Π»Π΅ Π΅ΡΡ‚ΡŒ свой ΠΏΠΎΠ΄Ρ€Π°Π·Π΄Π΅Π», Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Ρ‚ΡƒΠ΄Π° Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ строковой ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ URL Protocol с пустым Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ:

Запуск SAP GUI ΠΈΠ· Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°

Π”Π°Π½Π½Ρ‹ΠΉ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» запускаСт sapgui.exe с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ /SHORTCUT, Ρ‡Ρ‚ΠΎ Π½Π°ΠΌ ΠΊΠ°ΠΊ Π±Ρ‹ ΠΈ Π½Π°Π΄ΠΎ:

Запуск SAP GUI ΠΈΠ· Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°

Ну ΠΈΠ»ΠΈ Ссли ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΎΠΎΠ±Ρ‰Π΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, sapshcut), Ρ‚ΠΎ Π·Π°Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ reg-Ρ„Π°ΠΉΠ»Π°:

Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOTsapshcut] @="sapshcut Handler"
"URL Protocol"=""
[HKEY_CLASSES_ROOTsapshcutDefaultIcon] @="sapshcut.exe"
[HKEY_CLASSES_ROOTsapshcutshell] [HKEY_CLASSES_ROOTsapshcutshellopen] [HKEY_CLASSES_ROOTsapshcutshellopencommand] @="sapshcut.exe "%1""

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, Ссли ΠΌΡ‹ Π½Π° Π²Π΅Π±-страницС сдСлаСм ссылку с ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° Sapgui.Shortcut.File ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

<a href='Sapgui.Shortcut.File: -system=SID -client=200'>SID200</a>

Ρƒ нас Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒΡΡ ΠΎΠΊΠ½ΠΎ Π²ΠΈΠ΄Π°:

Запуск SAP GUI ΠΈΠ· Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°

И Π²Ρ€ΠΎΠ΄Π΅ всё Π·Π°ΠΌΠ΅Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Π½ΠΎ ΠΏΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ Β«Π Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ΡŒΒ» Π²ΠΈΠ΄ΠΈΠΌ:

Запуск SAP GUI ΠΈΠ· Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°

Опа, Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ ΠΏΡ€ΠΎΠ±Π΅Π» ΠΏΡ€Π΅Π²Ρ€Π°Ρ‚ΠΈΠ» Π² %20. Ну ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ символы Ρ‚ΠΎΠΆΠ΅ Π±ΡƒΠ΄ΡƒΡ‚ Π·Π°ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ Π² свой числовой ΠΊΠΎΠ΄ с символом ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚Π°. И самоС нСприятноС, Ρ‡Ρ‚ΠΎ Ρ‚ΡƒΡ‚ Π½ΠΈΡ‡Π΅Π³ΠΎ нСльзя ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π° (Ρ‚ΡƒΡ‚ всё сдСлано ΠΏΠΎ стандарту) β€” Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ Π½Π΅ Π»ΡŽΠ±ΠΈΡ‚ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ символы, Π° ΠΊΠΎΠΌΠ°Π½Π΄Π½Ρ‹ΠΉ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ Windows Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с Ρ‚Π°ΠΊΠΈΠΌΠΈ Π·Π°ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌΠΈ значСниями. И Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ минус β€” Π² качСствС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° пСрСдаСтся вся строка, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° ΠΈ Π΄Π°ΠΆΠ΅ Π΄Π²ΠΎΠ΅Ρ‚ΠΎΡ‡ΠΈΠ΅ (sapgui.shortcut.file:). ΠŸΡ€ΠΈΡ‡Π΅ΠΌ, хотя Ρ‚ΠΎΡ‚ ΠΆΠ΅ sapshcut.exe ΡƒΠΌΠ΅Π΅Ρ‚ отбрасываСт всё Ρ‡Ρ‚ΠΎ Π½Π΅ являСтся для Π½Π΅Π³ΠΎ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ (начинаСтся с символа Β«-Β«, ΠΏΠΎΡ‚ΠΎΠΌ Π½Π°Π·Π²Π°Π½ΠΈΠ΅, Β«=Β» ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅), Ρ‚.Π΅. строка Π²ΠΈΠ΄Π° Β«sapgui.shortcut.file: -system=SIDΒ» Π΅Ρ‰Π΅ ΠΏΡ€ΠΎΠΊΠ°Ρ‚ΠΈΡ‚, Ρ‚ΠΎ Π±Π΅Π· ΠΏΡ€ΠΎΠ±Π΅Π»Π° Β«sapgui.shortcut.file:-system=SIDΒ» ΡƒΠΆΠ΅ Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚.

ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ΡΡ, Ρ‡Ρ‚ΠΎ, Π² ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ΅, Π΅ΡΡ‚ΡŒ Π΄Π²Π° Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° использования URI-ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π°:

  1. ИспользованиС Π±Π΅Π· ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ²: Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ Ρ†Π΅Π»ΡƒΡŽ ΠΊΡƒΡ‡Ρƒ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΠ² ΠΏΠΎΠ΄ всС наши систСмы Π²ΠΈΠ΄Π° SIDMANDT, Ρ‚ΠΈΠΏΠ° AAA200, BBB200 ΠΈ Ρ‚.ΠΏ. Если Π½ΡƒΠΆΠ½ΠΎ просто Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π½ΡƒΠΆΠ½ΡƒΡŽ систСму, Ρ‚ΠΎ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ Π²ΠΏΠΎΠ»Π½Π΅ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ, Π½ΠΎ Π² нашСм случаС Π½Π΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΡƒΠΆ хотя Π±Ρ‹ Π»ΠΎΠ³ΠΈΠ½ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ хочСтся Ρ‚ΠΎΠΆΠ΅ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ, Π° это Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π½Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ.
  2. ИспользованиС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹-ΠΎΠ±Π΅Ρ€Ρ‚ΠΊΠΈ для Π²Ρ‹Π·ΠΎΠ²Π° sapshcut.exe ΠΈΠ»ΠΈ sapgui.exe. Π‘ΡƒΡ‚ΡŒ Π΄Π°Π½Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ проста β€” ΠΎΠ½Π° Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ€Π°Ρ‚ΡŒ Ρ‚Ρƒ строку, Ρ‡Ρ‚ΠΎ Π΅ΠΉ пСрСдаст Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ Ρ‡Π΅Ρ€Π΅Π· Π²Π΅Π±-ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» ΠΈ Π΅Ρ‘ ΠΏΡ€Π΅Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ Π² Ρ‚ΠΎ прСдставлСниС, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Windows, Ρ‚.Π΅. ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ ΠΏΡ€Π΅Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ всС ΠΊΠΎΠ΄Ρ‹ символов Π² символы (ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π΄Π°ΠΆΠ΅ Ρ€Π°Π·Π±ΠΈΡ€Π°Π΅Ρ‚ строку ΠΏΠΎ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌ) ΠΈ ΡƒΠΆΠ΅ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ SAP GUI Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΎ Π²Π΅Ρ€Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ. Π’ нашСм случаС Ρ‚ΠΎΠΆΠ΅ Π½Π΅ совсСм ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ (поэтому Π΄Π°ΠΆΠ΅ Π½Π΅ стал Π΅Ρ‘ ΠΏΠΈΡΠ°Ρ‚ΡŒ), ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Π½Π°ΠΌ ΡƒΠΆΠ΅ ΠΌΠ°Π»ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» Π½Π° всСх ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… ПК (Π² Ρ€Π°ΠΌΠΊΠ°Ρ… Π΄ΠΎΠΌΠ΅Π½Π° это Π΅Ρ‰Π΅ ΠΊΡƒΠ΄Π° Π½ΠΈ шло, хотя Ρ‚ΠΎΠΆΠ΅ Π»ΡƒΡ‡ΡˆΠ΅ ΠΈΠ·Π±Π΅Π³Π°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΎΠΉ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ), Π½ΠΎ Ρ‚ΡƒΡ‚ потрСбуСтся Π΅Ρ‰Ρ‘ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Ρ€Π°Π·ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π½Π° ПК, Π΄Π° Π΅Ρ‰Π΅ ΠΈ постоянно ΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½Π° Π½ΠΈΠΊΡƒΠ΄Π° Π½Π΅ дСлась ΠΏΡ€ΠΈ пСрСустановках ПО Π½Π° ПК.

Π’.Π΅. Π΄Π°Π½Π½Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ Ρ‚ΠΎΠΆΠ΅ отбрасываСм ΠΊΠ°ΠΊ Π½Π΅Π³ΠΎΠ΄Π½Ρ‹ΠΉ Π½Π°ΠΌ.

Π’ΡƒΡ‚ я ΡƒΠΆΠ΅ Π½Π°Ρ‡Π°Π» Π΄ΡƒΠΌΠ°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ с ΠΈΠ΄Π΅Π΅ΠΉ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ SAP GUI с Π½ΡƒΠΆΠ½Ρ‹ΠΌΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ ΠΈΠ· Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π° придСтся Ρ€Π°ΡΠΏΡ€ΠΎΡ‰Π°Ρ‚ΡŒΡΡ, Π½ΠΎ Ρ‚ΡƒΡ‚ ΠΌΠ½Π΅ Π² Π³ΠΎΠ»ΠΎΠ²Ρƒ ΠΏΡ€ΠΈΡˆΠ»Π° ΠΌΡ‹ΡΠ»ΡŒ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π² SAP Logon ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ярлык ΠΈ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ стол. Π― пользовался Ρ‚Π°ΠΊΠΈΠΌ способом ΠΊΠΎΠ³Π΄Π°-Ρ‚ΠΎ, Π½ΠΎ Π΄ΠΎ этого Ρ„Π°ΠΉΠ» ярлыка ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ Π½Π΅ смотрСл. И оказалось, Ρ‡Ρ‚ΠΎ Π΄Π°Π½Π½Ρ‹ΠΉ ярлык прСдставляСт ΠΈΠ· сСбя ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ тСкстовый Ρ„Π°ΠΉΠ» с Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ .sap. И Ссли Π΅Π³ΠΎ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π² Windows β€” запустится SAP GUI с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈ ΡƒΠΊΠ°Π·Π°Π½Ρ‹ Π² этом Ρ„Π°ΠΉΠ»Π΅. Β«Π‘ΠΈΠ½Π³ΠΎ!Β»

Π€ΠΎΡ€ΠΌΠ°Ρ‚ Π΄Π°Π½Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ (Π΅Ρ‰Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ запускаСмая транзакция ΠΏΡ€ΠΈ стартС, Π½ΠΎ я Π΅Ρ‘ опустил):

[System] Name=SID
Client=200
[User] Name=
Language=RU
Password=
[Function] Title=
[Configuration] GuiSize=Maximized
[Options] Reuse=0

Π’Ρ€ΠΎΠ΄Π΅ Π±Ρ‹ всё, Ρ‡Ρ‚ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ: ΠΈ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ систСмы, ΠΈ ΠΌΠ°Π½Π΄Π°Π½Ρ‚, ΠΈ имя ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈ Π΄Π°ΠΆΠ΅ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ. И Π΄Π°ΠΆΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹: Title β€” Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ ΠΎΠΊΠ½Π°, GuiSize β€” Ρ€Π°Π·ΠΌΠ΅Ρ€ Π·Π°ΠΏΡƒΡ‰Π΅Π½Π½ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° (Π²ΠΎ вСсь экран ΠΈΠ»ΠΈ Π½Π΅Ρ‚) ΠΈ Reuse β€” ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒ Π»ΠΈ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π½ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡƒΠΆΠ΅ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠ΅ с этой ΠΆΠ΅ систСмой. Но сразу Π²Ρ‹Π»Π΅Π· нюанс β€” ΠΏΠ°Ρ€ΠΎΠ»ΡŒ Π² SAP Logon оказалось Π·Π°Π΄Π°Ρ‚ΡŒ нСльзя, строка Π±Ρ‹Π»Π° Π·Π°Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Π½Π°. Оказалось, Ρ‡Ρ‚ΠΎ это сдСлано ΠΈΠ· сообраТСний бСзопасности: всС ярлыки созданныС Π² SAP Logon ΠΎΠ½ Ρ…Ρ€Π°Π½ΠΈΡ‚ Π² Ρ„Π°ΠΉΠ»Π΅ sapshortcut.ini (рядом с saplogon.ini Π² ΠΏΡ€ΠΎΡ„ΠΈΠ»Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Windows) ΠΈ Ρ‚Π°ΠΌ ΠΎΠ½ΠΈ хотя ΠΈ Π·Π°ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½Ρ‹, Π½ΠΎ Π½Π΅ слишком сильно ΠΈ ΠΏΡ€ΠΈ большом ΠΆΠ΅Π»Π°Π½ΠΈΠΈ ΠΈΡ… ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°ΡΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ. Но ΠΌΠΎΠΆΠ½ΠΎ ΠΈ Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ΡŒ это с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ измСнСния значСния ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° Π² рССстрС (ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 0):

Windows Registry Editor Version 5.00
[HKEY_CURRENT_USERSoftwareSAPSAPShortcutSecurity] "EnablePassword"="1"

Π­Ρ‚ΠΎ Ρ€Π°Π·Π±Π»ΠΎΠΊΠΈΡ€ΡƒΠ΅Ρ‚ для Π²Π²ΠΎΠ΄Π° ΠΏΠΎΠ»Π΅ Β«ΠŸΠ°Ρ€ΠΎΠ»ΡŒΒ» Π½Π° Ρ„ΠΎΡ€ΠΌΠ΅ создания ярлыка Π² SAP Logon:

Запуск SAP GUI ΠΈΠ· Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°

И ΠΏΡ€ΠΈ внСсСнии Π² это ΠΏΠΎΠ»Π΅ пароля, ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ Π² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ строкС
sapshortcut.ini, Π½ΠΎ Π²ΠΎΡ‚ ΠΏΡ€ΠΈ пСрСтаскивании ярлыка Π½Π° Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ стол ΠΎΠ½ Ρ‚Π°ΠΌ Π½Π΅ появляСтся β€” Π·Π°Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π΅Π³ΠΎ Ρ‚ΡƒΠ΄Π° Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ. ΠŸΠ°Ρ€ΠΎΠ»ΡŒ Π·Π°ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½, для 111111 ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ Π²ΠΈΠ΄Π°: PW_49B02219D1F6, для 222222 β€” PW_4AB3211AD2F5. Но нас большС интСрСсуСт Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ этот ΠΏΠ°Ρ€ΠΎΠ»ΡŒ ΡˆΠΈΡ„Ρ€ΡƒΠ΅Ρ‚ΡΡ ΠΎΠ΄Π½ΠΈΠΌ способом, Π½Π΅ зависящим ΠΎΡ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ ПК ΠΈ, Ссли ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΡΠ±Ρ€Π°ΡΡ‹Π²Π°Ρ‚ΡŒ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ Π½Π° Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΉ, Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π² этом ΠΏΠΎΠ»Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎ Π·Π°Ρ€Π°Π½Π΅Π΅ извСстноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. Ну Π° Ссли ΠΌΡ‹ Π·Π°Ρ…ΠΎΡ‚ΠΈΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎ созданный ΠΏΠ°Ρ€ΠΎΠ»ΡŒ β€” Ρ‚ΠΎ придСтся ΠΏΠΎΠ½ΡΡ‚ΡŒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ этого ΡˆΠΈΡ„Ρ€Π°. Но, судя ΠΏΠΎ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌ, ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это Π±ΡƒΠ΄Π΅Ρ‚ нСслоТно. ΠšΡΡ‚Π°Ρ‚ΠΈ, Π² SAP GUI 7.40 это ΠΏΠΎΠ»Π΅ Π²ΠΎΠΎΠ±Ρ‰Π΅ ΠΏΡ€ΠΎΠΏΠ°Π»ΠΎ с Ρ„ΠΎΡ€ΠΌΡ‹, Π½ΠΎ Ρ„Π°ΠΉΠ» с Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π½Ρ‹ΠΌ ΠΏΠ°Ρ€ΠΎΠ»Π΅ΠΌ ΠΎΠ½ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ воспринимаСт.

Π’ΠΎ Π΅ΡΡ‚ΡŒ получаСтся, Ρ‡Ρ‚ΠΎ Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅ достаточно Ρ‰Π΅Π»ΠΊΠ½ΡƒΡ‚ΡŒ ΠΏΠΎ ссылкС Π½Π° Ρ„Π°ΠΉΠ» с Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ .sap ΠΈ с Π½ΡƒΠΆΠ½Ρ‹ΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠΌ β€” ΠΈ ΠΎΠ½ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΡ‚ Π΅Π³ΠΎ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ ΠΊΠ°ΠΊ Ρ„Π°ΠΉΠ» Ρ‚ΠΈΠΏΠ° SAP GUI Shortcut (СстСствСнно Π½Π° ПК с установлСнным SAP GUI) ΠΈ ΠΎΡ‚ΠΊΡ€ΠΎΠ΅Ρ‚ Π½Π°ΠΌ ΠΎΠΊΠ½ΠΎ SAP GUI с ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ (Ссли ΠΏΠ°Ρ€Π° SID ΠΈ ΠΌΠ°Π½Π΄Π°Π½Ρ‚ Π΅ΡΡ‚ΡŒ Π² спискС SAP Logon Π½Π° этом ПК).

Но, понятно, Ρ‡Ρ‚ΠΎ просто Ρ„Π°ΠΉΠ»Ρ‹ Π½ΠΈΠΊΡ‚ΠΎ Π·Π°Ρ€Π°Π½Π΅Π΅ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΈ ΡΠΊΠ»Π°Π΄ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° сайт Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ β€” ΠΈΡ… Π½Π°Π΄ΠΎ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ исходя ΠΈΠ· Π½ΡƒΠΆΠ½Ρ‹Ρ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ². НапримСр, ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ скрипт Π½Π° PHP для Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ ярлыков (sapshcut.php):

<?php
$queries = array();
parse_str($_SERVER['QUERY_STRING'], $queries);
$Title = $queries['Title'];
$Size = $queries['Size'];
$SID = $queries['SID'];
$Client = $queries['Client'];
if($Client == '') { $Client=200; };
$Lang = $queries['Language'];
if($Lang=='') { $Lang = 'RU'; };
$User = $queries['Username'];
if($User<>'') { $Password = $queries['Password']; };
$filename = $SID.$Client.'.sap';
header('Content-disposition: attachment; filename='.$filename);
header('Content-type: application/sap');
echo "[System]rn";
echo "Name=".$SID."rn";
echo "Client=".$Client."rn";
echo "[User]rn";
echo "Name=".$Username."rn";
echo "Language=".$Lang."rn";
if($Password<>'') echo "Password=".$Password."rn";
echo "[Function]rn";
if($Title<>'') {echo "Title=".$Title."rn";} else {echo "Title=Π’Ρ…ΠΎΠ΄ Π² систСмуrn";};
echo "[Configuration]rn";
if($Size=='max') { echo "GuiSize=Maximizedrn"; };
echo "[Options]rn";
echo "Reuse=0rn";
?>

Если Π½Π΅ Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ имя ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ, Ρ‚ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ ΠΎΠΊΠ½ΠΎ с запросов Π»ΠΎΠ³ΠΈΠ½Π° ΠΈ пароля:

Запуск SAP GUI ΠΈΠ· Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°

Если ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π»ΠΎΠ³ΠΈΠ½ β€” Ρ‚ΠΎ ΠΏΠΎΠ»Π΅ Π»ΠΎΠ³ΠΈΠ½ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΎ, Π° ΠΏΠΎΠ»Π΅ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ пустоС. Если ΠΆΠ΅ ΠΌΡ‹ ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅ΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ ΠΈ Π»ΠΎΠ³ΠΈΠ½ ΠΈ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ, Π½ΠΎ Ρƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π½Π° ПК Π² рССстрС ΠΊΠ»ΡŽΡ‡ EnablePassword Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ [HKEY_CURRENT_USERSoftwareSAPSAPShortcutSecurity] установлСн Π² 0, Ρ‚ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ Ρ‚ΠΎ ΠΆΠ΅ самоС. И Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ссли этот ΠΊΠ»ΡŽΡ‡ установлСн Π² 1 ΠΈ ΠΌΡ‹ ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅ΠΌ ΠΈ имя ΠΈ Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ, Ρ‚ΠΎ систСма сразу запросит Π΄Π²Π°ΠΆΠ΄Ρ‹ ввСсти Π½ΠΎΠ²Ρ‹ΠΉ постоянный ΠΏΠ°Ρ€ΠΎΠ»ΡŒ. Π§Ρ‚ΠΎ ΠΈ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π»ΠΎΡΡŒ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ.

Π’ ΠΈΡ‚ΠΎΠ³Π΅, ΠΈΠΌΠ΅Π΅ΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π½Π°Π±ΠΎΡ€ рассмотрСнных Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² ΠΊΠ°ΠΊ ΠΈΠ»Π»ΡŽΡΡ‚Ρ€Π°Ρ†ΠΈΡ всСго Π²Ρ‹ΡˆΠ΅ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ:

<html>
<head>
<script>
function openSAPGui(sid, client, user, password) {
var shell = new ActiveXObject("WScript.Shell");
shell.run('sapshcut.exe -system="'+sid+'" -client='+client+' -user="'+user+'" -pw="'+password+'" -language=RU');
}
</script>
</head>
<body>
<a href='' onclick="javascript:openSAPGui('SID', '200', 'test', '');"/>Example 1: Execute sapshcut.exe (ActiveX)<br>
<a href='Sapgui.Shortcut.File: -system=SID -client=200'>Example 2: Open sapshcut.exe (URI)</a><br>
<a href='sapshcut.php?SID=SID&Client=200&User=test'>Example 3: Open file .sap (SAP GUI Shortcut)</a><br>
</body>
</html>

МнС подошСл послСдний Π²Π°Ρ€ΠΈΠ°Π½Ρ‚. Но Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ вмСсто Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ ярлыков SAP ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΡŽ CMD-Ρ„Π°ΠΉΠ»ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ ΠΈΠ· Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π° ΠΎΡ‚ΠΊΡ€ΠΎΡŽΡ‚ Π²Π°ΠΌ ΠΎΠΊΠ½ΠΎ SAP GUI. НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ (sapguicmd.php) прямого запуска SAP GUI с ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ ΠΏΠΎΠ»Π½ΠΎΠΉ строки ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ, Π±Π΅Π· нСобходимости ΠΈΠΌΠ΅Ρ‚ΡŒ настроСнный SAP Logon:

<?php
$queries = array();
parse_str($_SERVER['QUERY_STRING'], $queries);
$Title = $queries['Title'];
$ROUTER = $queries['ROUTER'];
$ROUTERPORT = $queries['ROUTERPORT'];
$HOST = $queries['HOST'];
$PORT = $queries['PORT'];
$MESS = $queries['MESS'];
$LG = $queries['LG'];
$filename = 'SAPGUI_';
if($MESS<>'') $filename = $filename.$MESS;
if($HOST<>'') $filename = $filename.$HOST;
if($PORT<>'') $filename = $filename.'_'.$PORT;
$filename = $filename.'.cmd';
header('Content-disposition: attachment; filename='.$filename);
header('Content-type: application/cmd');
echo "@echo offrn";
echo "chcp 1251rn";
echo "echo Π’Ρ…ΠΎΠ΄ Π² ".$Title."rn";
echo "set SAP_CODEPAGE=1504rn";
echo 'if exist "%ProgramFiles(x86)%SAPFrontEndSapGuisapgui.exe" set gui=%ProgramFiles(x86)%SAPFrontEndSapGuisapgui.exe'."rn";
echo 'if exist "%ProgramFiles%SAPFrontEndSapGuisapgui.exe" set gui=%ProgramFiles%SAPFrontEndSapGuisapgui.exe'."rn";
echo "set logon=";
if($ROUTER<>'') echo "/H/".$ROUTER;
if($ROUTERPORT<>'') echo "/S/".$ROUTERPORT;
if($MESS<>'') echo "/M/".$MESS;
if($HOST<>'') echo "/H/".$HOST;
if($PORT<>'') echo "/S/".$PORT;
if($LG<>'') echo "/G/".$LG;
echo "rn";
echo '"%gui%" %logon%'."rn";
?>

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: habr.com