我正在编写一个在另一台服务器上使用 get-childitem 的脚本,但需要对其进行更改,以便它使用另一台服务器上本地帐户的凭据来执行此操作。当我只是使用 Active Directory 来执行此操作时,我正在使用我的 AD 登录名将任务保存在我们的调度程序中,并且使用 UNC 路径在另一台服务器上很好。但是我们最近决定将其更改为本地登录,我收到一条错误消息,尝试使用 net use。有谁知道用 UNC 路径来做这件事的好方法?或者,知道为什么以下内容会给出错误消息吗?
function GetSecureLogin(){
$global:username = "stuff"
$global:password = get-content C:\filename.txt | convertto-securestring
}
function Cleanup([string]$Drive) {
try {
$deleteTime = -42
$now = Get-Date
**#this is saying cannot find path '\\name.na.xxx.net\20xServerBackup\V' name truncated**
Get-ChildItem -Path $Drive -Recurse -Force |Where-Object {$_.LastWriteTime -lt $limit} | Remove-Item -Force
}
Catch{
Write-Host "Failed"
}
}
#####################start of script####################
$share = '\\name.na.xxx.net\20xServerBackup\'
$TheDrive = '\\name.na.xxx.net\20xServerBackup\VMs\'
$global:password = ""
$global:username = ""
GetSecureLogin
net use $share $global:password /USER:$global:username
[array]$DriveArray = @(TheDrive)
try{
$i=0
for ($i = $DriveArray.GetLowerBound(0); $i -le $DriveArray.GetUpperBound(); $i++) {
$tempDrv = $DriveArray[$i]
Cleanup $tempDrv
}
}
catch [Exception] {
Write-Host $_.Exception.Message
}
如您所见,我开始在此链接上使用 net use 的示例,但使用凭据访问其他服务器并没有起到作用。powershell unc路径信用