არსებობს ასეთი Powershell-სკრიპტი გამდიდრებული .Net-ის ელემენტებით:
$PSTPath = "C:\Users\username\Documents\Outlook Files\" Add-type -assembly "Microsoft.Office.Interop.Outlook" $outlook = new-object -comobject outlook.application $namespace = $outlook.GetNameSpace("MAPI") Get-ChildItem $PSTPath -Filter *.pst | ForEach-Object { $namespace.AddStore($_.FullName) }
რომელიც აძლევს მომხმარებელს საშუალებას უშუალოდ Outlook-ის გრაფიკულ ინტერფეისთან ინტერაქციის გარეშე მიიბას .pst ფაილ(ებ)ი Outlook-ის default Profile-ში, რომლებიც სკრიპტის $PSTPath Variable-ში მითითებულ ლოკაციაშია განლაგებული. მაგალითისთვის, სკრიპტში მოყვანილია .pst ფაილების განლაგების სტანდარტული გზა (შესაძლოა, აქ მიეთითოს ქსელური რესურსიც SMB Shared Folder-ის სახით). შევინახოთ სკრიპტის ტექსტი importPST.ps1 ფაილის სახით.
მაგრამ, სისტემური ადმინისტრატორისთვის მნიშვნელოვანია, რომ იუზერთან ინტერაქციის გარეშე ქონდეს საშუალება logged on მომხმარების სახელით გაუშვას ზემოთ მოყვანილი სკრიპტი. ამ ამოცანის შესრულებაში დაგვეხმარება შემდეგი Powershell-სკრიპტი:
$action = New-ScheduledTaskAction -Execute "powershell.exe" -Argument "-ExecutionPolicy Bypass C:\Users\username\Documents\importPST.ps1" $trigger = New-ScheduledTaskTrigger -AtLogOn $principal = New-ScheduledTaskPrincipal -UserId (Get-CimInstance –ClassName Win32_ComputerSystem | Select-Object -expand UserName) $task = New-ScheduledTask -Action $action -Trigger $trigger -Principal $principal Register-ScheduledTask ImportPSTs -InputObject $task Start-ScheduledTask -TaskName ImportPSTs Start-Sleep -Seconds 15 Unregister-ScheduledTask -TaskName ImportPSTs -Confirm:$false
გავშიფროთ ზემოთ აღნიშნული სკრიპტი:
$action ცვლადი არეგისტრირებს Task Scheduler-ში importPST.ps1 სკრიპტს. "-ExecutionPolicy Bypass" ელემენტი აუცილებელი, რადგან კლიენტურ Windows-ებზე დეფოლტად ExecutionPolicy არის Restricted მდგომარეობაში.
$trigger ცვლადი არ საჭიროებს გაშიფრვას;
$principal ცვლადი ამ სკრიპტის ყველაზე მნიშვნელოვანი კომპონენტია. აქ მცირე ჯადოქრობით ვიღებთ Logged on იუზერს, რომლითაც უნდა გაეშვას Task-ი.
ვარეგისტრირებთ ImportPSTs ტასკს, რომელიც ერთჯერადად ეშვება და 15 წამში იშლება.
შეგიძლიათ ამ მეორე სკრიპტს დაარქვათ crete-schedule-task.ps1
GPMC.msc კონსოლში ქმნით Group Policy Object-ს (GPO)-ს User კონფიგურაციაში:
Configuration\Policies\Windows Settings\Scripts (Logon/Logoff)-ში
უთითებთ crete-schedule-task.ps1 Powershell-სკრიპტს.
მომხმარებლის შემდეგი Logon-ისას Outlook-ში გაჩნდება საჭირო .pst ფაილები.
No comments
Post a Comment