- WSH waxay kuu ogolaanaysaa inaad abuurto .lnk iyo .url-gaabyada gaaban ee VBScript, VBA, VB6, VFP iyo PowerShell oo leh shayga WScript.Shell.
- Marka la geynayo IT-ga, macnaha guud (user vs SYSTEM) ayaa go'aamiya in la isticmaalo dadweynaha ama miiska isticmaalaha.
- Iyada oo leh MSIX/PSF, AppExecutionAlias waxay ka fogaataa dariiqyada qaabaysan waxayna fududaysaa gelitaan joogto ah.
- Astaamaha, doodaha, furayaasha kulul, iyo qaababka daaqadaha waxaa gacanta ku haya guryaha gaaban.
Samaynta jid-gaaban maaha kaliya fudayd: waa hab aad ku toosinayso hawlaha oo aad u wanaajiso wax soo saarkaaga maalinlaha ah. Windows. Windows script Martigeliyaha (WSH) Waxay bixisaa hab fudud oo awood leh oo lagu soo saaro isku xirka codsiyada, dukumentiyada, iyo ciwaanada webka ee luuqado badan oo qoraal ah.
Tilmaamahan wax ku oolka ah waxaynu isugu keenaynaa farsamooyin la xaqiijiyay oo leh VBScript, PowerShell, Visual Basic, Visual FoxPro iyo xaalado casri ah oo leh baakado MSIX iyo PSFHadafku waa in laguu suurtageliyo inaad doorato habka ugu habboon deegaankaaga (isticmaal-dhamaadka, IT, Intune/SCCM, ama baakadaysan), iyo inaad si kalsooni leh u hirgeliso.
Waa maxay Windows Script Host iyo sababta aad u danaynayso
Windows Script Host waa kaabayaasha kuu ogolaanaya inaad socodsiiso VBScript iyo JScript asal ahaan Windows, marka lagu daro muujinta qaabka shayga COM si otomaatig ah hawlaha nidaamka. Shayga WScript.Shell Waa qaybta muhiimka ah si loo abuuro miisaska gaagaaban, Bilow menu-gaabyada gaaban ama faylalka gaarka ah.
WSH waxay qayb ka ahayd Windows ilaa noocyadii sida Windows 98 iyo 2000, waxaana lagu dari karaa daabacaadyadii hore sida Windows NT 4.0 iyadoo la isticmaalayo qaybo ikhtiyaari ah. Nidaamyada casriga ah waxay ku yimaadaan isku dhafan iyo ficil ahaan, waa ku filan tahay in la fuliyo wscript.exe iyo cscript.exe si loo bilaabo qoraallada.
Shuruudaha iyo hababka ugu wanaagsan ka hor inta aan la bilaabin
Kahor intaadan bilaabin, waa fikrad wanaagsan inaad dib u eegto qodobada aasaasiga ah. Xaqiiji in WSH la heli karo mana jiraan siyaasad joojinaysa fulinta qoraalka. Deegaannada shirkadaha, GPO-yada iyo goobaha ka-hortagga waxay saamayn karaan VBScript ama PowerShell.
Ka fogow in aad miiskaaga ku qasto jid-gaabyada. Keliya abuur gelitaannada marka ay qiime ku daraan oo haddii aad u qaybiso si dhexe, qeex shuruudo cad (tusaale, galka shaqada ama apps shirkad muhiim ah).
Haddii qoraalka loo maamulo sida NIDAAMKA ama macnaha guud ee mashiinka (Intune/SCCM), si taxadar leh uga fakar meesha aad ku qorto .lnk: waxaa laga yaabaa inaad rabto inaad isticmaasho desktop-ka dadweynaha (C: \ Users \ Public \\ Desktop) halkii aad isticmaali lahayd desktop-ka isticmaalaha hadda.
Hubi ah Jidka loo socdo, ogolaanshaha iyo doorsoomayaasha deegaankaKhaladka caadiga ah waa in farta lagu fiiqo waddooyinka leh noocyada beddelka ah (Program Files \\ WindowsApps) ama in la isticmaalo UNC iyada oo aan la helin akoontada gacanta ku haysa qoraalka.
Galalka gaarka ah iyo sida loo xalliyo jidadkooda
WSH waxay xallisaa magacyada galalka gaarka ah ee jidkooda dhabta ah iyagoo isticmaalaya WshShell.Faylasha gaarka ahKuwa ugu faa'iidada badan waxaa ka mid ah Desktop, StartMenu, Programs, Startup, ama Favorites, iyo sidoo kale kala duwanaanshahooda dhammaan isticmaalayaasha (AllUsersDesktop, AllUsersStartMenu, iwm.). Tani waxay kuu ogolaaneysaa inaad madax banaanaato ee luqadda iyo qaabka saxda ah ee profile.
Haddii aad la shaqaynayso Visual Basic classic ama aad rabto inaad waddooyin ka hesho API, waad isticmaali kartaa SHGetSpecial FolderLocation/SHGetPathFromIDList si aad u taxdo waddooyinka sida Desktop, Barnaamijyadii dhawaa, ama Documents. Waa faa'iido leh markaad ku biirto codsiyada taas oo aan si toos ah ugu xidhnayn shayga WScript.
Qaabka Aasaasiga ah: Abuuritaanka Jid-gaabyada WScript.Shell
Socodku waa sahlan yahay: samee tusaalaha COM, dhali jidka gaaban, buuxi guryaha, oo kaydi. Habkan waxa lagu soo celceliyaa VBScript, VBA, VB6, VFP iyo PowerShell oo leh kala duwanaansho syntactical yar.
' VBScript: acceso directo a una aplicación
Dim sh, lnk
Set sh = CreateObject("WScript.Shell")
Dim escritorio: escritorio = sh.SpecialFolders("Desktop")
Set lnk = sh.CreateShortcut(escritorio & "\\MiApp.lnk")
lnk.TargetPath = "%windir%\\notepad.exe"
lnk.IconLocation = "%windir%\\system32\\shell32.dll,0"
lnk.Arguments = ""
lnk.WorkingDirectory = "%windir%"
lnk.WindowStyle = 4 ' Normal (3 maximizada, 7 minimizada)
lnk.Save
En VBA/VB6 Nidaamku waa u dhigma, kaliya syntax iyo meesha aad martigeliso koodka ayaa isbeddelaya. Waxaad samayn kartaa jidka gaaban ee miiska dushiisa, waxaad ku qori kartaa sharraxaad, icon, hotkey iyo qaabka daaqada:
' VBA/VB6: crear acceso con icono y hotkey
Dim sh As Object, sc As Object
Set sh = CreateObject("WScript.Shell")
Dim destino As String: destino = sh.SpecialFolders("Desktop") & "\\BlocDeNotas.lnk"
Set sc = sh.CreateShortcut(destino)
With sc
.TargetPath = "%windir%\\system32\\notepad.exe"
.WorkingDirectory = "%windir%\\system32"
.IconLocation = "%windir%\\system32\\shell32.dll,2"
.Description = "Abrir el Bloc de notas"
.Hotkey = "ALT+CTRL+N"
.WindowStyle = 4
.Save
End With
cunt Muuqaal FoxPro Waxa kale oo aad isticmaali kartaa shayga WScript.Shell. Fikraddu waa isku mid: hel Desktop-ka, samee .lnk, oo deji guryaha sida WindowStyle, IconLocation, Waddada Target ama isku dhafka muhiimka ah.
* Visual FoxPro: crear acceso directo de ejemplo
LOCAL sh, desk, sc
sh = CREATEOBJECT("WScript.Shell")
desk = sh.SpecialFolders("Desktop")
sc = sh.CreateShortcut(desk + "\\EjemploWSH.lnk")
sc.TargetPath = "%windir%\\notepad.exe"
sc.IconLocation = "C:\\Path\\a\\miicono.ico"
sc.Hotkey = "ALT+CTRL+F"
sc.WindowStyle = 3 && 3=max 7=min 4=normal
sc.Save
Xaaladaha oo dhan, xuddunta waa isku mid: CreateShortcut, TargetPath, KeydsoHalkaa, ka beddel doodaha, summada, hagaha shaqada, iyo qaabka daaqadda haddii loo baahdo.
Doodaha, qaabka daaqada, summada iyo jid-gaabyada
Marka gelitaanku ay tahay inuu bilaabo abka cabirka leh, si fudud u buuxi .Dood. Wixii geedi socodka kabaha gal gaar ah, isticmaal .Hagaha Shaqada oo leh wadadii saxda ahayd.
Eeg, qeex .IconLocation adigoo tilmaamaya .ico ama kheyraadka ku jira .exe/.dll (waxaad qeexi kartaa tusmada ka dib kooma). Dabeecadda furitaanka ayaa lagu xakameynayaa .WindowStyle: 3 ugu badnaan, 7 la yareeyey, 4 caadi ah.
Haddii aad rabto isku darka muhiimka ah, isticmaal .Hotkey oo wata qaabka ALT+CTRL+Letter (tusaale, ALT+CTRL+N). Shaqadani waxay dedejinaysaa furitaanka, laakiin Ma habboona in aad u badan meelaynta si aysan u faragelin hab-gaabyada nidaamka.
URL (.url) gaabin
Marka laga soo tago codsiga .lnks, WSH waxa ay abuuri kartaa .url-gaabyada furaha browserka caadiga ah. Waddada TargetPath waxay tilmaamaysaa ciwaanka shabakadda iyo haddii aad u baahan tahay summadaada, waxaad dib u habeyn kartaa faylka .url si aad ugu darto IconFile iyo IconIndex.
' VBScript: acceso directo a una URL
Dim sh, urlShortcut
Set sh = CreateObject("WScript.Shell")
Dim desk: desk = sh.SpecialFolders("Desktop")
Set urlShortcut = sh.CreateShortcut(desk & "\\SitioCorporativo.url")
urlShortcut.TargetPath = "https://www.ejemplo.com"
urlShortcut.Save
' (Opcional) reabrir el .url como texto y añadir:
' IconFile=C:\\Rutas\\icono.ico
' IconIndex=0
Habkani wuxuu ku habboon yahay xiriirinta SharePoint, internet-ka ama codsiyada webka in aad rabto in aad si anfacaya uga tagto miiska isticmaalaha.
PowerShell ee IT: Intune, SCCM, iyo Hawlgelinta baaxadda weyn
PowerShell waxa ay ku daraysaa gelitaanka isla qaabka COM ee WSH, si aad u abuuri karto gelid oo aad u qaybin karto si guud. Waxa caadiga ah waa in la ogaado desktop sax ah (isticmaal ama dadweyne), soo saar galka meesha aad ku socoto iyo, haddii loo baahdo, ku dheji waddooyinka Helitaanka Degdegga ah.
# PowerShell: utilidades y creación del acceso
param(
[Parameter(Mandatory=$true)] [string]$ShortcutTargetPath,
[Parameter(Mandatory=$true)] [string]$ShortcutDisplayName,
[string]$IconFile = $null,
[string]$ShortcutArguments = $null,
[string]$WorkingDirectory = $null
)
function Test-RunningAsSystem {
# Devuelve true si el contexto es SYSTEM (S-1-5-18)
((whoami -user) -match "S-1-5-18")
}
function Get-DesktopDir {
if (Test-RunningAsSystem) {
Join-Path $env:PUBLIC "Desktop"
} else {
[Environment]::GetFolderPath("Desktop")
}
}
function New-Shortcut {
param([string]$Target, [string]$Path, [string]$Args, [string]$Work, [string]$Icon)
$sh = New-Object -ComObject WScript.Shell
$lnk = $sh.CreateShortcut($Path)
$lnk.TargetPath = $Target
if ($Args) { $lnk.Arguments = $Args }
if ($Work) { $lnk.WorkingDirectory = $Work }
if ($Icon) { $lnk.IconLocation = $Icon }
$lnk.WindowStyle = 4
$lnk.Save()
[Runtime.InteropServices.Marshal]::ReleaseComObject($sh) | Out-Null
}
$desk = Get-DesktopDir
$targetFolder = Join-Path $desk "SharePoint Shortcuts"
if (-not (Test-Path $targetFolder)) { New-Item -ItemType Directory -Path $targetFolder | Out-Null }
$dest = Join-Path $targetFolder ("{0}.lnk" -f $ShortcutDisplayName)
New-Shortcut -Target $ShortcutTargetPath -Path $dest -Args $ShortcutArguments -Work $WorkingDirectory -Icon $IconFile
In fulinta leh IntuneHabkani wuxuu kuu ogolaanayaa inaad ku abuurto gal miiskaaga oo aad u gudubto gelitaanka Edge oo leh cabbirro sida URL SharePoint. Haddi uu u shaqeeyo sidii SYSTEM, desktop-ka bartilmaameedku wuxuu noqon doonaa mid guud, oo la arki karo dhammaan profiles.
En SCCMHaddii aad doorbidayso inaad geyso .lnk horay loo sameeyay, amarka ugu yar wuxuu noqon karaa mid fudud sida koobiyaynta miiska dadweynaha: Nuqul-Qaybta \\server \\ dariiqa\\access.lnk C: \\ Users \ Public \\ DesktopHaddii aysan muuqan, hubi qodobadan:
- macnaha fulintaHubi in barnaamijku ku socdo ogolaansho ku filan iyo isticmaale/nidaamka la filayo.
- Helitaanka kheyraadka la wadaago: Koontada socota waa inay awood u leedahay inay akhrido waddada UNC.
- Waddooyin meelo bannaan leh: Ku-xiran -Path and -Destination in quotes.
- qaniinyada: Deegaannada 32/64-bit ee isku dhafan, waxay xaqiijinayaan inaysan jirin dib-u-hagaajin aan la rabin.
Ku dheji Gelitaanka Degdegga ah ee Shell.Application
Marka lagu daro desktop-ka, waxaad ku dhejin kartaa galka Gaaritaan deg deg ah oo leh Shell.Application COM shayga. Tani waa mid faa'iido leh markaad abuurto waddo xidhitaan ah oo aad rabto in laga heli karo Explorer.
# PowerShell: anclar carpeta a Acceso rápido
$quick = New-Object -ComObject shell.application
$toPin = Join-Path ([Environment]::GetFolderPath("Desktop")) "SharePoint Shortcuts"
$home = "shell:::{679f85cb-0220-4080-b29b-5540cc05aab6}"
if(-not ($quick.Namespace($home).Items() | Where-Object { $_.Path -eq $toPin })){
$quick.Namespace($toPin).Self.InvokeVerb("pintohome")
}
Haddii aad maamusho kooxaha oo aad rabto isticmaalayaashu inay si dhakhso ah u helaan jid-gooyooyinkooda, Ficilkan yar waxa uu sameeyaa farqi maalintooda maalin.
MSIX iyo PSF: Samee marin u helid adoon ku tiirsanayn dariiqyada qaabaysan
Markaad ku xirto codsiyada MSIX, dariiqa rakibaadda waxaa ku jira nooca (tusaale ahaan, C:\\ Program Files \ WindowsApps \ MyApp_1.0.0.0_x86__…). Waxay ku beddeshaa cusbooneysiin kasta, markaa waa fikrad xun in la dejiyo .lnk jidkaas. Xalka: AppExecutionAliasAdigoo qeexaya naanaysta ku jira bayaanka, waxaad ku bilaabi kartaa abka %localappdata%\ MicrosoftWindowsApps\ myapp.exe adiga oo aan lagu xidhin nooca.
Si tan loo sameeyo, ku dar meelaha magacyada ee ku yaal bayaanka (uap3 iyo desktop) oo samee kordhinta windows.appExecutionAlias isagoo tilmaamaya xirmada la fulin karo. Xusuusnow inaad ku darto magacyada IgnorableNamespaces si uu bayaanku u aqoonsado.
Ka dib, waxaad bedeli kartaa barta gelitaanka codsiga PSFLauncher32.exe/PSFLauncher64.exe (waxay kuxirantahay qaab dhismeedka) oo u wakiisho abuurista marin u helka qoraalka bilowga ah ee lagu qeexay config.json iyadoo la adeegsanayo PSF. Qoraalku hal mar ayuu soconayaa bilowga hore.
{
"applications": [
{
"id": "App",
"executable": "MiApp\\MiApp.exe",
"workingDirectory": "MiApp\\",
"startScript": {
"scriptPath": "createshortcut.ps1",
"runInVirtualEnvironment": false,
"waitForScriptToFinish": true,
"showWindow": false,
"runOnce": true
}
}
]
}
PowerShell Createshortcut.ps1 Waxaad koobi kartaa feyl .lnk diyaarsan oo ka soo baxay xirmada ilaa miiska isticmaalaha sidoo kale waxaad keensan kartaa summada goobta shaqada. LocalCache\\Roaming kaas oo weli ah mid xasiloon inta u dhaxaysa versions.
# createshortcut.ps1 (dentro del paquete)
Copy-Item "Mi App.lnk" "$env:USERPROFILE\\Desktop\\Mi App.lnk" -Force
Copy-Item "miapp.ico" "$env:APPDATA\\miapp.ico" -Force
Habkan waxaad hubisaa in gelitaanku shaqeeyo cusboonaysiinta kadib, adigoon taaban .lnk ee nooc kasta. Haddii dariiqdu ay tilmaamto naanaysta (tusaale, % localappdata% \ Microsoft \ WindowsApps \ myapp.exe ), wadadu wali waa ansaxaysaa.
Khaladaadka maaraynta iyo ansixinta lagu taliyay
Kahor intaadan dhalin .lnk waxaa lagu talinayaa in la ansixiyo in Waddada Target ayaa jirta (ilaa aad isticmaasho doorsoomayaasha sida % windir% ama aliases). VBA/VB6, waxaad ka digtoonaan kartaa haddii fulintu maqan tahay ama burin kartaa hawlgalka; gudaha PowerShell, isticmaal Jidka Imtixaanka si aad u hubiso in jidka la heli karo iyo in kale.
Haddii dariiqa calaamaduhu yahay a .ico network, Xeeladda faa'iido leh waa in lagu koobiyeeyo heerkulka isticmaalaha ama gal APPDATA, oo laga tixraaco halkaas. Tani waa sida aad uga fogaato calaamadaha jaban haddii aan la heli karin ilaha shabakadda.
Markaad tafatirayso .url shortcuts, haddii aad u baahan tahay summadaada, dib u fur faylka qoraal ahaan oo ku dar IconFile iyo IconIndex dhamaadka. Tani waxay ku siinaysaa inaad si buuxda u maamusho muuqaalkeeda adigoon ku tiirsanayn browserka.
Markaad joojiso COM, walxo bilaash ah oo wata ReleaseComObject gudaha PowerShell, ama ku meelayn waxba VB/VBA. Waa tafaasiil yar, laakiin waxay ka caawisaa in laga fogaado in la laadlaadsado kheyraadka oo xukun dil ah lagu fuliyay.
Kiisaska fashilka caadiga ah iyo sida loo xalliyo
Haddi geynta SCCM ay ku dhamaato koodka 0 laakin galitaanka uusan muuqan, marka hore hubi bartilmaameedka isticmaalaha desktop-kaHaddii aad u shaqaynaysay sidii SYSTEM oo aad ku qor %USERPROFILE%\Desktop geli profile-ka is-dhexgalka, waxba ma arki doontid. Isticmaal C: \ Users \ Public \ Desktop si aad uga dhigto mid la arki karo qof walba.
Intune, marka aad soo saarto tilmaamaha Edge oo leh doodo (tusaale, URL leh meelo qarsoon), xaqiiji taas calaamadaha xigashada waa fiican yihiin in -ShortcutArguments oo qoraalku si sax ah u yimid. Hal meel bannaan oo bannaan jabin kara masiirka .lnk.
Faylasha gaaban ee shirkadaha (tusaale, "SharePoint Shortcuts"), marka hore ku samee galka miiska saxda ah, iyo haddii aad rabto inaad ku muujiso Explorer, barroosinka Helitaanka Degdegga ah sida aan ku aragnay Shell.Application.
Haddii aad u qaybiso .lnk-ka hore loo dhisay ee xirmada MSIX ee la cusboonaysiinayo, ha u tilmaamin dariiqa qaabaysan ee gudaha WindowsApps. Isticmaal AppExecutionAlias oo koobi ka samee summada ka soo bax galka la daabacay.
Khiyaamo waxtar leh oo leh doorsoomayaal iyo waddooyin
Si aad u qorto qoraallada la qaadi karo, ku tiirsan Isbeddellada Deegaanka: %windir%, %systemroot%,%ProgramFiles% iyo kuwa la mid ah. WSH waxaad ku kordhin kartaa iyaga Balaadhin Xadhigyada Deegaanka, iyo PowerShell waxaad ku tixraaci kartaa iyaga adigoo isticmaalaya $env:VARIABLE.
Markaad dhiseyso waddooyin firfircoon, hubi haddii ay Galka shaqadu wuxuu ku dhamaanayaa \ si looga fogaado in baararka la nuqulo ama la jebiyo Waddada Targetka marka la isku xidho. Waa waardiye yar taas iska ilaali khaladaadka qarsoon wax soo saarka.
Jidadka gaagaaban ee u baahan cabbirro adag, tixgeli inaad qorto qoraal yar oo .cmd ama .ps1 ah oo aad farta gaaban u jeediso. Tani waa sida aad u fududayso .lnk oo aad si fiican u maamusho xigashada iyo nidaamka dooda.
Haddii aad u baahan tahay furayaasha kulul, isku day inaad sii qabsato isku-darka xarfo muhiim ah kana fogow isku dhaca wadooyinka gaagaaban ee caadiga ah. Deegaannada leh abka badan, diiwaan geli dariiqyada gaaban si uu isticmaaluhu u awoodo ka faa'iidayso tijaabo iyo khalad la'aan.
Waxaad haysataa doorashooyin kala duwan oo aad ku abuuri karto jid-gaabyada Windows si la isku halayn karo oo dabacsan. WSH waa saldhigga guud, iyo dusheeda, waxaad dooran kartaa lakabka: qoraallada caadiga ah, baakadaha PowerShell ee casriga ah, ama MSIX oo leh PSF marka aad raadineyso hababka lagu celin karo miisaanka. Furaha ayaa ah in la doorto jidka saxda ah, la ansixiyo macnaha fulinta, oo iska ilaali in aad naftaada ku xidho waddooyin jilicsan oo habaysan.
Qora xamaasad leh oo ku saabsan adduunka bytes iyo farsamada guud ahaan. Waxaan jeclahay inaan aqoontayda ku wadaago qoraal, taasina waa waxa aan ku samayn doono blog-gan, ku tusi doona dhammaan waxyaabaha ugu xiisaha badan ee ku saabsan qalabka, software-ka, qalabka, isbeddellada tignoolajiyada, iyo in ka badan. Hadafkaygu waa inaan kaa caawiyo inaad u dhex marato adduunka dhijitaalka ah si fudud oo madadaalo leh.