PowerShell脚本,用于将两个文件从静态位置复制到in路径中包含两个变量的位置

时间:2013-06-10 13:30:45

标签: powershell

我正在寻找一个PowerShell脚本,将一些文件从静态位置复制到路径中有两个变量的位置

示例

我需要将这两个文件复制到许多计算机(笔记本电脑/ PC)上存在的每个配置文件的以下位置。最终的计划是通过组策略将该脚本发送到需要它的每台机器上

C:\Users\%username%\AppData\Local\Microsoft\Communicator\$sip_user@domain.net$

%username%$sip_user@domain.net$对每个用户都是唯一的

提前感谢您的帮助(我正在努力解决这个问题)

1 个答案:

答案 0 :(得分:0)

首先创建具有如下结构的CSV(users.csv):

Name,Sip
login1,login1@gmail.com

运行以下声明:

Import-Csv C:\PATH_TO_CSV\users.csv | foreach{cp C:\YOUR_PATH\YOUR_FILE ("C:\Users\"+$_.Name+"\AppData\Local\Microsoft\Communicator\"+$_.Sip)}\

更新 为当前用户运行的脚本:

$userName = [Environment]::UserName;
$domain = [Environment]::UserDomainName;

# Look for a user
$Rech = new-object System.DirectoryServices.DirectorySearcher
$rc = $Rech.filter = "((sAMAccountName=$userName))"
$rc = $Rech.SearchScope = "subtree"
$rc = $Rech.PropertiesToLoad.Add("mail");
$rc = $Rech.PropertiesToLoad.Add("msRTCSIP-PrimaryUserAddress");
$theUser = $Rech.FindOne()

Write-host "Username is" $userName
Write-host "Domain is" $domain
if ($theUser -ne $null)
{
  Write-Host "Mail is" $theUser.Properties["mail"]
  Write-Host "SIP is" $theUser.Properties["msRTCSIP-PrimaryUserAddress"]
}