Enable File and Printer Sharing

Hello Everyone! I am trying to enable File and Printer Sharing via a fixlet. I have created the action in numerous ways such as dos, cmd /c, waithidden, using batch file, etc. All complete successfully but File and Printer sharing isn’t enabled. If I run the same commands local on the PC or via a batch file, it works fine. I tried using the RunAs option in the latest action to see if it was an issue with the SYSTEM account. Still no success. Has anyone tried enabling File and Printer Sharing and been successful? I would have to think this is a common task. Below is the latest action. Any help is appreciated.

action parameter query "username" with description "Please specify the name of a user in the form of DOMAIN\USER for domain accounts"

delete __appendfile
delete runquiet.bat
appendfile @ECHO OFF
appendfile SET PROFILES=Domain
appendfile netsh advfirewall firewall set rule name="File and Printer Sharing (NB-Session-In)" new enable=yes profile=%PROFILES%
appendfile netsh advfirewall firewall set rule name="File and Printer Sharing (NB-Session-Out)" new enable=yes profile=%PROFILES%
appendfile netsh advfirewall firewall set rule name="File and Printer Sharing (SMB-In)" new enable=yes profile=%PROFILES%
appendfile netsh advfirewall firewall set rule name="File and Printer Sharing (SMB-Out)" new enable=yes profile=%PROFILES%
appendfile netsh advfirewall firewall set rule name="File and Printer Sharing (NB-Name-In)" new enable=yes profile=%PROFILES%
appendfile netsh advfirewall firewall set rule name="File and Printer Sharing (NB-Name-Out)" new enable=yes profile=%PROFILES%
appendfile netsh advfirewall firewall set rule name="File and Printer Sharing (NB-Datagram-In)" new enable=yes profile=%PROFILES%
appendfile netsh advfirewall firewall set rule name="File and Printer Sharing (NB-Datagram-Out)" new enable=yes profile=%PROFILES%
appendfile netsh advfirewall firewall set rule name="File and Printer Sharing (Spooler Service - RPC)" new enable=yes profile=%PROFILES%
appendfile netsh advfirewall firewall set rule name="File and Printer Sharing (Spooler Service - RPC-EPMAP)" new enable=yes profile=%PROFILES%
appendfile netsh advfirewall firewall set rule name="File and Printer Sharing (Echo Request - ICMPv4-In)" new enable=yes profile=%PROFILES%
appendfile netsh advfirewall firewall set rule name="File and Printer Sharing (Echo Request - ICMPv4-Out)" new enable=yes profile=%PROFILES%
appendfile netsh advfirewall firewall set rule name="File and Printer Sharing (Echo Request - ICMPv6-In)" new enable=yes profile=%PROFILES%
appendfile netsh advfirewall firewall set rule name="File and Printer Sharing (Echo Request - ICMPv6-Out)" new enable=yes profile=%PROFILES%
appendfile netsh advfirewall firewall set rule name="File and Printer Sharing (LLMNR-UDP-In)" new enable=yes profile=%PROFILES%
appendfile netsh advfirewall firewall set rule name="File and Printer Sharing (LLMNR-UDP-Out)" new enable=yes profile=%PROFILES%
appendfile netsh advfirewall firewall set rule name="Network Discovery (UPnP-In)" new enable=yes profile=%PROFILES%
appendfile netsh advfirewall firewall set rule name="Network Discovery (UPnP-Out)" new enable=yes profile=%PROFILES%
appendfile netsh advfirewall firewall set rule name="Network Discovery (NB-Name-In)" new enable=yes profile=%PROFILES%
appendfile netsh advfirewall firewall set rule name="Network Discovery (NB-Name-Out)" new enable=yes profile=%PROFILES%
appendfile netsh advfirewall firewall set rule name="Network Discovery (NB-Datagram-In)" new enable=yes profile=%PROFILES%
appendfile netsh advfirewall firewall set rule name="Network Discovery (NB-Datagram-Out)" new enable=yes profile=%PROFILES%
appendfile netsh advfirewall firewall set rule name="Network Discovery (WSD EventsSecure-In)" new enable=yes profile=%PROFILES%
appendfile netsh advfirewall firewall set rule name="Network Discovery (WSD EventsSecure-Out)" new enable=yes profile=%PROFILES%
appendfile netsh advfirewall firewall set rule name="Network Discovery (WSD Events-In)" new enable=yes profile=%PROFILES%
appendfile netsh advfirewall firewall set rule name="Network Discovery (WSD Events-Out)" new enable=yes profile=%PROFILES%
appendfile netsh advfirewall firewall set rule name="Network Discovery (SSDP-In)" new enable=yes profile=%PROFILES%
appendfile netsh advfirewall firewall set rule name="Network Discovery (SSDP-Out)" new enable=yes profile=%PROFILES%
appendfile netsh advfirewall firewall set rule name="Network Discovery (UPnPHost-Out)" new enable=yes profile=%PROFILES%
appendfile netsh advfirewall firewall set rule name="Network Discovery (WSD-In)" new enable=yes profile=%PROFILES%
appendfile netsh advfirewall firewall set rule name="Network Discovery (WSD-Out)" new enable=yes profile=%PROFILES%
appendfile netsh advfirewall firewall set rule name="Network Discovery (LLMNR-UDP-In)" new enable=yes profile=%PROFILES%
appendfile netsh advfirewall firewall set rule name="Network Discovery (LLMNR-UDP-Out)" new enable=yes profile=%PROFILES%
appendfile netsh advfirewall firewall set rule name="Network Discovery (Pub-WSD-In)" new enable=yes profile=%PROFILES%
appendfile netsh advfirewall firewall set rule name="Network Discovery (Pub WSD-Out)" new enable=yes profile=%PROFILES%
move __appendfile runquiet.bat
override run
hidden=true
RunAs=localuser
AsAdmin=true
user={parameter "username" of action}
password=required
completion=job
run cmd /C runquiet.bat
delete runquiet.bat

