0

いくつかのファイルを静的な場所からパスに 2 つの変数がある場所にコピーする PowerShell スクリプトを探しています

多くのマシン (ラップトップ/PC) に存在するプロファイルごとに、次の場所に 2 つのファイルをコピーする必要があります。最終的な計画は、グループ ポリシーを介して、このスクリプトを必要とするすべてのマシンにロールアウトすることです。

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

%username%各ユーザーに$sip_user@domain.net$固有です

助けてくれてありがとう(私はこれに苦労しています)

砂の

4

1 に答える 1

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"]
}
于 2013-06-10T14:31:41.803 に答える