{"id":272522,"date":"2016-01-20T14:00:03","date_gmt":"2016-01-20T11:00:03","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=272522"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=272522","title":{"rendered":"\u0414\u0435\u043b\u0430\u0435\u043c FTP \u0434\u043b\u044f Windows Azure Pack"},"content":{"rendered":"<br \/>\n<blockquote><p><i>\u0410\u0432\u0442\u043e\u0440 \u0441\u0442\u0430\u0442\u044c\u0438 \u2014 \u0421\u0435\u0440\u0433\u0435\u0439 \u0413\u0440\u0443\u0437\u0434\u043e\u0432 (egel@egel.su), \u0432\u0435\u0434\u0443\u0449\u0438\u0439 \u0438\u043d\u0436\u0435\u043d\u0435\u0440, Dataline<\/i><\/p><\/blockquote>\n<p>  Windows Azure Pack \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u043f\u043e\u0434\u043f\u0438\u0441\u0447\u0438\u043a\u0430\u043c \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0435 ISO- \u0438 VHD(X)-\u0444\u0430\u0439\u043b\u044b, \u0440\u0430\u0441\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u043d\u044b\u0435 \u0432 \u0432\u044b\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u0439 \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f \u043f\u043e\u0434\u043f\u0438\u0441\u0447\u0438\u043a\u0430 \u043f\u0430\u043f\u043a\u0435 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438. \u041d\u0430 \u0434\u0430\u043d\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u043c \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u043c \u0437\u0430\u043a\u0430\u0447\u043a\u0438 \u0444\u0430\u0439\u043b\u043e\u0432 \u0432 \u044d\u0442\u0443 \u043f\u0430\u043f\u043a\u0443 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u044f FTP \u0441 \u043a\u043e\u0440\u043d\u0435\u0432\u043e\u0439 \u043f\u0430\u043f\u043a\u043e\u0439, \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u044e\u0449\u0435\u0439 \u043d\u0430 \u043f\u0430\u043f\u043a\u0443 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438, \u0432\u044b\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u0439 \u043f\u043e\u0434\u043f\u0438\u0441\u0447\u0438\u043a\u0430\u043c. \u0412 \u0434\u0430\u043d\u043d\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u044f \u043f\u0440\u043e\u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0438\u0440\u0443\u044e, \u043a\u0430\u043a \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0440\u0430\u043d\u0431\u0443\u043a\u043e\u0432 (runbook) Service Manager Automation (SMA) \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0438 \u0443\u0434\u0430\u043b\u044f\u0442\u044c \u043f\u0430\u043f\u043a\u0438 \u043f\u043e\u0434\u043f\u0438\u0441\u0447\u0438\u043a\u043e\u0432 \u043f\u0440\u0438 \u0437\u0430\u0432\u0435\u0434\u0435\u043d\u0438\u0438 \u0438\u043b\u0438 \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f, \u0438 \u043a\u0430\u043a \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f Microsoft FTP \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u043c\u0438 \u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440\u0430\u043c\u0438 \u0430\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u0438 \u0438 \u0434\u043e\u043c\u0430\u0448\u043d\u0438\u0445 \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u043e\u0432 \u0430\u0432\u0442\u043e\u0440\u0438\u0437\u043e\u0432\u044b\u0432\u0430\u0442\u044c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u043d\u0435\u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0447\u0435\u0440\u0435\u0437 Azure Pack, \u0438\u0441\u043a\u043b\u044e\u0447\u0430\u044f \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u044c \u0434\u0443\u0431\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0443\u0447\u0435\u0442\u043d\u044b\u0435 \u0437\u0430\u043f\u0438\u0441\u0438 \u0432 Active Directory.<a name=\"habracut\"><\/a><\/p>\n<p>  <\/p>\n<h1>\u041f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0430 Azure Pack<\/h1>\n<p>  \u041f\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0430\u043a\u0442\u0438\u0432\u044b SMA:  <\/p>\n<ol>\n<li><b>VMMConnection<\/b> \u2013 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f \u0442\u0438\u043f\u0430 \u00ab\u0421\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435\u00bb, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f FQDN \u0441\u0435\u0440\u0432\u0435\u0440\u0430 VMM \u0438 \u0443\u0447\u0435\u0442\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435. \u0423\u0447\u0435\u0442\u043d\u0430\u044f \u0437\u0430\u043f\u0438\u0441\u044c \u0434\u043e\u043b\u0436\u043d\u0430 \u0432\u0445\u043e\u0434\u0438\u0442\u044c \u0432 \u0433\u0440\u0443\u043f\u043f\u0443 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0445 \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440\u043e\u0432 \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0435 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438, \u0441\u0435\u0440\u0432\u0435\u0440\u0435 VMM \u0438 \u0432 VMM \u0432\u0445\u043e\u0434\u0438\u0442\u044c \u0432 \u0433\u0440\u0443\u043f\u043f\u0443 \u00ab\u0410\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440\u044b\u00bb<\/li>\n<li><b>VMMLibPath<\/b> \u2013 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f \u0441 \u043e\u0431\u0449\u0435\u0439 \u043f\u0430\u043f\u043a\u043e\u0439 \u043a\u043e\u0440\u043d\u0435\u0432\u043e\u0433\u043e \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0430 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 \u043f\u043e\u0434\u043f\u0438\u0441\u0447\u0438\u043a\u043e\u0432<\/li>\n<\/ol>\n<h1>\u0420\u0430\u043d\u0431\u0443\u043a\u0438 SMA<\/h1>\n<p>  <\/p>\n<h3>\u041e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u0441\u043e\u0431\u044b\u0442\u0438\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043f\u043e\u0434\u043f\u0438\u0441\u0447\u0438\u043a\u0430<\/h3>\n<p>  \u041f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u0438\u043c \u0440\u0430\u043d\u0431\u0443\u043a \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0430 \u043f\u043e\u0434\u043f\u0438\u0441\u0447\u0438\u043a\u0430 \u0438 \u043f\u0440\u0438\u0432\u044f\u0437\u043a\u0438 \u0435\u0433\u043e \u043a \u0443\u0447\u0435\u0442\u043d\u043e\u0439 \u0437\u0430\u043f\u0438\u0441\u0438 \u0432 VMM. \u0422\u0435\u043a\u0441\u0442 \u0440\u0430\u043d\u0431\u0443\u043a\u0430 \u043d\u0438\u0436\u0435. \u0412 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0431\u043e\u043d\u0443\u0441\u0430 \u2013 \u043a\u043e\u0434, \u043e\u043f\u043e\u0432\u0435\u0449\u0430\u044e\u0449\u0438\u0439 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u043f\u043e\u0441\u043b\u0435 \u0437\u0430\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u0435\u0433\u043e \u043d\u0430 \u0430\u0434\u043c\u0438\u043d\u0441\u043a\u043e\u043c \u043f\u043e\u0440\u0442\u0430\u043b\u0435 (\u0438\u043b\u0438 \u043b\u044e\u0431\u044b\u043c \u0434\u0440\u0443\u0433\u0438\u043c \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u043c) \u043e \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u0441\u043c\u0435\u043d\u044b \u043f\u0430\u0440\u043e\u043b\u044f. \u042d\u0442\u043e \u0438\u0437\u0431\u0430\u0432\u043b\u044f\u0435\u0442 \u043e\u0442 \u043d\u0430\u0434\u043e\u0431\u043d\u043e\u0441\u0442\u0438 \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 \u043f\u0430\u0440\u043e\u043b\u0435\u0439 \u0438 \u043f\u0435\u0440\u0435\u0441\u044b\u043b\u043a\u043e\u0439 \u0438\u0445 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u043c \u0442\u0435\u043a\u0441\u0442\u043e\u043c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044e.  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">Notify-Created-User<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code>workflow Notify-Created-User {     param     (         [Parameter(Mandatory=$true)]         [object] $params     )              $VmmConnection = Get-AutomationConnection -Name 'VmmConnection'     $VmmServerName = $VmmConnection.ComputerName      $SecurePassword = ConvertTo-SecureString -AsPlainText -String $VmmConnection.Password -Force     $VmmCredential = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $VmmConnection.Username, $SecurePassword     $eMail = $params.Name.SubString(0, $params.Name.IndexOf(&quot;_&quot;))          $vmmLib = Get-AutomationVariable -Name 'VMMLibPath'          $libServer = $vmmLib.SubString(2)     $libServer = $libServer.SubString(0, $libServer.IndexOf(&quot;\\&quot;))          $tenantPath = &quot;{0}\\{1}&quot; -f $vmmLib, $eMail          Write-Output &quot;Invoke create folder on $libServer&quot;     inlinescript     {         try          {              if (!(Test-Path $Using:tenantPath))             {                 Write-Output &quot;Creating folder $($Using:tenantPath)&quot;                 New-Item -Type Directory -Path $Using:tenantPath -ErrorAction Stop | Out-Null              }             else             {                 Write-Output &quot;Folder $($Using:tenantPath) already exist&quot;             }         }           catch         {              Write-Output $_          }     } \u2013PSComputer $libServer \u2013PSCredential $VmmCredential          inlinescript     {         $tenantSite = &quot;https:\/\/my.azureline.ru&quot; # \u0437\u0434\u0435\u0441\u044c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0443\u043a\u0430\u0437\u0430\u0442\u044c URL Tenant Site         $authSite = &quot;https:\/\/auth.azureline.ru&quot; # \u0437\u0434\u0435\u0441\u044c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0443\u043a\u0430\u0437\u0430\u0442\u044c URL Tenant Auth Site         $mail = $Using:eMail         $roles = Get-SCUserRole -VMMServer $Using:VmmServerName | ?{$_.Name.Contains($mail)}          # \u0414\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0439 \u043f\u043e\u0434\u043f\u0438\u0441\u043a\u0438 \u0441\u043e\u0437\u0434\u0430\u0435\u0442\u0441\u044f UserRole \u0432 SCVMM. \u0412\u043e \u0438\u0437\u0431\u0435\u0436\u0430\u043d\u0438\u0435 \u0434\u0443\u0431\u043b\u0438\u043a\u0430\u0442\u043e\u0432 \u043f\u0438\u0441\u0435\u043c, \u043f\u043e\u0441\u044b\u043b\u0430\u0435\u043c \u043e\u043f\u043e\u0432\u0435\u0449\u0435\u043d\u0438\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0435\u0441\u043b\u0438 \u0440\u043e\u043b\u044c \u043e\u0434\u043d\u0430 (\u043f\u0440\u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0438 \u043f\u0435\u0440\u0432\u043e\u0439 \u043f\u043e\u0434\u043f\u0438\u0441\u043a\u0438)          if (!($roles -is [System.Array]))         {             try             {                 [reflection.assembly]::loadwithpartialname(&quot;System.Net.Http&quot;) | Out-Null                 $forget = New-Object System.Net.Http.HttpClient                                  $getMess = $forget.GetAsync($tenantSite).Result                 $getMess.EnsureSuccessStatusCode() | Out-Null                 $authPage = $getMess.Content.ReadAsStringAsync().Result                 $forgRegex = [regex]'form id=&quot;__AjaxAntiForgeryForm&quot;.*?__RequestVerificationToken.*?value=&quot;(?&lt;Token&gt;.*?)&quot;'                 $m = $forgRegex.Match($authPage);                 if ($m.Success)                 {                     $forget.DefaultRequestHeaders.Add(&quot;x-ms-client-antiforgery-id&quot;, $m.Groups[&quot;Token&quot;].Value);                     $data = New-Object System.Net.Http.StringContent(&quot;{`&quot;emailAddress`&quot;:`&quot;$($Using:eMail)`&quot;}&quot;, [System.Text.Encoding]::UTF8, &quot;application\/json&quot;)                     $mess = $forget.PostAsync(&quot;$authSite\/Account\/SendMeResetPasswordLink&quot;, $data).Result                     $mess.EnsureSuccessStatusCode() | Out-Null                                      Write-Output &quot;Successfuly sent reset password link to $($Using:eMail)&quot;                 }             }             catch             {                 Write-Output $_             }                          Write-Output &quot;Set library share for $($roles.Name). Share path $($Using:tenantPath)&quot;             Set-SCUserRole -UserRole $roles -UserRoleDataPath $Using:tenantPath -VMMServer $Using:VmmServerName | Out-Null         }         else         {             Write-Output &quot;Nothing to do&quot;         }            } \u2013PSComputer $VmmServerName \u2013PSCredential $VmmCredential } <\/code><\/pre>\n<p>  <\/div>\n<\/div>\n<h3>\u041e\u0447\u0438\u0441\u0442\u043a\u0430 \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0430 FTP<\/h3>\n<p>  \u0414\u043b\u044f \u043e\u0447\u0438\u0441\u0442\u043a\u0438 \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0430 FTP \u043e\u0442 \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u043e\u0432 \u0443\u0434\u0430\u043b\u0435\u043d\u043d\u044b\u0445 \u043f\u043e\u0434\u043f\u0438\u0441\u0447\u0438\u043a\u043e\u0432 \u043f\u0440\u0438\u0434\u0435\u0442\u0441\u044f \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0440\u0430\u043d\u0431\u0443\u043a, \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u044e\u0449\u0438\u0439\u0441\u044f \u043f\u043e \u0440\u0430\u0441\u043f\u0438\u0441\u0430\u043d\u0438\u044e, \u0442\u0430\u043a \u043a\u0430\u043a \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0441\u043e\u0431\u044b\u0442\u0438\u0439 VMM (\u043d\u0430\u043c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0434\u043b\u044f \u043e\u0431\u044a\u0435\u043a\u0442\u0430 \u00abVMM UserRole\u00bb \u0441\u043e\u0431\u044b\u0442\u0438\u0435 \u00abDelete\u00bb) \u0432 \u0434\u0430\u043d\u043d\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u0432 SMA \u043d\u0435 \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u0430.  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">CleanUp-Ftp-Folder<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code>workflow CleanUp-Ftp-Folder {     $VmmConnection = Get-AutomationConnection -Name 'VmmConnection'     $VmmServerName = $VmmConnection.ComputerName     $SecurePassword = ConvertTo-SecureString -AsPlainText -String $VmmConnection.Password -Force     $VmmCredential = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $VmmConnection.Username, $SecurePassword          $vmmLib = Get-AutomationVariable -Name 'VMMLibPath'          $libServer = $vmmLib.SubString(2)     $libServer = $libServer.SubString(0, $libServer.IndexOf(&quot;\\&quot;))          $dataPaths = inlinescript     {         $dataPaths = Get-SCUserRole -VMMServer $Using:VmmServerName | %{ $_.UserRoleDataPath }                  $dataPaths     } -PSComputer $VmmServerName \u2013PSCredential $VmmCredential      inlinescript     {         $ftpFolders = Get-ChildItem -Directory -Path $Using:vmmLib | %{ $($_.FullName + '\\') }                  if ($Using:dataPaths -ne $null)         {             $diffList = $ftpFolders | ?{ $Using:dataPaths -notcontains $_ }         }                  if ($diffList)         {             foreach ($diff in $diffList)             {                 if ([String]::IsNullOrEmpty($diff))                 {                     continue                 }                 Write-Output &quot;Deleting $diff&quot;                 Remove-Item -Recurse -Force -Confirm:$false -Path $diff             }         }         else         {             Write-Output &quot;Nothing to delete&quot;         }     } \u2013PSComputer $libServer \u2013PSCredential $VmmCredential } <\/code><\/pre>\n<p>  <\/div>\n<\/div>\n<p>  \u0414\u0430\u043d\u043d\u044b\u0435 \u0440\u0430\u043d\u0431\u0443\u043a\u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0438\u043c\u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c, \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u0442\u044c, \u0440\u0430\u043d\u0431\u0443\u043a\u0443 \u00abNotify-Created-User\u00bb \u043f\u0440\u0438\u0441\u0432\u043e\u0438\u0442\u044c \u0442\u044d\u0433 SPF \u0438 \u043f\u0440\u0438\u0432\u044f\u0437\u0430\u0442\u044c \u043a \u0441\u043e\u0431\u044b\u0442\u0438\u044e \u00ab\u0421\u043e\u0437\u0434\u0430\u0442\u044c\u00bb \u043e\u0431\u044a\u0435\u043a\u0442\u0430 \u00abSPF-\u043a\u043b\u0438\u0435\u043d\u0442\u00bb:<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/c87\/4f2\/197\/c874f219789240db9ce288d7bf957c3d.png\"\/><\/p>\n<p>  \u0414\u043b\u044f \u0440\u0430\u043d\u0431\u0443\u043a\u0430 \u00abCleanup-ftp-folder\u00bb \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0440\u0430\u0441\u043f\u0438\u0441\u0430\u043d\u0438\u0435, \u0447\u0442\u043e\u0431\u044b \u043e\u043d \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u043b\u0441\u044f \u0440\u0430\u0437 \u0432 \u0434\u0435\u043d\u044c:<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/0fe\/25d\/064\/0fe25d0646cf49eeb7e71a2cd51db618.png\"\/><\/p>\n<p>  <\/p>\n<h1>\u041f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0430 FTP<\/h1>\n<p>  <b><i>\u041d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e, \u0447\u0442\u043e\u0431\u044b \u0441\u043b\u0443\u0436\u0431\u044b Framework 2.0\/3.5 \u0431\u044b\u043b\u0438 \u043f\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u044b<\/i><\/b><\/p>\n<p>  \u0421 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0434\u0438\u0441\u043f\u0435\u0442\u0447\u0435\u0440\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u0440\u043e\u043b\u044c FTP \u0441 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u043e\u0439 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f:<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/5f9\/526\/4eb\/5f95264eb01045ac9ab5482144d1c9dc.png\"\/><br \/>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/e50\/0a6\/6f8\/e500a66f850645d697c9568913ff1e45.png\"\/><\/p>\n<p>  \u0421\u043e\u0437\u0434\u0430\u0435\u043c FTP-\u0441\u0435\u0440\u0432\u0435\u0440:<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/2e8\/3b1\/099\/2e83b109936245658c55240101c0f333.png\"\/><\/p>\n<p>  \u0412 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043f\u0443\u0442\u0438 \u0432 \u043c\u0430\u0441\u0442\u0435\u0440\u0435 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u043f\u0443\u0442\u044c \u043a \u043a\u043e\u0440\u043d\u044e \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 \u043f\u043e\u0434\u043f\u0438\u0441\u0447\u0438\u043a\u043e\u0432. \u0415\u0441\u043b\u0438 FTP \u0441\u0435\u0440\u0432\u0435\u0440 \u0440\u0430\u0437\u0432\u043e\u0440\u0430\u0447\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u043d\u0435 \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0435 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 \u043d\u0430\u0438\u043b\u0443\u0447\u0448\u0438\u043c \u0432\u044b\u0445\u043e\u0434\u043e\u043c \u0431\u0443\u0434\u0435\u0442 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0441\u0438\u043c\u0432\u043e\u043b\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0441\u0432\u044f\u0437\u0438 \u0441 \u043e\u0431\u0449\u0438\u043c \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u043c, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440: <\/p>\n<pre><code>mklink \/D C:\\TenantsData \\\\vmmlibserver\\TenantsData<\/code><\/pre>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/4b1\/fc8\/27f\/4b1fc827fc684996bd818856a8246aff.png\"\/><\/p>\n<p>  \u041d\u0430 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0439 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435 \u043c\u0430\u0441\u0442\u0435\u0440\u0430 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b (\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 SSL, \u043d\u043e\u043c\u0435\u0440 \u043f\u043e\u0440\u0442\u0430 \u0438 \u0442.\u0434.):<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/357\/c4f\/889\/357c4f889c824f1199b09299e01f87d8.png\"\/><\/p>\n<p>  \u041d\u0430 \u0437\u0430\u0432\u0435\u0440\u0448\u0430\u044e\u0449\u0435\u0439 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c, \u0447\u0442\u043e \u0432\u0441\u0435 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0438 \u0438\u043c\u0435\u044e\u0442 \u043f\u0440\u0430\u0432\u043e \u043d\u0430 \u0447\u0442\u0435\u043d\u0438\u0435 \u0438 \u0437\u0430\u043f\u0438\u0441\u044c, \u043d\u043e \u043d\u0435 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u043c\u044b\u0435 \u0442\u0438\u043f\u044b \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438:<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/3a7\/1ed\/ecb\/3a71edecbbbd4ae78bdbfbb5e7025d38.png\"\/><\/p>\n<p>  \u041d\u0430 \u044d\u0442\u043e\u043c \u043f\u0435\u0440\u0432\u043e\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u0430\u044f \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0437\u0430\u043a\u043e\u043d\u0447\u0435\u043d\u0430. \u041e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0431\u0443\u0434\u0443\u0442 \u0443\u043a\u0430\u0437\u0430\u043d\u044b \u043f\u043e\u0441\u043b\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u043c\u043e\u0434\u0443\u043b\u044f \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f.<\/p>\n<p>  <\/p>\n<h1>\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u043c\u043e\u0434\u0443\u043b\u044f \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f \u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 FTP<\/h1>\n<p>  <a href=\"http:\/\/rutechnet.blob.core.windows.net\/files\/FTPAzurePack.zip\">\u0421\u043a\u0430\u0447\u0430\u0439\u0442\u0435<\/a> \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u043d\u044b\u0439 \u043a \u0441\u0442\u0430\u0442\u044c\u0435 \u0430\u0440\u0445\u0438\u0432 \u00abModule.zip\u00bb \u0438 \u0440\u0430\u0441\u043f\u0430\u043a\u0443\u0439\u0442\u0435 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0432 \u00abC:\\Module\u00bb). \u0417\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u0435 \u0438\u043d\u0442\u0435\u0440\u043f\u0440\u0435\u0442\u0430\u0442\u043e\u0440 cmd \u0441 \u043f\u0440\u0430\u0432\u0430\u043c\u0438 \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440\u0430. \u0412\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u0435 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b (\u0435\u0441\u043b\u0438 \u0412\u0430\u0448 FTP \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043f\u043e \u0434\u0440\u0443\u0433\u043e\u043c\u0443, \u0443\u043a\u0430\u0436\u0438\u0442\u0435 \u0435\u0433\u043e \u0438\u043c\u044f \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430):<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/6d7\/14f\/dc7\/6d714fdc7ee54afa98eb177cd7bfc0f6.png\"\/><\/p>\n<p>  \u041f\u043e\u043b\u0443\u0447\u0438\u0442\u0435 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0432\u044b\u0432\u043e\u0434:<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/095\/707\/c3b\/095707c3bb8442ee99e71e265a37b167.png\"\/><\/p>\n<p>  \u041f\u043e\u0441\u043b\u0435 \u044d\u0442\u043e\u0433\u043e \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0438\u0441\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u0444\u0430\u0439\u043b \u00abCustomFTPHomeDirectoryProvider.dll.config\u00bb, \u0443\u043a\u0430\u0437\u0430\u0432 \u0442\u0430\u043c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043a\u043b\u044e\u0447\u0435\u0439 \u00abauth\u00bb \u0438 \u00abroot\u00bb. \u041a\u043b\u044e\u0447 \u00abauth\u00bb \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 URL \u0441\u0430\u0439\u0442\u0430 TenantAuth, \u043a\u043b\u044e\u0447 \u00abroot\u00bb \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u043f\u0443\u0442\u044c \u043a \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0435 \u043f\u043e\u0434\u043f\u0438\u0441\u0447\u0438\u043a\u043e\u0432. \u041f\u0440\u0438\u043c\u0435\u0440:<\/p>\n<pre><code>&lt;configuration&gt;   &lt;appSettings&gt;     &lt;add key=&quot;auth&quot; value=&quot;https:\/\/auth.azureline.ru&quot; \/&gt;     &lt;add key=&quot;root&quot; value=&quot;C:\\ProgramData\\TenantsLibrary&quot; \/&gt;   &lt;\/appSettings&gt; &lt;\/configuration&gt; <\/code><\/pre>\n<p>  \u041f\u043e\u0441\u043b\u0435 \u044d\u0442\u043e\u0433\u043e \u0444\u0430\u0439\u043b \u00abCustomFTPHomeDirectoryProvider.dll.config\u00bb \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0441\u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043f\u043e \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u043e\u043c\u0443 \u043f\u0443\u0442\u0438 \u00abC:\\Windows\\Microsoft.NET\\assembly\\GAC_MSIL\\CustomFTPHomeDirectoryProvider\\v4.0_1.0.0.0__a8ad38bd3b2a69ea\u00bb.<\/p>\n<p>  <\/p>\n<h1>\u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043a<\/h1>\n<p>  \u041e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u043c \u043a\u043e\u043d\u0441\u043e\u043b\u044c IIS Management, \u0432\u044b\u0431\u0438\u0440\u0430\u0435\u043c FTP-\u0441\u0430\u0439\u0442, \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u043c \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0443 \u00abFTP Authentication\u00bb. \u0414\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u0432\u043a\u043b\u044e\u0447\u0435\u043d \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440 \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 \u00abCustomAuth\u00bb:<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/c9d\/c1b\/e01\/c9dc1be01d7d4f0d9151c716aba335fe.png\"\/><\/p>\n<p>  \u041e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u043c \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0443 \u00abFTP User Isolation\u00bb, \u0443\u0431\u0435\u0436\u0434\u0430\u0435\u043c\u0441\u044f, \u0447\u0442\u043e \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u043e \u00abCustom\u00bb:<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/dac\/a6c\/108\/daca6c108a954a3bb64afa0d30e6532d.png\"\/><\/p>\n<p>  \u0414\u0430\u043d\u043d\u0430\u044f \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u0443\u0440\u043e\u0432\u0435\u043d\u044c \u0438\u0437\u043e\u043b\u044f\u0446\u0438\u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f. \u041f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 \u043a\u0430\u0441\u0442\u043e\u043c\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440\u0430 \u043f\u043e\u0434\u043f\u0438\u0441\u0447\u0438\u043a \u00ab\u0437\u0430\u043f\u0438\u0440\u0430\u0435\u0442\u0441\u044f\u00bb \u0432 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u043c \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0435.<br \/>  \u0422\u0435\u043f\u0435\u0440\u044c \u0442\u0435\u0441\u0442\u0438\u0440\u0443\u0435\u043c. \u042f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b FTP-\u043a\u043b\u0438\u0435\u043d\u0442 \u0432\u0445\u043e\u0434\u044f\u0449\u0438\u0439 \u0432 FAR. \u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0435\u043c\u0441\u044f:<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/50e\/4f8\/5f2\/50e4f85f25904598905db7260101818f.png\"\/><\/p>\n<p>  \u0417\u0430\u043a\u0430\u0447\u0438\u0432\u0430\u0435\u043c \u0444\u0430\u0439\u043b:<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/a2c\/1e8\/e4d\/a2c1e8e4dd2f4d4fb3cb7a332ad3818a.png\"\/><\/p>\n<p>  \u041f\u043e\u0441\u043b\u0435 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 \u0432\u0438\u0434\u0438\u043c \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043d\u043d\u044b\u0439 \u0444\u0430\u0439\u043b:<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/f29\/e61\/93d\/f29e6193dbd647aaa6a323b667992765.png\"\/><\/p>\n<p>  \u041d\u0430 \u043f\u043e\u0440\u0442\u0430\u043b\u0435 Azure Pack \u044d\u0442\u043e\u0442 \u043e\u0431\u0440\u0430\u0437 \u0442\u0435\u043f\u0435\u0440\u044c \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c:<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/9ca\/a7b\/e37\/9caa7be3784c4f4fbd5f714de5cc1e79.png\"\/><\/p>\n<p>  \u0422\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c, \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0431\u0435\u0437 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u0443\u0441\u0438\u043b\u0438\u0439, \u043a\u0430\u043a \u0442\u043e, \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u0443\u0447\u0435\u0442\u043d\u044b\u0445 \u0437\u0430\u043f\u0438\u0441\u0435\u0439 \u0432 AD \u0434\u043b\u044f \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043a FTP, \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0430\u0441\u044c \u0443\u0434\u043e\u0431\u043d\u0430\u044f \u0434\u043b\u044f \u043f\u043e\u0434\u043f\u0438\u0441\u0447\u0438\u043a\u0430 \u0442\u043e\u0447\u043a\u0430 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 ISO- \u0438 VHD(X)-\u0444\u0430\u0439\u043b\u043e\u0432.<\/p>\n<p>  \u041c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u044b (\u0430\u0440\u0445\u0438\u0432\u044b \u0441 \u0433\u043e\u0442\u043e\u0432\u044b\u043c \u043c\u043e\u0434\u0443\u043b\u0435\u043c, \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u0430\u043c\u0438 \u0438 \u0440\u0430\u043d\u0431\u0443\u043a\u0430\u043c\u0438) \u043c\u043e\u0436\u043d\u043e \u0441\u043a\u0430\u0447\u0430\u0442\u044c \u043f\u043e <a href=\"http:\/\/rutechnet.blob.core.windows.net\/files\/FTPAzurePack.zip\">\u044d\u0442\u043e\u0439 \u0441\u0441\u044b\u043b\u043a\u0435<\/a>. \u041d\u0430 \u044d\u0442\u043e\u043c \u0432\u0441\u0435, \u0434\u043e \u043d\u043e\u0432\u044b\u0445 \u0432\u0441\u0442\u0440\u0435\u0447!               <\/p>\n<div class=\"clear\"><\/div>\n<p> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"http:\/\/habrahabr.ru\/post\/275555\/\"> http:\/\/habrahabr.ru\/post\/275555\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<br \/>\n<blockquote><p><i>\u0410\u0432\u0442\u043e\u0440 \u0441\u0442\u0430\u0442\u044c\u0438 \u2014 \u0421\u0435\u0440\u0433\u0435\u0439 \u0413\u0440\u0443\u0437\u0434\u043e\u0432 (egel@egel.su), \u0432\u0435\u0434\u0443\u0449\u0438\u0439 \u0438\u043d\u0436\u0435\u043d\u0435\u0440, Dataline<\/i><\/p><\/blockquote>\n<p>  Windows Azure Pack \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u043f\u043e\u0434\u043f\u0438\u0441\u0447\u0438\u043a\u0430\u043c \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0435 ISO- \u0438 VHD(X)-\u0444\u0430\u0439\u043b\u044b, \u0440\u0430\u0441\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u043d\u044b\u0435 \u0432 \u0432\u044b\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u0439 \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f \u043f\u043e\u0434\u043f\u0438\u0441\u0447\u0438\u043a\u0430 \u043f\u0430\u043f\u043a\u0435 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438. \u041d\u0430 \u0434\u0430\u043d\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u043c \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u043c \u0437\u0430\u043a\u0430\u0447\u043a\u0438 \u0444\u0430\u0439\u043b\u043e\u0432 \u0432 \u044d\u0442\u0443 \u043f\u0430\u043f\u043a\u0443 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u044f FTP \u0441 \u043a\u043e\u0440\u043d\u0435\u0432\u043e\u0439 \u043f\u0430\u043f\u043a\u043e\u0439, \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u044e\u0449\u0435\u0439 \u043d\u0430 \u043f\u0430\u043f\u043a\u0443 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438, \u0432\u044b\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u0439 \u043f\u043e\u0434\u043f\u0438\u0441\u0447\u0438\u043a\u0430\u043c. \u0412 \u0434\u0430\u043d\u043d\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u044f \u043f\u0440\u043e\u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0438\u0440\u0443\u044e, \u043a\u0430\u043a \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0440\u0430\u043d\u0431\u0443\u043a\u043e\u0432 (runbook) Service Manager Automation (SMA) \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0438 \u0443\u0434\u0430\u043b\u044f\u0442\u044c \u043f\u0430\u043f\u043a\u0438 \u043f\u043e\u0434\u043f\u0438\u0441\u0447\u0438\u043a\u043e\u0432 \u043f\u0440\u0438 \u0437\u0430\u0432\u0435\u0434\u0435\u043d\u0438\u0438 \u0438\u043b\u0438 \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f, \u0438 \u043a\u0430\u043a \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f Microsoft FTP \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u043c\u0438 \u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440\u0430\u043c\u0438 \u0430\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u0438 \u0438 \u0434\u043e\u043c\u0430\u0448\u043d\u0438\u0445 \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u043e\u0432 \u0430\u0432\u0442\u043e\u0440\u0438\u0437\u043e\u0432\u044b\u0432\u0430\u0442\u044c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u043d\u0435\u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0447\u0435\u0440\u0435\u0437 Azure Pack, \u0438\u0441\u043a\u043b\u044e\u0447\u0430\u044f \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u044c \u0434\u0443\u0431\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0443\u0447\u0435\u0442\u043d\u044b\u0435 \u0437\u0430\u043f\u0438\u0441\u0438 \u0432 Active Directory.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-272522","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/272522","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=272522"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/272522\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=272522"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=272522"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=272522"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}