It may be a matter of 32-bit redirection calling the 32-bit version of netsh.exe.

Try adding
action uses wow64 redirection false
Anywhere in the actionscript before the run statement.

I was hoping it was that easy. I just ran it and it still isn’t working. Thank you for the suggestion.

I meant to post this a while back in case anyone is interested. Below is the primary relevance used and action. I didn’t use the rule name because we have equipment in multiple languages which would not work. Instead I used the unique ID in the registry.

RELEVANCE

(value "FPS-ICMP4-ERQ-In" of key "HKLM\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\FirewallRules" of native registry as string contains "FALSE") OR (value "FPS-ICMP4-ERQ-Out" of key "HKLM\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\FirewallRules" of native registry as string contains "FALSE") OR (value "FPS-ICMP6-ERQ-In" of key "HKLM\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\FirewallRules" of native registry as string contains "FALSE") OR (value "FPS-ICMP6-ERQ-Out" of key "HKLM\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\FirewallRules" of native registry as string contains "FALSE") OR (value "FPS-LLMNR-In-UDP" of key "HKLM\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\FirewallRules" of native registry as string contains "FALSE") OR (value "FPS-LLMNR-Out-UDP" of key "HKLM\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\FirewallRules" of native registry as string contains "FALSE") OR (value "FPS-NB_Datagram-In-UDP" of key "HKLM\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\FirewallRules" of native registry as string contains "FALSE") OR (value "FPS-NB_Datagram-Out-UDP" of key "HKLM\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\FirewallRules" of native registry as string contains "FALSE") OR (value "FPS-NB_Name-In-UDP" of key "HKLM\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\FirewallRules" of native registry as string contains "FALSE") OR (value "FPS-NB_Name-Out-UDP" of key "HKLM\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\FirewallRules" of native registry as string contains "FALSE") OR (value "FPS-NB_Session-In-TCP" of key "HKLM\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\FirewallRules" of native registry as string contains "FALSE") OR (value "FPS-NB_Session-Out-TCP" of key "HKLM\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\FirewallRules" of native registry as string contains "FALSE") OR (value "FPS-RPCSS-In-TCP" of key "HKLM\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\FirewallRules" of native registry as string contains "FALSE") OR (value "FPS-SMB-In-TCP" of key "HKLM\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\FirewallRules" of native registry as string contains "FALSE") OR (value "FPS-SMB-Out-TCP" of key "HKLM\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\FirewallRules" of native registry as string contains "FALSE") OR (value "FPS-SpoolSvc-In-TCP" of key "HKLM\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\FirewallRules" of native registry as string contains "FALSE") OR (value "NETDIS-DAS-In-UDP" of key "HKLM\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\FirewallRules" of native registry as string contains "FALSE") OR (value "NETDIS-FDPHOST-In-UDP" of key "HKLM\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\FirewallRules" of native registry as string contains "FALSE") OR (value "NETDIS-FDPHOST-Out-UDP" of key "HKLM\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\FirewallRules" of native registry as string contains "FALSE") OR (value "NETDIS-FDRESPUB-WSD-In-UDP" of key "HKLM\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\FirewallRules" of native registry as string contains "FALSE") OR (value "NETDIS-FDRESPUB-WSD-Out-UDP" of key "HKLM\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\FirewallRules" of native registry as string contains "FALSE") OR (value "NETDIS-LLMNR-In-UDP" of key "HKLM\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\FirewallRules" of native registry as string contains "FALSE") OR (value "NETDIS-LLMNR-Out-UDP" of key "HKLM\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\FirewallRules" of native registry as string contains "FALSE") OR (value "NETDIS-NB_Datagram-In-UDP" of key "HKLM\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\FirewallRules" of native registry as string contains "FALSE") OR (value "NETDIS-NB_Datagram-Out-UDP" of key "HKLM\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\FirewallRules" of native registry as string contains "FALSE") OR (value "NETDIS-NB_Name-In-UDP" of key "HKLM\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\FirewallRules" of native registry as string contains "FALSE") OR (value "NETDIS-NB_Name-Out-UDP" of key "HKLM\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\FirewallRules" of native registry as string contains "FALSE") OR (value "NETDIS-SSDPSrv-In-UDP" of key "HKLM\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\FirewallRules" of native registry as string contains "FALSE") OR (value "NETDIS-SSDPSrv-Out-UDP" of key "HKLM\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\FirewallRules" of native registry as string contains "FALSE") OR (value "NETDIS-UPnPHost-In-TCP" of key "HKLM\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\FirewallRules" of native registry as string contains "FALSE") OR (value "NETDIS-UPnPHost-Out-TCP" of key "HKLM\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\FirewallRules" of native registry as string contains "FALSE") OR (value "NETDIS-UPnP-Out-TCP" of key "HKLM\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\FirewallRules" of native registry as string contains "FALSE") OR (value "NETDIS-WSDEVNT-In-TCP" of key "HKLM\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\FirewallRules" of native registry as string contains "FALSE") OR (value "NETDIS-WSDEVNT-Out-TCP" of key "HKLM\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\FirewallRules" of native registry as string contains "FALSE") OR (value "NETDIS-WSDEVNTS-In-TCP" of key "HKLM\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\FirewallRules" of native registry as string contains "FALSE") OR (value "NETDIS-WSDEVNTS-Out-TCP" of key "HKLM\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\FirewallRules" of native registry as string contains "FALSE")

