Файл копии к удаленному компьютеру с помощью удаленных администраторских учетных данных

У нас есть тот же сценарий, где playbooks разделяют роли.

Мы рассмотрели:

  • теги
  • субмодулей (Yikes)
  • подпунктов

В конце мы пошли для ни то, ни другое: каждая ваша книга включает в себя roles/ символическую ссылку на родительскую папку всех наших ролей.
Таким образом, книга воспроизведения всегда ссылается на последнюю версию (в настоящее время проверенную) роли.

Ансибл продолжает ссылаться на определенный SHA1 пьесы, но консенсус остается: всегда используйте самую последнюю из ролей. Без управления какими-либо конкретными ссылками на Git (когда речь идет о репозиториях Git для каждой роли)

11
задан Casey Gay 19 April 2009 в 20:25
поделиться

2 ответа

Поправьте меня, если я не прав, но вы можете использовать LogonUser для олицетворения локальной группы также не только доменные учетные записи.

Из сети:

Imports System 
Imports System.Runtime.InteropServices 
Imports System.Security.Principal 
Imports System.Security.Permissions 
Public Class Form1 
    <DllImport("advapi32.DLL", SetLastError:=True)> _ 
    Public Shared Function LogonUser(ByVal lpszUsername As String, ByVal lpszDomain As String, _ 
        ByVal lpszPassword As String, ByVal dwLogonType As Integer, ByVal dwLogonProvider As Integer, _ 
        ByRef phToken As IntPtr) As Integer 
    End Function 
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 
        Dim admin_token As IntPtr 
        Dim wid_current As WindowsIdentity = WindowsIdentity.GetCurrent() 
        Dim wid_admin As WindowsIdentity = Nothing 
        Dim wic As WindowsImpersonationContext = Nothing 
        Try 
            MessageBox.Show("Copying file...") 
            If LogonUser("Local Admin name", "Local computer name", "pwd", 9, 0, admin_token) <> 0 Then 
                wid_admin = New WindowsIdentity(admin_token) 
                wic = wid_admin.Impersonate() 
                System.IO.File.Copy("C:\right.bmp", "\\157.60.113.28\testnew\right.bmp", True) 
                MessageBox.Show("Copy succeeded") 
            Else 
                MessageBox.Show("Copy Failed") 
            End If 
        Catch se As System.Exception 
            Dim ret As Integer = Marshal.GetLastWin32Error() 
            MessageBox.Show(ret.ToString(), "Error code: " + ret.ToString()) 
            MessageBox.Show(se.Message) 
        Finally 
            If wic IsNot Nothing Then 
                wic.Undo() 
            End If 
        End Try 
    End Sub 
End Class 
7
ответ дан 3 December 2019 в 10:26
поделиться

WNetAddConnection2 добьется цели. Просто используйте пустую строку для имени локального устройства, чтобы избежать сопоставления диска. Вы также хотите убедиться и закрыть соединение , когда закончите. Я обернул его в класс NetworkConnection, который реализует IDisposable.

2
ответ дан 3 December 2019 в 10:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: