Wie testen Sie das Schreiben in einen Dateifreigabepfad mithilfe von Anmeldeinformationen?

7

Ich habe ein Array von Credential -Objekten und möchte testen, dass diese Credentials über Berechtigungen zum Schreiben einer Datei in eine Dateifreigabe verfügen.

Ich wollte etwas wie

machen %Vor%

aber dann entdeckte ich, dass Out-File nicht Credential als Parameter benötigt. Was ist der beste Weg, um das zu lösen?

    
Mark Allison 24.01.2014, 14:27
quelle

6 Antworten

4

Sie können New-PSDrive verwenden:

%Vor%     
mjolinor 24.01.2014, 14:40
quelle
5

Hier ist eine Situation, in der eine alte exe (net.exe) besser funktioniert als Powershell ... Ich denke, Sie könnten versuchen, ein Netzlaufwerk mit den angegebenen Anmeldeinformationen zuzuordnen, dann testen, um eine Datei auf dieses Laufwerk zu schreiben:

%Vor%     
Loïc MICHEL 31.01.2014 13:17
quelle
4

Verwenden Sie dieses Skript aus dem TechNet Script Center von Microsoft: Ссылка

Es ist viel einfacher zu ändern, um Ihre Bedürfnisse zu erfüllen, als komplett von vorne anzufangen. Öffnen Sie ListSharedFolderPermissions.ps1 und suchen Sie die drei $Properties vars. Fügen Sie oben eine Zeile hinzu, so dass Sie sehen können, welchen Benutzer Sie ansehen. Daher sollte es jetzt so aussehen:

%Vor%

Fügen Sie als nächstes Ihre neue Username-Eigenschaft zur Select-Objekt-Zeile hinzu (3-mal):

%Vor%

Sobald Sie diese kleinen Teile an den sechs geeigneten Stellen hinzugefügt haben, ist Ihr Skript bereit zu verwenden:

%Vor%     
Cole9350 31.01.2014 15:19
quelle
3

Versuchen Sie es mit der Funktion Invoke-Command . Es benötigt ein Berechtigungsobjekt und ermöglicht Ihnen, einen beliebigen Skriptblock unter diesem Befehl auszuführen. Sie können das verwenden, um das Schreiben der Datei zu testen

%Vor%     
JaredPar 24.01.2014 14:35
quelle
3

Ich denke, der Invoke-command -Ansatz sollte funktionieren. Wenn nichts funktioniert, können Sie das Powershell-Identitätswechselmodul ausprobieren. Es nimmt erfolgreich einen Benutzer für die meisten Powershell-Befehle an, ohne den Schalter -Credential .

    
Ayan Mullick 01.02.2014 22:40
quelle
3

Ein paar Ideen:

  • Erstellen Sie Ihren eigenen PowerShell-Anbieter
  • Nehmen Sie die Identität eines Benutzers an und schreiben Sie dann in die Freigabe (nicht sicher, ob dies in der Powershell möglich ist)
  • Verwenden Sie net use d:... als @Kayasax hat vorgeschlagen
  • Verwenden Sie WScript.Network

Ich bin sehr an dem PowerShell-Anbieter selbst interessiert, aber ich habe beschlossen, etwas wirklich schnell zu machen, also ging ich mit der WScript.Network-Bibliothek. Ich habe eine Hash-Tabelle verwendet, um zu verfolgen, ob ein Benutzer "authentifiziert" werden würde oder nicht.

%Vor%     
nickptrvc 04.02.2014 02:52
quelle

Tags und Links