ACTION

// Remove any existing output files
delete __createfile
delete runquiet.bat

// Create a batch file to modify firewall
createfile until ##END##
netsh advfirewall firewall set rule name="@FirewallAPI.dll,-28543" new enable=yes profile=domain
netsh advfirewall firewall set rule name="@FirewallAPI.dll,-28544" new enable=yes profile=domain
netsh advfirewall firewall set rule name="@FirewallAPI.dll,-28545" new enable=yes profile=domain
netsh advfirewall firewall set rule name="@FirewallAPI.dll,-28546" new enable=yes profile=domain
netsh advfirewall firewall set rule name="@FirewallAPI.dll,-28548" new enable=yes profile=domain
netsh advfirewall firewall set rule name="@FirewallAPI.dll,-28550" new enable=yes profile=domain
netsh advfirewall firewall set rule name="@FirewallAPI.dll,-28527" new enable=yes profile=domain
netsh advfirewall firewall set rule name="@FirewallAPI.dll,-28531" new enable=yes profile=domain
netsh advfirewall firewall set rule name="@FirewallAPI.dll,-28519" new enable=yes profile=domain
netsh advfirewall firewall set rule name="@FirewallAPI.dll,-28523" new enable=yes profile=domain
netsh advfirewall firewall set rule name="@FirewallAPI.dll,-28503" new enable=yes profile=domain
netsh advfirewall firewall set rule name="@FirewallAPI.dll,-28507" new enable=yes profile=domain
netsh advfirewall firewall set rule name="@FirewallAPI.dll,-28539" new enable=yes profile=domain
netsh advfirewall firewall set rule name="@FirewallAPI.dll,-28511" new enable=yes profile=domain
netsh advfirewall firewall set rule name="@FirewallAPI.dll,-28515" new enable=yes profile=domain
netsh advfirewall firewall set rule name="@FirewallAPI.dll,-28535" new enable=yes profile=domain
netsh advfirewall firewall set rule name="@FirewallAPI.dll,-32825" new enable=yes profile=domain
netsh advfirewall firewall set rule name="@FirewallAPI.dll,-32785" new enable=yes profile=domain
netsh advfirewall firewall set rule name="@FirewallAPI.dll,-32789" new enable=yes profile=domain
netsh advfirewall firewall set rule name="@FirewallAPI.dll,-32809" new enable=yes profile=domain
netsh advfirewall firewall set rule name="@FirewallAPI.dll,-32811" new enable=yes profile=domain
netsh advfirewall firewall set rule name="@FirewallAPI.dll,-32801" new enable=yes profile=domain
netsh advfirewall firewall set rule name="@FirewallAPI.dll,-32805" new enable=yes profile=domain
netsh advfirewall firewall set rule name="@FirewallAPI.dll,-32777" new enable=yes profile=domain
netsh advfirewall firewall set rule name="@FirewallAPI.dll,-32781" new enable=yes profile=domain
netsh advfirewall firewall set rule name="@FirewallAPI.dll,-32769" new enable=yes profile=domain
netsh advfirewall firewall set rule name="@FirewallAPI.dll,-32773" new enable=yes profile=domain
netsh advfirewall firewall set rule name="@FirewallAPI.dll,-32753" new enable=yes profile=domain
netsh advfirewall firewall set rule name="@FirewallAPI.dll,-32757" new enable=yes profile=domain
netsh advfirewall firewall set rule name="@FirewallAPI.dll,-32761" new enable=yes profile=domain
netsh advfirewall firewall set rule name="@FirewallAPI.dll,-32765" new enable=yes profile=domain
netsh advfirewall firewall set rule name="@FirewallAPI.dll,-32821" new enable=yes profile=domain
netsh advfirewall firewall set rule name="@FirewallAPI.dll,-32817" new enable=yes profile=domain
netsh advfirewall firewall set rule name="@FirewallAPI.dll,-32819" new enable=yes profile=domain
netsh advfirewall firewall set rule name="@FirewallAPI.dll,-32813" new enable=yes profile=domain
netsh advfirewall firewall set rule name="@FirewallAPI.dll,-32815" new enable=yes profile=domain
##END##

move __createfile runquiet.bat

// Execute the script
wait "runquiet.bat"
2 Likes