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?
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%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:
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% 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
.
Ein paar Ideen:
net use d:...
als @Kayasax hat vorgeschlagen 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%Tags und Links powershell powershell-v2.0