我是Power Shell的新手,似乎无法正确理解此脚本。
$WshShell = New-Object -comObject WScript.Shell
$users = Get-Content '\\fssrv\homeshares$\fMunoz00\Desktop\users.txt'
$users1 = Get-Content '\\fssrv\homeshares$\fMunoz00\Desktop\users1.txt'
$Shortcut = $WshShell.CreateShortcut("\\Fssrv\homeshares$\$users1\$users.lnk")
$Shortcut.TargetPath = "\\asrv1\users\$users"
$Shortcut.Save()
每次进入“ users.txt”时,它都会尝试将其读取为完整文件。相反,我希望它读如下:
User1
User2
User3
我似乎无法解决这个问题。
重新编辑:
我想完成的事情:
我们从一台存储服务器转到了新的存储服务器。
从ASRV1到FSSRV
我想创建一个从asrv1到fssrv的快捷方式。随着升级,我们还将更改域并更改每个Windows用户名。
例如,我的用户名为fMunoz,并将其更改为fMunoz00。
我想使用所有旧的用户名从文本文件> users.txt中提取文件,并创建指向新用户名存储文件的快捷方式,这些用户名位于名为users1.txt的txt文件中。
Users1.txt
中人员的每个主目录中创建快捷方式>这意味着您将需要完成多个ForEach
循环才能循环浏览两个txt文件。
$WshShell = New-Object -comObject WScript.Shell
$users = Get-Content '\\fssrv\homeshares$\fMunoz00\Desktop\users.txt'
$users1 = Get-Content '\\fssrv\homeshares$\fMunoz00\Desktop\users1.txt'
# For every line in $users1, Do something
Foreach($User in $users1) {
# For every line in $users, Do something
Foreach($Name in $users) {
$Shortcut = $WshShell.CreateShortcut("\\Fssrv\homeshares$\$User\$Name.lnk")
$Shortcut.TargetPath = "\\asrv1\users\$Name"
$Shortcut.Save()
}
}