0

Powershell スクリプトを使用して、シリアル番号に基づいてコンピューターの名前を変更しようとしています。

これまでのところ、Set-ExecutionPolicy -Unrestricted $name = (Get-WmiObject win32_bios).SerialNumber.Trim() Rename-Computer -NewName $name -DomainCredential \

イメージするシステムが数千あるので、これを要求したくありません。名前の変更をサイレント モードで行い、MDT 2012 Update 1 が再起動するようにしたいのです。

私は PowerShell とスクリプティングに関しては初心者であり、これを理解するために 1 週​​間の大半を費やしてきました。名前の変更を問題なくローカルで機能させることができますが、静かにそれを行う助けが得られることを願っています.

私の質問は、ワークステーションでパスワードを入力する必要がないように、powershell スクリプトにパスワードを入力するにはどうすればよいかということだと思います。

4

2 に答える 2

1

少し遅れましたが、MDT を使用しているため、タスク シーケンス ルールで OSDComputerName=%serialnumber% を実行できませんでしたか?

タスク シーケンスを実行すると、コンピューター名がそのシリアル番号に設定されます。OSDComputerName=WS%SerialNumber% のようなプレフィックスまたはサフィックスがある場合

于 2014-05-15T00:56:57.233 に答える
0

Get-WmiObject同じコマンド let を使用して、以下のように変数に保存されたパスワードを渡すことができます

(Get-WmiObject win32_computersystem).Rename( $NewName,$passwd,'domain\username')

パスワードを変数に保存するには、次のようなことができます

$key = 1..32 | ForEach-Object { Get-Random -Maximum 256 }
$passwd = Read-Host "Enter password" -AsSecureString
$encpwd = ConvertFrom-SecureString $passwd -Key $key
$encpwd

この例は、この投稿から取得したものです how to pass credentials to rename command?

この投稿を読んでください。パスワードを保存する安全な方法と安全でない方法の両方を詳細に説明しています。

于 2014-05-05T22:02:36.040 に答える