2013-06-24 28 views
1

我只是一名初級程序員,剛開始使用編程,因爲我的工作要求我創建一些方便的PowerShell腳本我想知道如果你能幫助我一個特別的一個。創建powershell腳本以在桌面上啓用顯示+使用主機名重命名

我們有很多有很多服務器的客戶。當他們新安裝時,我會檢查他們,之後我們會定期進行維護。由於每個客戶都有多個角色不同的服務器,因此我想在桌面上安裝「計算機」圖標。 我能做到這一點通過點擊開始 - >右擊計算機 - >啓用「顯示在桌面上」 Furtheron我想有更名爲主機名該計算機圖標(因爲主機名告訴我,在域中它的作用)

現在我的目標是創建一個PowerShell腳本,爲域中的所有服務器創建帶有主機名的計算機圖標。

我試着我的方式搜索到通常的搜索引擎以及與此想出了:

1)用註冊表編輯器[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}重命名LocalizedString定位到LocalizedString.Old 2)現在切換到的Regedit32創建一個新的價值鍵入Expand_SZ的名稱它LocalizedString在XP和Windows 2000與SP3取代LocalizedString與%Username% at %Computername%

這是不適合,因爲我們使用W2K8R2SP1服務器。 之後,我結束了與此腳本:

$ComputerName = "Localhost" 
$Hive = "CurrentUser" 
$Key = "Software\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\NewStartPanel" 
$MyComputer = "{20D04FE0-3AEA-1069-A2D8-08002B30309D}" 
$UserFiles = "{59031a47-3f72-44a7-89c5-5595fe6b30ee}" 
$Kind = [Microsoft.Win32.RegistryValueKind] 
$RegHive = [Microsoft.Win32.RegistryHive]$hive 
$RegKey = [Microsoft.Win32.RegistryKey]::OpenRemoteBaseKey($RegHive,$ComputerName) 
$MyComputerValue = ($RegKey.OpenSubKey($Key)).GetValue($MyComputer) 
$UserFilesValue = ($RegKey.OpenSubKey($Key)).GetValue($UserFiles) 
if ($MyComputerValue -eq $null -or $MyComputerValue -eq 0) 
{ 
    $Computer = $regKey.OpenSubKey($RootKey,$true) 
    $Computer.SetValue($MyComputer, 1,$Kind::DWord) 
} 
if ($UserFilesValue -eq $null -or $UserFilesValue -eq 0) 
{ 
    $User = $regKey.OpenSubKey($RootKey,$true) 
    $User.SetValue($UserFiles, 1,$Kind::DWord) 
} 

這似乎並沒有在所有做任何事情。

我知道這個註冊表鍵用於在臺式電腦:

「{20D04FE0-3AEA-1069-A2D8-08002B30309D}」=dword:00000000 

續搜索... 所以我發現這一點:

To show the ‘My Computer’ icon on the desk"text-decoration:underline;"> 
[HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\NewStartPanel] 
Name = {20D04FE0-3AEA-1069-A2D8-08002B30309D} 
Type =REG_DWORD 
Value = 0 
To change the ‘My Computer’ icon to computer or user name: 
[HKCR\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}] 
Name = LocalizedString 
Type = REG_EXPAND_SZ 
Data value = %computername% or any combination you like – eg %username% %computername% 

但是第二部分一直給我一個錯誤,即使我可以得到它的工作,我想運行腳本onces和域中的所有服務器應該有此更新。

感謝您的幫助。

最好的問候,

尼克

回答

0

更改HKCR\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\LocalizedString仍然適合於服務器2008 R2,但你需要考慮的關鍵,並授予管理員完全訪問所有權轉讓給其第一。

相關問題